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>()); }
public IList <RussianBank> GetFilteredList(object state, Utils.ParameterString parameterString, bool ignoreDeletedRows = true) { return(base.GetBaseFilteredList <RussianBank>(state, parameterString, ignoreDeletedRows)); }
public IList <ForeignBank> GetFilteredList(object state, Utils.ParameterString parameterString, bool ignoreDeletedRows = true) { return(foreignBankRepository.GetFilteredList(state, parameterString, ignoreDeletedRows)); }
/// <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"); }
public IList <ClientOrganization> GetFilteredList(object state, Utils.ParameterString parameterString, bool ignoreDeletedRows = true) { return(GetBaseFilteredList <ClientOrganization>(state, parameterString, ignoreDeletedRows)); }
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)); }
public IList <Currency> GetFilteredList(object state, Utils.ParameterString parameterString, bool ignoreDeletedRows = true) { return(GetBaseFilteredList <Currency>(state, parameterString, ignoreDeletedRows)); }