当前位置: 首页>>代码示例>>C#>>正文


C# Query.Clear方法代码示例

本文整理汇总了C#中Query.Clear方法的典型用法代码示例。如果您正苦于以下问题:C# Query.Clear方法的具体用法?C# Query.Clear怎么用?C# Query.Clear使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Query的用法示例。


在下文中一共展示了Query.Clear方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: TestOr_2

        public void TestOr_2() {
            //创建第二个查询对象
            Query<Customer, int> query2 = new Query<Customer, int>();
            query2.Filter( t => t.EnglishName == "B" ).Filter( t => t.Age == 20 );

            //添加条件
            _query.Filter( t => t.Name == "A" ).Or( query2 );

            //清空并添加一个条件,用And操作合并
            query2.Clear();
            query2.Filter( t => t.Age == 10 );
            _query.And( query2 );

            //验证
            List<Customer> customers = _query.GetList( _customerRepository.Find() );
            Assert.AreEqual( 1, customers.Count );
        }
开发者ID:NetUtil,项目名称:Util,代码行数:17,代码来源:OrTest.cs

示例2: IsResidente

        /// <summary>
        /// Consente di individuare se il condomino è residente confrontando l'indirizzo della persona con quello del condominio
        /// </summary>
        /// <remarks>Per stabilire se gli indirizzi corrispondono viene usato un componente di terze parti <see cref="http://www.shuffletext.com/Default.aspx"/></remarks>
        /// <param name="soggetto">Condomino</param>
        /// <returns>Ritorna true se è residente altrimenti false</returns>
        public bool IsResidente(SoggettoCondominio soggetto)
        {
            if (soggetto != null && soggetto.IsResidente == null && soggetto.UnitaImmobiliare != null && soggetto.UnitaImmobiliare.GruppoStabileRiferimento != null && soggetto.Persona != null && soggetto.Persona.IndirizzoResidenza != null && !string.IsNullOrEmpty(soggetto.Persona.IndirizzoResidenza.Indirizzo))
            {
                try
                {
                    var condominio = soggetto.UnitaImmobiliare.GruppoStabileRiferimento.PalazzinaRiferimento.CondominioRiferimento;

                    if (condominio.Indirizzo != null)
                    {
                        var person = new SearchableDictionary<int>();
                        var fuzzy = new FuzzySearch<int>();
                        var query = new Query(QuerySearchOption.And, new NameSynonymThesaurusReader(), 0.75);
                        var scope = new IntellisenseScope<int>();

                        var persona = soggetto.Persona;

                        var indirizzoSoggetto = persona.IndirizzoResidenza.GetIndirizzoCompleto();
                        var indirizzoCondominio = condominio.Indirizzo.GetIndirizzoCompleto();

                        if (!string.IsNullOrEmpty(indirizzoSoggetto) && !string.IsNullOrEmpty(indirizzoCondominio))
                        {
                            person.Add(persona.ID, string.Format("{0}", indirizzoSoggetto));
                            fuzzy.Add(persona.ID, "Indirizzo", indirizzoSoggetto);

                            query.Clear();
                            query.CreateSearchTerm("Indirizzo", indirizzoCondominio, 0.20, true);

                            var fuzzyResult = fuzzy.Search(query, scope, 1);
                            return fuzzyResult.Count > 0 && fuzzyResult[0].Rank > 1;
                        }

                        return true;
                    }

                }
                catch (Exception ex)
                {
                    
                    _log.Warn("Errore inaspettato durante il set di residente - " + Library.Utility.GetMethodDescription(), ex);
                    return false;
                }
            }

            return false;
        }
开发者ID:gipasoft,项目名称:Sfera,代码行数:52,代码来源:SoggettoService.cs

示例3: RicercaPersone

        public void RicercaPersone()
        {
            var info = new Gipasoft.Business.Sfera.Repository.UserInfo {Azienda = Login.Instance.CurrentLogin().Azienda};
            var soggetti = SferaServiceProxy.Instance.CurrentService().GetSoggettiCondominioByCondominio(119, info);

            var person = new SearchableDictionary<int>();
            var fuzzy = new FuzzySearch<int>();
            var query = new Query(QuerySearchOption.And, new NameSynonymThesaurusReader(), 0.75);
            var scope = new IntellisenseScope<int>();

            var dict = new Dictionary<int, PersonaDTO>();
            foreach (var soggetto in soggetti.Distinct())
            {
                var persona = SferaServiceProxy.Instance.CurrentService().GetPersonaByID(soggetto.IdPersona, info);
                if (!dict.ContainsKey(persona.ID))
                {
                    person.Add(persona.ID,
                               String.Format("{0} {1} {2}", persona.IndirizzoResidenza.Indirizzo,
                                             persona.IndirizzoResidenza.DescrizioneComune,
                                             persona.IndirizzoResidenza.Civico));
                    fuzzy.Add(persona.ID, "Via", persona.IndirizzoResidenza.Indirizzo);
                    fuzzy.Add(persona.ID, "Comune", persona.IndirizzoResidenza.DescrizioneComune);
                    fuzzy.Add(persona.ID, "Civico", persona.IndirizzoResidenza.Civico);

                    dict.Add(persona.ID, persona);
                }
            }

            query.Clear();

            var condominio = SferaServiceProxy.Instance.CurrentService().GetCondominioById(119, true, false, info);

            query.CreateSearchTerm("Via", condominio.Indirizzo.Indirizzo, 0.20, true);
            query.CreateSearchTerm("Comune", condominio.Indirizzo.DescrizioneComune);
            query.CreateSearchTerm("Civico", condominio.Indirizzo.Civico);

            var fuzzyResult = fuzzy.Search(query, scope, dict.Count);

            foreach (var searchResult in fuzzyResult)
            {
                var split = person[searchResult.Key].Split(new[] { ' ' });
                var via = split[0];
//                table.Rows.Add(new object[] { searchResult.Rank, searchResult.Key, split[0], split[1], split[2] });
            }
        }
开发者ID:gipasoft,项目名称:Sfera,代码行数:45,代码来源:UTSfera.cs

示例4: TestClear

        public void TestClear() {
            //给第一个查询对象添加条件
            _query.Filter( t => t.Name == "A" );

            //创建第2个查询对象
            Query<Customer, int> query2 = new Query<Customer, int>();
            query2.Filter( t => t.Age == 1 );

            //或操作合并查询对象
            _query.Or( query2 );

            //清空第2个查询对象,再添加条件
            query2.Clear();
            query2.Filter( t => t.Name == "C" );

            //与操作合并查询对象
            _query.And( query2 );

            //验证
            Expression<Func<Customer, bool>> expected = t => ( t.Name == "A"|| t.Age == 1 ) && t.Name == "C";
            Assert.AreEqual( expected.ToString(), _query.GetPredicate().ToString() );
        }
开发者ID:NetUtil,项目名称:Util,代码行数:22,代码来源:QueryTest.cs


注:本文中的Query.Clear方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。