Example #1
0
        public IList <CurrencyRate> GetCurrencyRateFilteredList(object state, Utils.ParameterString parameterString, bool ignoreDeletedRows = true)
        {
            ReadState(state);

            var crit = Query <CurrencyRate>(); //Создаем критерий

            var ps = new ParameterString(filter);

            filter = "";

            if (ps["Date"] != null)
            {
                var      dates = (ps["Date"].Value as string).Split('-');
                DateTime?date1 = null;
                if (dates[0].Length > 0)
                {
                    date1 = ValidationUtils.TryGetDate(dates[0]);
                    date1 = date1.Value.SetHoursMinutesAndSeconds(0, 0, 0);
                }
                DateTime?date2 = null;
                if (dates[1].Length > 0)
                {
                    date2 = ValidationUtils.TryGetDate(dates[1]);
                    date2 = date2.Value.SetHoursMinutesAndSeconds(23, 59, 59);
                }

                // Фильтруем записи
                if (date1 != null && date2 != null)
                {
                    crit.Where(x => (x.StartDate >= date1 && x.StartDate <= date2) || (x.EndDate >= date1 && x.EndDate <= date2));
                }
                else if (date1 != null && date2 == null)
                {
                    crit.Where(x => x.StartDate >= date1 || x.EndDate >= date1);
                }
                else if (date1 == null && date2 != null)
                {
                    crit.Where(x => x.StartDate <= date2 || (x.EndDate <= date2 && x.EndDate != null));
                }
            }

            parameterString.Delete("Date");
            this.parameterString = parameterString;
            CreateFilter(crit);

            int totalRowCount = crit.CountDistinct();

            WriteTotalRowCount(state, totalRowCount);                                    //Записываем общее кол-во строк

            SortByCriteria(crit, sort);                                                  //Сортируем выборку

            state.GetType().GetMethod("CheckAndCorrectCurrentPage").Invoke(state, null); //приводит текущую страницу к корректному значению
            currentPage = (int)state.GetType().GetProperty("CurrentPage").GetValue(state, null);

            crit.SetFirstResult((currentPage - 1) * pageSize).SetMaxResults(pageSize);

            this.parameterString = null;

            return(crit.ToList <CurrencyRate>());
        }
Example #2
0
 public IList <RussianBank> GetFilteredList(object state, Utils.ParameterString parameterString, bool ignoreDeletedRows = true)
 {
     return(base.GetBaseFilteredList <RussianBank>(state, parameterString, ignoreDeletedRows));
 }
Example #3
0
 public IList <ForeignBank> GetFilteredList(object state, Utils.ParameterString parameterString, bool ignoreDeletedRows = true)
 {
     return(foreignBankRepository.GetFilteredList(state, parameterString, ignoreDeletedRows));
 }
Example #4
0
        /// <summary>
        /// Определяем собственный метод фильтрации организаций контрагента
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="criteria"></param>
        protected override void CreateFilter <T>(Infrastructure.Repositories.Criteria.ICriteria <T> criteria)
        {
            Infrastructure.Repositories.Criteria.ICriteria <ClientOrganization> query = (Infrastructure.Repositories.Criteria.ICriteria <ClientOrganization>)criteria;

            if (parameterString != null)
            {
                parameterString.MergeWith(new Utils.ParameterString(filter));
            }
            else
            {
                parameterString = new Utils.ParameterString(filter);
            }

            var jQuery = SubQuery <JuridicalPerson>().Select(x => x.Id);
            var pQuery = SubQuery <PhysicalPerson>().Select(x => x.Id);

            if (parameterString["INN"] != null && parameterString["INN"].Value != null)
            {
                var str = parameterString["INN"].Value is IList <string>?(parameterString["INN"].Value as IList <string>)[0] : parameterString["INN"].Value as string;

                jQuery.Where(x => x.INN == str);
                pQuery.Where(x => x.INN == str);
            }
            parameterString.Delete("INN");

            if (parameterString["Address"] != null && parameterString["Address"].Value != null)
            {
                var str = parameterString["Address"].Value is IList <string>?(parameterString["Address"].Value as IList <string>)[0] : parameterString["Address"].Value as string;

                query.Like(x => x.Address, str);
            }
            parameterString.Delete("Address");

            if (parameterString["OGRN"] != null && parameterString["OGRN"].Value != null)
            {
                var str = parameterString["OGRN"].Value is IList <string>?(parameterString["OGRN"].Value as IList <string>)[0] : parameterString["OGRN"].Value as string;

                jQuery.Where(x => x.OGRN == str);
                pQuery.Where(x => x.OGRNIP == str);
            }
            parameterString.Delete("OGRN");

            if (parameterString["OKPO"] != null && parameterString["OKPO"].Value != null)
            {
                var str = parameterString["OKPO"].Value is IList <string>?(parameterString["OKPO"].Value as IList <string>)[0] : parameterString["OKPO"].Value as string;

                jQuery.Where(x => x.OKPO == str);
                pQuery = null;
            }
            parameterString.Delete("OKPO");

            if (parameterString["KPP"] != null && parameterString["KPP"].Value != null)
            {
                var str = parameterString["KPP"].Value is IList <string>?(parameterString["KPP"].Value as IList <string>)[0] : parameterString["KPP"].Value as string;

                jQuery.Where(x => x.KPP == str);
                pQuery = null;
            }
            parameterString.Delete("KPP");

            //Выбираем все организации, удовлетворяющие фильтру
            if (pQuery != null)
            {
                query.Or(x => x.PropertyIn(y => y.EconomicAgent.Id, jQuery), x => x.PropertyIn(y => y.EconomicAgent.Id, pQuery));
            }
            else
            {
                query.PropertyIn(y => y.EconomicAgent.Id, jQuery);
            }

            filter = "";

            base.CreateFilter(query);

            parameterString.Delete("ShortName");
        }
Example #5
0
 public IList <ClientOrganization> GetFilteredList(object state, Utils.ParameterString parameterString, bool ignoreDeletedRows = true)
 {
     return(GetBaseFilteredList <ClientOrganization>(state, parameterString, ignoreDeletedRows));
 }
Example #6
0
        public IList <CurrencyRate> GetCurrencyRateFilteredList(short currencyId, object state, Utils.ParameterString parameterString, bool ignoreDeletedRows = true)
        {
            parameterString.Add("Currency.Id", ParameterStringItem.OperationType.Eq, currencyId.ToString());

            return(currencyRepository.GetCurrencyRateFilteredList(state, parameterString, ignoreDeletedRows));
        }
Example #7
0
 public IList <Currency> GetFilteredList(object state, Utils.ParameterString parameterString, bool ignoreDeletedRows = true)
 {
     return(GetBaseFilteredList <Currency>(state, parameterString, ignoreDeletedRows));
 }