public List <BaoHanhInfo> GetBaoHanh() { FilterObject[] filters = new FilterObject[] { new FilterObject(TableBaoHanh.MaKH, EqualityOperator.Equal, this.MaKH) }; return(BaoHanhDAO.GetTop(filters, null, -1)); }
public List <ChiTietNhapHangInfo> GetChiTietNhapHang() { FilterObject[] filters = new FilterObject[] { new FilterObject(TableChiTietNhapHang.MaPhieuNhap, EqualityOperator.Equal, this.MaPhieuNhap) }; return(ChiTietNhapHangDAO.GetTop(filters, null, -1)); }
public List <RoleInfo> GetRole() { FilterObject[] filters = new FilterObject[] { new FilterObject(TableRole.InformationID, EqualityOperator.Equal, this.ID) }; return(RoleDAO.GetTop(filters, null, -1)); }
public IQueryable <PhieuThuChi> GetValidInOutCommingNotes(string drugStoreCode, out IBaseRepository <PhieuThuChi> repository, FilterObject filter = null, int[] validStatuses = null) { repository = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuThuChi> >(); var validItems = repository.GetAll().Where(r => r.NhaThuoc_MaNhaThuoc == drugStoreCode); if (filter != null) { if (filter.FromDate.HasValue) { validItems = validItems.Where(i => i.NgayTao >= filter.FromDate); } if (filter.ToDate.HasValue) { validItems = validItems.Where(i => i.NgayTao <= filter.ToDate); } } if (validStatuses != null && validStatuses.Any()) { validItems = validItems.Where(i => validStatuses.Contains(i.LoaiPhieu)); } return(validItems); }
private void ApplyCurrentStaffFilter(FilterObject filter) { int?currentStaffId = null; if (User.IsInRole(MedMan.App_Start.Constants.Security.Roles.User.Value)) { currentStaffId = WebSecurity.GetCurrentUserId; } if (currentStaffId.HasValue) { if (filter.StaffIds == null) { filter.StaffIds = new int[] { currentStaffId.Value }; } else { if (!filter.StaffIds.Contains(currentStaffId.Value)) { var staffList = filter.StaffIds.ToList(); staffList.Add(currentStaffId.Value); filter.StaffIds = staffList.ToArray(); } } } }
public IQueryable <UserProfile> GetValidUsers(string drugStoreCode, FilterObject filter, out IBaseRepository <UserProfile> repository) { var staffRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, NhanVienNhaThuoc> >(); repository = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, UserProfile> >(); var drugStoreCodes = GetDrugStoreCodes(drugStoreCode); var validItems = (from s in staffRepo.GetAll() join u in repository.GetAll() on s.User_UserId equals u.UserId into suGroup from su in suGroup.DefaultIfEmpty() where drugStoreCodes.Contains(s.NhaThuoc_MaNhaThuoc) select su).Distinct(); if (filter != null) { if (filter.HasStaffIds) { validItems = validItems.Where(i => filter.StaffIds.Contains(i.UserId)); } if (filter.HasStaffNames) { filter.StaffNames.ForEach(name => { validItems = validItems.Where(i => i.UserName.Contains(name)); }); } } return(validItems); }
public List <ChiTietHoaDonInfo> GetChiTietHoaDon() { FilterObject[] filters = new FilterObject[] { new FilterObject(TableChiTietHoaDon.MaHH, EqualityOperator.Equal, this.MaHH) }; return(ChiTietHoaDonDAO.GetTop(filters, null, -1)); }
public List <BangGiaInfo> GetBangGia() { FilterObject[] filters = new FilterObject[] { new FilterObject(TableBangGia.MaHH, EqualityOperator.Equal, this.MaHH) }; return(BangGiaDAO.GetTop(filters, null, -1)); }
private FilterObjectWrapper GetFilterObjects(IList <string> filterKeys, string filterLogic) { var list = new List <FilterObject>(); var fieldKeys = filterKeys.Where(x => x.Contains("field")); foreach (int index in GetIndexArr(fieldKeys)) { var group = filterKeys.Where(x => GetFilterIndex(x) == index && !x.Contains("logic")).ToList(); var filterObject = new FilterObject { Field1 = GetQueryStringValue(group[0]), Operator1 = GetQueryStringValue(group[1]), Value1 = GetQueryStringValue(group[2]) }; if (group.Count == 6) { filterObject.Field2 = GetQueryStringValue(group[3]); filterObject.Operator2 = GetQueryStringValue(group[4]); filterObject.Value2 = GetQueryStringValue(group[5]); filterObject.Logic = GetValue(filterKeys, index, "logic"); } list.Add(filterObject); } return(new FilterObjectWrapper(filterLogic, list)); }
public List <TraHangInfo> GetTraHang() { FilterObject[] filters = new FilterObject[] { new FilterObject(TableTraHang.MaNV, EqualityOperator.Equal, this.MaNV) }; return(TraHangDAO.GetTop(filters, null, -1)); }
public List <HoaDonInfo> GetHoaDon() { FilterObject[] filters = new FilterObject[] { new FilterObject(TableHoaDon.MaNV, EqualityOperator.Equal, this.MaNV) }; return(HoaDonDAO.GetTop(filters, null, -1)); }
public JsonResult CustomizeReport(DateTime fromDate, DateTime toDate) { IResponseData <CustomizeReportItemResponse> response = new ResponseData <CustomizeReportItemResponse>(); try { var filter = new FilterObject() { FromDate = fromDate.AbsoluteStart(), ToDate = toDate.AbsoluteEnd() }; var currentDrugStoreCode = WebSessionManager.Instance.CurrentDrugStoreCode; var customizeReportService = IoC.Container.Resolve <ICustomizeReportService>(); var data = customizeReportService.GetCustomizeReportItems(currentDrugStoreCode, filter); response.SetData(data); } catch (ValidationException ex) { response.SetErrors(ex.Errors); response.SetStatus(HttpStatusCode.PreconditionFailed); } return(Json(response)); }
public List <HangHoaInfo> GetHangHoa() { FilterObject[] filters = new FilterObject[] { new FilterObject(TableHangHoa.MaLoai, EqualityOperator.Equal, this.MaLoai) }; return(HangHoaDAO.GetTop(filters, null, -1)); }
public IQueryable <PhieuNhap> GetValidReceiptNotes(string drugStoreCode, out IBaseRepository <PhieuNhap> repository, FilterObject filter = null, int[] validStatuses = null) { repository = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuNhap> >(); var validItems = repository.GetAll().Where(r => r.NhaThuoc_MaNhaThuoc == drugStoreCode && !r.Xoa && r.NgayNhap.HasValue); if (filter != null) { if (filter.FromDate.HasValue) { validItems = validItems.Where(i => i.NgayNhap >= filter.FromDate); } if (filter.ToDate.HasValue) { validItems = validItems.Where(i => i.NgayNhap <= filter.ToDate); } } if (validStatuses != null && validStatuses.Any()) { validItems = validItems.Where(i => validStatuses.Contains(i.LoaiXuatNhap_MaLoaiXuatNhap.Value)); } return(validItems); }
public IQueryable <PhieuThuChi> GetValidInOutCommingNotes(string drugStoreCode, FilterObject filter = null, int[] validStatuses = null) { IBaseRepository <PhieuThuChi> repository = null; return(GetValidInOutCommingNotes(drugStoreCode, out repository, filter, validStatuses)); }
public IQueryable <KhachHang> GetValidCustomers(string drugStoreCode, FilterObject filter, out IBaseRepository <KhachHang> repository) { repository = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, KhachHang> >(); var validItems = repository.GetAll().Where(r => r.MaNhaThuoc == drugStoreCode); if (filter != null) { if (filter.HasCustomerGroupIds) { validItems = validItems.Where(i => filter.CustomerGroupIds.Contains(i.MaNhomKhachHang)); } if (filter.HasCustomerIds) { validItems = validItems.Where(i => filter.CustomerIds.Contains(i.MaKhachHang)); } if (filter.HasCustomerNames) { filter.CustomerNames.ForEach(name => { validItems = validItems.Where(i => i.TenKhachHang.Contains(name)); }); } } return(validItems); }
public double GetDeliveryRevenueTotal(string drugStoreCode, FilterObject filter = null) { var deliveryStatuses = new int[] { (int)NoteInOutType.Delivery }; var deliveryItems = GetDeliveryNoteItems(drugStoreCode, filter, deliveryStatuses); return(deliveryItems.Sum(i => i.Revenue)); }
public IQueryable <PhieuXuat> GetValidDeliveryNotes(string drugStoreCode, FilterObject filter = null, int[] validStatuses = null) { IBaseRepository <PhieuXuat> repository = null; return(GetValidDeliveryNotes(drugStoreCode, out repository, filter, validStatuses)); }
public List <NhanVienInfo> GetNhanVien() { FilterObject[] filters = new FilterObject[] { new FilterObject(TableNhanVien.TenTaiKhoan, EqualityOperator.Equal, this.TenTaiKhoan) }; return(NhanVienDAO.GetTop(filters, null, -1)); }
private FilterObject GetFilterObjectFromCookie() { var result = new FilterObject(); var cookieKey = GetCookieKeyForFilterForExport(); var cookie = Request.Cookies[HttpUtility.UrlEncode(cookieKey)]; if (cookie != null && !String.IsNullOrEmpty(cookie.Value)) { var anchor = cookie.Value; try { var cookieJson = Encoding.UTF8.GetString(Convert.FromBase64String(HttpUtility.UrlDecode(anchor))); var jsonArray = cookieJson.Split(';'); foreach (var filterItem in jsonArray) { var filterObj = JObject.Parse(filterItem); var filterParam = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(filterObj.Value <string>("params")))); switch (filterObj.Value <string>("id")) { case "sorter": result.SortBy = filterParam.Value <string>("id"); result.SortOrder = filterParam.Value <string>("sortOrder"); break; case "text": result.FilterValue = filterParam.Value <string>("value"); break; case "closed": case "opened": result.IsClosed = filterParam.Value <bool>("value"); break; case "tags": result.Tags = new List <string>(); result.Tags = filterParam.Value <JArray>("value").ToList().ConvertAll( n => n.ToString()); break; } } } catch (Exception) { result.SortBy = "title"; result.SortOrder = "ascending"; } } else { result.SortBy = "title"; result.SortOrder = "ascending"; } return(result); }
public Dictionary <int, double> GetLastDrugPriceOnDeliveryNotes(string drugStoreCode, params int[] drugIds) { var filter = new FilterObject() { DrugIds = drugIds }; // var deliveryItems = _dataFilterService.GetValidDeliveryItems(drugStoreCode, filter, new int[] { (int)NoteInOutType.Delivery }) .Where(i => i.RetailPrice > 0).Select(i => new { i.Thuoc_ThuocId, i.PreNoteItemDate, i.RetailPrice }).ToList(); var lastPrices = deliveryItems.GroupBy(i => i.Thuoc_ThuocId).Select(i => new { DrugId = i.Key, Price = i.OrderByDescending(ii => ii.PreNoteItemDate).FirstOrDefault().RetailPrice }).ToList(); //deliveryItems.ToList().Groupby(); if (lastPrices.Count > 0) { //Trả về giá bán gần nhất return(lastPrices.ToDictionary(i => i.DrugId.Value, i => i.Price)); } else { //Trả về giá bán lẻ trên thuốc IBaseRepository <Thuoc> drugRepo = null; var drugs = _dataFilterService.GetValidDrugs(drugStoreCode, filter, false, out drugRepo).ToList(); var lastPriceOnDrugs = drugs.ToDictionary(i => i.ThuocId, i => (double)i.GiaBanLe); return(lastPriceOnDrugs); } }
public List <RoleAccountInfo> GetRoleAccount() { FilterObject[] filters = new FilterObject[] { new FilterObject(TableRoleAccount.AccountID, EqualityOperator.Equal, this.ID) }; return(RoleAccountDAO.GetTop(filters, null, -1)); }
public IQueryable <Thuoc> GetValidDrugs(string drugStoreCode, FilterObject filter, bool onlyActiveDrug, out IBaseRepository <Thuoc> repository) { repository = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, Thuoc> >(); IBaseRepository <NhaThuoc> drugStoreRepo = null; var drugStores = GetValidDrugStores(out drugStoreRepo); var validItems = (from dr in repository.GetAll() join ds in drugStores on dr.NhaThuoc_MaNhaThuoc equals ds.MaNhaThuocCha where ds.MaNhaThuoc == drugStoreCode && (!onlyActiveDrug || (onlyActiveDrug && dr.RecordStatusID == (byte)RecordStatus.Activated)) select dr); if (string.IsNullOrEmpty(drugStoreCode)) { validItems = (from dr in validItems join ds in drugStores on dr.NhaThuoc_MaNhaThuoc equals ds.MaNhaThuoc select dr); } if (filter != null) { if (filter.HasDrugIds) { validItems = validItems.Where(i => filter.DrugIds.Contains(i.ThuocId)); } if (filter.HasDrugNames) { filter.DrugNames.ForEach(name => { validItems = validItems.Where(i => i.TenThuoc.Contains(name)); }); } if (filter.HasDrugGroupIds) { var drugGroupIds = filter.DrugGroupIds.ToList(); var consultDrugs = filter.DrugGroupIds.Contains(MedConstants.ConsultDrugGroup); if (consultDrugs) { drugGroupIds = drugGroupIds.Except(new int[] { MedConstants.ConsultDrugGroup }).ToList(); } if (drugGroupIds.Any()) { if (consultDrugs) { validItems = validItems.Where(i => drugGroupIds.Contains(i.NhomThuoc_MaNhomThuoc) || i.HangTuVan == true); } else { validItems = validItems.Where(i => drugGroupIds.Contains(i.NhomThuoc_MaNhomThuoc)); } } else if (consultDrugs) { validItems = validItems.Where(i => i.HangTuVan == true); } } } return(validItems); }
public SynthesisReportResponse GetSynthesisReportData(string drugStoreCode, FilterObject filter) { GenerateReportData(drugStoreCode); var result = new SynthesisReportResponse(); using (var trans = TransactionScopeHelper.CreateReadUncommitted()) { var deliveryService = IoC.Container.Resolve <IDeliveryNoteService>(); var rpService = IoC.Container.Resolve <IReportService>(); var warehouseSysnthesis = rpService.GetDrugWarehouseSyntheises(drugStoreCode, filter); var inOutCommingSummary = rpService.GetInOutCommingValueSumary(drugStoreCode, filter); // I.1. Tổng giá trị nhập kho result.ReceiptValueTotal = warehouseSysnthesis.Values.Sum(i => i.ReceiptInventoryValueInPeriod); // I.2. Tổng giá trị xuất kho result.DeliveryValueTotal = warehouseSysnthesis.Values.Sum(i => i.DeliveryInventoryValueInPeriod); // I.3. Tổng giá trị kho hàng result.WarehousingValueTotal = warehouseSysnthesis.Values.Sum(i => i.LastInventoryValue); // I.4. Tổng nợ khách hàng // I.4.1 Nợ bán hàng result.DeliveryDueTotal = inOutCommingSummary.DeliveryDueTotal; // I.4.2 Các khoản nợ khác result.DeliveryOtherDueTotal = inOutCommingSummary.DeliveryOtherDueTotal; // I.5. Tổng nợ nhà cung cấp // I.5.1 Nợ mua hàng result.ReceiptDueTotal = inOutCommingSummary.ReceiptDueTotal; // I.5.2 Các khoản nợ khác result.ReceiptOtherDueTotal = inOutCommingSummary.ReceiptOtherDueTotal; // II.1. Tổng thu // II.1.1. Bán hàng hóa/dịch vụ result.DeliveryIncomingTotal = inOutCommingSummary.DeliveryIncomingTotal; // II.1.2. Các nguồn thu khác result.OtherIncommingTotal = inOutCommingSummary.OtherIncommingTotal; // II.2. Tổng chi // II.2.1. Mua hàng hóa/ dịch vụ result.ReceiptOutcomingTotal = inOutCommingSummary.ReceiptOutcomingTotal; // TODO: // II.2.2. Chi phí kinh doanh result.BusinessCostsTotal = inOutCommingSummary.BusinessCostsTotal; // II.2.3. Các khoản chi khác result.OtherOutcomingTotal = inOutCommingSummary.OtherOutcomingTotal; // II.3. Lãi gộp == II.3.1 + II.1.2 // II.3.1. Lợi nhuận bán thuốc result.DeliveryRevenueTotal = deliveryService.GetDeliveryRevenueTotal(drugStoreCode, filter); trans.Complete(); } return(result); }
public JsonResult GetValidationSettingsForProduct(int?id, FilterObject filter) { var result = _validationSettingService.GetValidationSettingsForProduct(id, filter); var jsonResult = Json(result, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
internal void UpdateFilter(string arg) { if (arg != "Function") { return; } ICollectionView view = CollectionViewSource.GetDefaultView(ServerList.ItemsSource); view.Filter = (o) => FilterObject.Function((FakeServer)o); }
public JsonResult GetDataForChart(int productId, FilterObject filter) { var result = _arrivalMessageRepository.GetChartDataForProduct(productId, filter); var jsonResult = Json(result, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
public JsonResult GetCountOfArrivalMessages(int productId, FilterObject filter) { var result = _arrivalMessageService.GetCountOfArrivalMessages(productId, filter); var jsonResult = Json(result, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
private FilterObject GetFilterObjectFromCookie() { var result = new FilterObject(); var cookieKey = GetCookieKeyForFilterForExport(); var cookie = Request.Cookies[System.Web.HttpUtility.UrlEncode(cookieKey)]; if (cookie != null && !String.IsNullOrEmpty(cookie.Value)) { var anchor = cookie.Value; try { var cookieJson = Encoding.UTF8.GetString(Convert.FromBase64String(HttpUtility.UrlDecode(anchor))); var jsonArray = cookieJson.Split(';'); foreach (var filterItem in jsonArray) { var filterObj = JObject.Parse(filterItem); var filterParam = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(filterObj.Value <string>("params")))); switch (filterObj.Value <string>("id")) { case "sorter": result.SortBy = filterParam.Value <string>("id"); result.SortOrder = filterParam.Value <string>("sortOrder"); break; case "text": result.FilterValue = filterParam.Value <string>("value"); break; case "withInventoryStock": case "withoutInventoryStock": result.InventoryStock = filterParam.Value <bool>("value"); break; } } } catch (Exception) { result.SortBy = "name"; result.SortOrder = "ascending"; } } else { result.SortBy = "name"; result.SortOrder = "ascending"; } return(result); }
public int GetCountOfFilteredItemsByProductId(int productId, FilterObject filter) { if (filter == null) { filter = new FilterObject(); } using (var model = new gb_dvsstagingEntities()) { if (filter.Event == null) { filter.Event = new FilterValue(); } if (filter.Country == null) { filter.Country = new FilterValue(); } if (filter.EventStatus == null) { filter.EventStatus = new FilterValue(); } if (filter.League == null) { filter.League = new FilterValue(); } if (filter.Market == null) { filter.Market = new FilterValue(); } if (filter.Provider == null) { filter.Provider = new FilterValue(); } if (filter.Sport == null) { filter.Sport = new FilterValue(); } model.Database.CommandTimeout = CONNECTION_TIMEOUT; var count = model.dvs_arrivalmessage.Count(result => result.ProductId == productId && result.IsProcessed && result.IsActive && (filter.StartDate == null || result.CreatedOn >= filter.StartDate) && (filter.EndDate == null || result.CreatedOn <= filter.EndDate) && (!filter.Sport.ExternalId.HasValue || result.Sports.Contains(",") && result.Sports.Contains("," + filter.Sport.ExternalId) || result.Sports.Contains(filter.Sport.ExternalId.ToString())) && (!filter.Event.ExternalId.HasValue || result.Events.Contains(",") && result.Events.Contains("," + filter.Event.ExternalId) || result.Events.Contains(filter.Event.ExternalId.ToString())) && (!filter.Country.ExternalId.HasValue || result.Locations.Contains(",") && result.Locations.Contains("," + filter.Country.ExternalId) || result.Locations.Contains(filter.Country.ExternalId.ToString())) && (string.IsNullOrEmpty(filter.EventStatus.Name) || result.Statuses.Contains(",") && result.Statuses.Contains("," + filter.EventStatus.Name) || result.Statuses.Contains(filter.EventStatus.Name)) && (!filter.League.ExternalId.HasValue || (result.Leagues.Contains(",") && result.Leagues.Contains("," + filter.League.ExternalId) || result.Leagues.Contains(filter.League.ExternalId.ToString())) && (string.IsNullOrEmpty(filter.Market.Name) || result.Markets.Contains(",") && result.Markets.Contains("," + filter.Market.Name) || result.Markets.Contains(filter.Market.Name)) && (string.IsNullOrEmpty(filter.Provider.Name) || result.Markets.Contains(",") && result.Providers.Contains("," + filter.Provider.Name) || result.Markets.Contains(filter.Provider.Name)))); return(count); } }
protected void Page_Load(object sender, EventArgs e) { //To get the string to search in depfilter table string departmentID = Request.QueryString["DepartmentID"]; var sqlFilList = new FilterList(); sqlFilList.Filters = new List<FilterObject>(); using (var db = new KioskContext()) { //selects only from departmentfilter where department ID = SIT [Querystring] var depfilters = from df in db.DepartmentFilters where df.Department.DepartmentID == departmentID orderby df.FilterName select new { df.DepartmentFilterID, df.DepartmentID, df.FilterName, df.Block, df.Level, df.Name, }; foreach (var fil in depfilters) { FilterObject filobject = new FilterObject(fil.DepartmentFilterID, fil.DepartmentID, fil.FilterName, fil.Block, fil.Level, fil.Name); sqlFilList.Filters.Add(filobject); } } //Serialize into json format output (string) string json = JsonConvert.SerializeObject(sqlFilList, Formatting.Indented); //codes to pass back the json string to the iPad Response.Write(json); Response.End(); }
private void AddItem(FilterObject pFilterObject) { if (pFilterObject.name.Length > 0) { ListViewItem item = this.lstView.Items.Add(pFilterObject.entry.ToString()); item.Tag = pFilterObject.key; item.SubItems.Add(pFilterObject.name); item.SubItems.Add(pFilterObject.type); item.SubItems.Add(pFilterObject.typeid); item.SubItems.Add(pFilterObject.filtered.ToString()); item.SubItems.Add(pFilterObject.special.ToString()); if (pFilterObject.filtered) { item.ForeColor = Color.Red; } else if (pFilterObject.special) { item.ForeColor = Color.Green; } } }
public FilterObjectWrapper ToFilterObjectWrapper() { var filters = new List<FilterObject>(); foreach (var filter in Filters) { FilterObject filterObject; if (filter.Filters != null && filter.Filters.Count == 2) { var firstFilter = filter.Filters.First(); var lastFilter = filter.Filters.Last(); filterObject = new FilterObject { Field1 = firstFilter.Field, Operator1 = firstFilter.Operator, Value1 = firstFilter.Value, Logic = filter.Logic, Field2 = lastFilter.Field, Operator2 = lastFilter.Operator, Value2 = lastFilter.Value }; } else { filterObject = new FilterObject { Field1 = filter.Field, Operator1 = filter.Operator, Value1 = filter.Value, }; } filters.Add(filterObject); } return new FilterObjectWrapper(Logic, filters); }
//POST public IEnumerable<Application> filterApplications(FilterObject filter) { var applications = getAllActiveApplications(); if (filter != null) { if (filter.subject != "" && filter.subject != null) { applications = applications.Where(a => a.Subject.Contains(filter.subject)); } if (filter.newInterval != null) { if (filter.newInterval.startDate != null) { applications = applications.Where(a => a.PostDate > filter.newInterval.startDate); } if (filter.newInterval.endDate != null) { applications = applications.Where(a => a.PostDate < filter.newInterval.endDate); } } } return applications; }
public IHttpActionResult filterApplications(FilterObject filter) { return Ok(repository.filterApplications(filter)); }
private static FilterObjectWrapper GetFilterObjects(NameValueCollection queryString, IList<string> filterKeys, string filterLogic) { var list = new List<FilterObject>(); var fieldKeys = filterKeys.Where(x => x.Contains("field")); foreach (int index in GetIndexArr(fieldKeys)) { var group = filterKeys.Where(x => GetFilterIndex(x) == index && !x.Contains("logic")).ToList(); var field1 = group.First(g => g.Contains("field")); var operator1 = group.First(g => g.Contains("operator")); var value1 = group.First(g => g.Contains("value")); var ignoreCase1 = group.FirstOrDefault(g => g.Contains("ignoreCase")); var filterObject = new FilterObject { Field1 = queryString[field1], Operator1 = queryString[operator1], Value1 = queryString[value1], IgnoreCase1 = ignoreCase1 != null ? queryString[ignoreCase1] : null }; if (group.Count == 6 || group.Count == 8) { var field2 = group.Last(g => g.Contains("field")); var operator2 = group.Last(g => g.Contains("operator")); var value2 = group.Last(g => g.Contains("value")); var ignoreCase2 = group.LastOrDefault(g => g.Contains("ignoreCase")); filterObject.Field2 = queryString[field2]; filterObject.Operator2 = queryString[operator2]; filterObject.Value2 = queryString[value2]; filterObject.IgnoreCase2 = ignoreCase2 != null ? queryString[ignoreCase2] : null; filterObject.Logic = GetFilterLogic(queryString, filterKeys, index, "logic"); } list.Add(filterObject); } return new FilterObjectWrapper(filterLogic, list); }
private FilterObject GetFilterObjectFromCookie() { var result = new FilterObject(); var cookieKey = GetCookieKeyForFilterForExport(); var cookie = Request.Cookies[HttpUtility.UrlEncode(cookieKey)]; if (cookie != null && !String.IsNullOrEmpty(cookie.Value)) { var anchor = cookie.Value; try { var cookieJson = Encoding.UTF8.GetString(Convert.FromBase64String(HttpUtility.UrlDecode(anchor))); var jsonArray = cookieJson.Split(';'); foreach (var filterItem in jsonArray) { var filterObj = JObject.Parse(filterItem); var filterParam = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(filterObj.Value<string>("params")))); switch (filterObj.Value<string>("id")) { case "sorter": result.SortBy = filterParam.Value<string>("id"); result.SortOrder = filterParam.Value<string>("sortOrder"); break; case "text": result.FilterValue = filterParam.Value<string>("value"); break; case "my": case "responsibleID": result.ResponsibleID = new Guid(filterParam.Value<string>("value")); break; case "stageTypeOpen": case "stageTypeClosedAndWon": case "stageTypeClosedAndLost": result.StageType = filterParam.Value<string>("value"); break; case "opportunityStagesID": result.OpportunityStagesID = filterParam.Value<int>("value"); break; case "lastMonth": case "yesterday": case "today": case "thisMonth": var valueString = filterParam.Value<string>("value"); var fromToArray = JsonConvert.DeserializeObject<List<string>>(valueString); if (fromToArray.Count != 2) continue; result.FromDateString = fromToArray[0]; result.ToDateString = fromToArray[1]; result.FromDate = UrlParameters.ApiDateTimeParse(result.FromDateString); result.ToDate = UrlParameters.ApiDateTimeParse(result.ToDateString); break; case "fromToDate": result.FromDateString = filterParam.Value<string>("from"); result.ToDateString = filterParam.Value<string>("to"); result.FromDate = UrlParameters.ApiDateTimeParse(result.FromDateString); result.ToDate = UrlParameters.ApiDateTimeParse(result.ToDateString); break; case "participantID": result.ContactID = filterParam.Value<int>("id"); result.ContactAlsoIsParticipant = true; break; case "contactID": result.ContactID = filterParam.Value<int>("id"); result.ContactAlsoIsParticipant = false; break; case "tags": result.Tags = new List<string>(); result.Tags = filterParam.Value<JArray>("value").ToList().ConvertAll(n => n.ToString()); break; } } } catch(Exception) { result.SortBy = "stage"; result.SortOrder = "ascending"; } } else { result.SortBy = "stage"; result.SortOrder = "ascending"; } return result; }
/// <summary> /// Gets all rooms according to a filter /// </summary> /// <param name="filter">filter object used to filter the rooms</param> /// <returns></returns> public static List<Room> GetFiltered(FilterObject filter) { DataClassesDataContext dbo = new DataClassesDataContext(); var rooms = dbo.Rooms.Where(r => r.ID > -1); if (filter.Type.HasValue && filter.Type.Value != -1) rooms = rooms.Where(r => r.TypeId == filter.Type.Value); if (filter.MinPrice.HasValue) rooms = rooms.Where(r => r.Price >= filter.MinPrice.Value); if (filter.MaxPrice.HasValue) rooms = rooms.Where(r => r.Price <= filter.MaxPrice.Value); if (filter.Included) rooms = rooms.Where(r => r.Included == filter.Included); if (filter.MinSize.HasValue) rooms = rooms.Where(r => r.Size >= filter.MinSize.Value); if (filter.MaxSize.HasValue) rooms = rooms.Where(r => r.Size <= filter.MaxSize.Value); if (filter.Attributes != null && filter.Attributes.Length > 0) { rooms = rooms.Where(r => dbo.RoomHasAttributes.Where(a => filter.Attributes.Contains(a.AttributeId)).Select(a => a.RoomID).Contains(r.ID)); } if (filter.Region.HasValue) rooms = rooms.Where(r => r.RegionId == filter.Region.Value); if (filter.Query != null && filter.Query != "") { foreach (string q in filter.Query.Split(' ')) { rooms = rooms.Where(r => SqlMethods.Like(r.KotUser.Username, "%" + q + "%") || SqlMethods.Like(r.Location, "%" + q + "%") || SqlMethods.Like(r.Decsription, "%" + q + "%") || SqlMethods.Like(r.Address, "%" + q + "%")); } } if (filter.Sort.HasValue) { switch (filter.Sort.Value) { case RoomSorts.Toegevoegd: if (!filter.Reversed) rooms = rooms.OrderByDescending(r => r.Added); else rooms = rooms.OrderBy(r => r.Added); break; case RoomSorts.Prijs: if (!filter.Reversed) rooms = rooms.OrderBy(r => r.Price).ThenBy(r => r.Added); else rooms = rooms.OrderByDescending(r => r.Price).ThenBy(r => r.Added); break; case RoomSorts.Regio: if (!filter.Reversed) rooms = rooms.OrderBy(r => r.GentRegion.Name).ThenBy(r => r.Address); else rooms = rooms.OrderByDescending(r => r.GentRegion.Name).ThenByDescending(r => r.Address); break; case RoomSorts.Grootte: if (!filter.Reversed) rooms = rooms.OrderBy(r => r.Size).ThenBy(r => r.Added); else rooms = rooms.OrderByDescending(r => r.Size).ThenBy(r => r.Added); break; case RoomSorts.Type: if (!filter.Reversed) rooms = rooms.OrderBy(r => r.Type.Name).ThenBy(r => r.Added); else rooms = rooms.OrderByDescending(r => r.Type.Name).ThenBy(r => r.Added); break; } } return rooms.ToList(); }
private FilterObject GetFilterObjectFromCookie() { GetPageNumberAndCountOnPageFromCookie(); var result = new FilterObject { CurrentPageNumber = CurrentPageNumber, Count = EntryCountOnPage, StartIndex = CurrentPageNumber > 0 ? (CurrentPageNumber - 1) * EntryCountOnPage : 0 }; var cookieKey = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Length - Request.Url.Query.Length); var cookie = Request.Cookies[System.Web.HttpUtility.UrlEncode(cookieKey)]; if (cookie != null && !String.IsNullOrEmpty(cookie.Value)) { Anchor = cookie.Value; try { var cookieJson = Encoding.UTF8.GetString(Convert.FromBase64String(HttpUtility.UrlDecode(Anchor))); var jsonArray = cookieJson.Split(';'); foreach (var filterItem in jsonArray) { var filterObj = JObject.Parse(filterItem); var filterParam = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(filterObj.Value<string>("params")))); switch (filterObj.Value<string>("id")) { case "sorter": result.SortBy = filterParam.Value<string>("id"); result.SortOrder = filterParam.Value<string>("sortOrder"); break; case "text": result.FilterValue = filterParam.Value<string>("value"); break; case "my": case "responsibleID": result.ResponsibleID = new Guid(filterParam.Value<string>("value")); break; case "stageTypeOpen": case "stageTypeClosedAndWon": case "stageTypeClosedAndLost": result.StageType = filterParam.Value<string>("value"); break; case "opportunityStagesID": result.OpportunityStagesID = filterParam.Value<int>("value"); break; case "lastMonth": case "yesterday": case "today": case "thisMonth": var valueString = filterParam.Value<string>("value"); var fromToArray = JArray.Parse(valueString); if (fromToArray.Count != 2) continue; result.FromDate = UrlParameters.ApiDateTimeParse(fromToArray[0].Value<String>()); result.ToDate = UrlParameters.ApiDateTimeParse(fromToArray[1].Value<String>()); break; case "fromToDate": result.FromDate = UrlParameters.ApiDateTimeParse(filterParam.Value<string>("from")); result.ToDate = UrlParameters.ApiDateTimeParse(filterParam.Value<string>("to")); break; case "participantID": result.ContactID = filterParam.Value<int>("id"); result.ContactAlsoIsParticipant = true; break; case "contactID": result.ContactID = filterParam.Value<int>("id"); result.ContactAlsoIsParticipant = false; break; case "tags": result.Tags = new List<string>(); result.Tags = filterParam.Value<JArray>("value").ToList().ConvertAll(n => n.ToString()); break; } } } catch (Exception) { result.CurrentPageNumber = CurrentPageNumber; result.Count = EntryCountOnPage; result.StartIndex = CurrentPageNumber > 0 ? (CurrentPageNumber - 1) * EntryCountOnPage : 0; result.SortBy = "stage"; result.SortOrder = "ascending"; } } else { result.CurrentPageNumber = CurrentPageNumber; result.Count = EntryCountOnPage; result.StartIndex = CurrentPageNumber > 0 ? (CurrentPageNumber - 1) * EntryCountOnPage : 0; result.SortBy = "stage"; result.SortOrder = "ascending"; Anchor = String.Empty; } return result; }
private FilterObject GetFilterObjectFromCookie() { GetPageNumberAndCountOnPageFromCookie(); var result = new FilterObject { CurrentPageNumber = CurrentPageNumber, Count = EntryCountOnPage, StartIndex = CurrentPageNumber > 0 ? (CurrentPageNumber - 1) * EntryCountOnPage : 0 }; var cookieKey = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Length - Request.Url.Query.Length); var cookie = Request.Cookies[System.Web.HttpUtility.UrlEncode(cookieKey)]; if (cookie != null && !String.IsNullOrEmpty(cookie.Value)) { Anchor = cookie.Value; try { var cookieJson = Encoding.UTF8.GetString(Convert.FromBase64String(HttpUtility.UrlDecode(Anchor))); var jsonArray = cookieJson.Split(';'); foreach (var filterItem in jsonArray) { var filterObj = JObject.Parse(filterItem); var filterParam = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(filterObj.Value<string>("params")))); switch (filterObj.Value<string>("id")) { case "sorter": result.SortBy = filterParam.Value<string>("id"); result.SortOrder = filterParam.Value<string>("sortOrder"); break; case "text": result.FilterValue = filterParam.Value<string>("value"); break; case "tags": result.Tags = new List<string>(); result.Tags = filterParam.Value<JArray>("value").ToList().ConvertAll(n => n.ToString()); break; case "withopportunity": case "person": case "company": result.ContactListView = filterParam.Value<string>("value"); break; case "contactType": result.ContactType = filterParam.Value<int>("value"); break; } } } catch (Exception) { result.CurrentPageNumber = CurrentPageNumber; result.Count = EntryCountOnPage; result.StartIndex = CurrentPageNumber > 0 ? (CurrentPageNumber - 1) * EntryCountOnPage : 0; result.SortBy = "displayname"; result.SortOrder = "ascending"; } } else { result.CurrentPageNumber = CurrentPageNumber; result.Count = EntryCountOnPage; result.StartIndex = CurrentPageNumber > 0 ? (CurrentPageNumber - 1) * EntryCountOnPage : 0; result.SortBy = "displayname"; result.SortOrder = "ascending"; Anchor = String.Empty; } return result; }
/// <summary> /// Gets all rooms according to a filter /// </summary> /// <param name="filter">filter object used to filter the rooms</param> /// <param name="start">amount of rooms to skip</param> /// <param name="amount">amount of rooms to return</param> /// <returns></returns> public static List<Room> GetFiltered(FilterObject filter, int start, int amount) { return GetFiltered(filter).Skip(start).Take(amount).ToList(); }
private FilterObject GetFilterObjectFromCookie() { var result = new FilterObject(); var cookieKey = GetCookieKeyForFilterForExport(); var cookie = Request.Cookies[System.Web.HttpUtility.UrlEncode(cookieKey)]; if (cookie != null && !String.IsNullOrEmpty(cookie.Value)) { var anchor = cookie.Value; try { var cookieJson = Encoding.UTF8.GetString(Convert.FromBase64String(HttpUtility.UrlDecode(anchor))); var jsonArray = cookieJson.Split(';'); foreach (var filterItem in jsonArray) { var filterObj = JObject.Parse(filterItem); var filterParam = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(filterObj.Value<string>("params")))); switch (filterObj.Value<string>("id")) { case "sorter": result.SortBy = filterParam.Value<string>("id"); result.SortOrder = filterParam.Value<string>("sortOrder"); break; case "text": result.FilterValue = filterParam.Value<string>("value"); break; case "withInventoryStock": case "withoutInventoryStock": result.InventoryStock = filterParam.Value<bool>("value"); break; } } } catch (Exception) { result.SortBy = "name"; result.SortOrder = "ascending"; } } else { result.SortBy = "name"; result.SortOrder = "ascending"; } return result; }
private FilterObject GetFilterObjectFromCookie() { var result = new FilterObject(); var cookieKey = GetCookieKeyForFilterForExport(); var cookie = Request.Cookies[HttpUtility.UrlEncode(cookieKey)]; _log.Debug(String.Format("GetFilterObjectFromCookie. cookieKey={0}", cookieKey)); if (cookie != null && !String.IsNullOrEmpty(cookie.Value)) { var anchor = cookie.Value; _log.Debug(String.Format("GetFilterObjectFromCookie. cookie.Value={0}", anchor)); try { var cookieJson = Encoding.UTF8.GetString(Convert.FromBase64String(HttpUtility.UrlDecode(anchor))); _log.Debug(String.Format("GetFilterObjectFromCookie. cookieJson={0}", cookieJson)); var jsonArray = cookieJson.Split(';'); foreach (var filterItem in jsonArray) { var filterObj = JObject.Parse(filterItem); var filterParam = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(filterObj.Value<string>("params")))); switch (filterObj.Value<string>("id")) { case "sorter": result.SortBy = filterParam.Value<string>("id"); result.SortOrder = filterParam.Value<string>("sortOrder"); break; case "text": result.FilterValue = filterParam.Value<string>("value"); break; case "my": case "responsibleID": result.ResponsibleID = new Guid(filterParam.Value<string>("value")); break; case "overdue": case "today": case "theNext": var valueString = filterParam.Value<string>("value"); var fromToArray = JsonConvert.DeserializeObject<List<string>>(valueString); if (fromToArray.Count != 2) continue; result.FromDate = !String.IsNullOrEmpty(fromToArray[0]) ? UrlParameters.ApiDateTimeParse(fromToArray[0]) : DateTime.MinValue; result.ToDate = !String.IsNullOrEmpty(fromToArray[1]) ? UrlParameters.ApiDateTimeParse(fromToArray[1]) : DateTime.MinValue; break; case "fromToDate": result.FromDate = filterParam.Value<DateTime>("from"); result.ToDate = filterParam.Value<DateTime>("to"); break; case "categoryID": result.CategoryID = filterParam.Value<int>("value"); break; case "openTask": case "closedTask": result.IsClosed = filterParam.Value<bool>("value"); break; case "contactID": result.ContactID = filterParam.Value<int>("id"); break; } } } catch(Exception) { _log.Info("GetFilterObjectFromCookie. Exception! line 206"); result.SortBy = "deadline"; result.SortOrder = "ascending"; } } else { _log.Info("GetFilterObjectFromCookie. Cookie is null, default filters should be used"); result.SortBy = "deadline"; result.SortOrder = "ascending"; } return result; }
private FilterObject GetFilterObjectFromCookie() { var result = new FilterObject(); var cookieKey = GetCookieKeyForFilterForExport(); var cookie = Request.Cookies[HttpUtility.UrlEncode(cookieKey)]; if (cookie != null && !String.IsNullOrEmpty(cookie.Value)) { var anchor = cookie.Value; try { var cookieJson = Encoding.UTF8.GetString(Convert.FromBase64String(HttpUtility.UrlDecode(anchor))); var jsonArray = cookieJson.Split(';'); foreach (var filterItem in jsonArray) { var filterObj = JObject.Parse(filterItem); var filterParam = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(filterObj.Value<string>("params")))); switch (filterObj.Value<string>("id")) { case "sorter": result.SortBy = filterParam.Value<string>("id"); result.SortOrder = filterParam.Value<string>("sortOrder"); break; case "text": result.FilterValue = filterParam.Value<string>("value"); break; case "closed": case "opened": result.IsClosed = filterParam.Value<bool>("value"); break; case "tags": result.Tags = new List<string>(); result.Tags = filterParam.Value<JArray>("value").ToList().ConvertAll( n => n.ToString()); break; } } } catch(Exception) { result.SortBy = "title"; result.SortOrder = "ascending"; } } else { result.SortBy = "title"; result.SortOrder = "ascending"; } return result; }
private FilterObject GetFilterObjectFromCookie() { var result = new FilterObject(); var cookieKey = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Length - Request.Url.Query.Length); var cookie = Request.Cookies[System.Web.HttpUtility.UrlEncode(cookieKey)]; if (cookie != null && !String.IsNullOrEmpty(cookie.Value)) { var anchor = cookie.Value; try { var cookieJson = Encoding.UTF8.GetString(Convert.FromBase64String(HttpUtility.UrlDecode(anchor))); var jsonArray = cookieJson.Split(';'); foreach (var filterItem in jsonArray) { var filterObj = JObject.Parse(filterItem); var filterParam = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(filterObj.Value<string>("params")))); switch (filterObj.Value<string>("id")) { case "sorter": result.SortBy = filterParam.Value<string>("id"); result.SortOrder = filterParam.Value<string>("sortOrder"); break; case "text": result.FilterValue = filterParam.Value<string>("value"); break; case "my": case "responsibleID": result.ResponsibleID = new Guid(filterParam.Value<string>("value")); break; case "tags": result.Tags = new List<string>(); result.Tags = filterParam.Value<JArray>("value").ToList().ConvertAll(n => n.ToString()); break; case "withopportunity": case "person": case "company": result.ContactListView = filterParam.Value<string>("value"); break; case "contactType": result.ContactType = filterParam.Value<int>("value"); break; case "contactStage": result.ContactStage = filterParam.Value<int>("value"); break; case "lastMonth": case "yesterday": case "today": case "thisMonth": var valueString = filterParam.Value<string>("value"); var fromToArray = JsonConvert.DeserializeObject<List<string>>(valueString); if (fromToArray.Count != 2) continue; result.FromDateString = fromToArray[0]; result.ToDateString = fromToArray[1]; result.FromDate = UrlParameters.ApiDateTimeParse(result.FromDateString); result.ToDate = UrlParameters.ApiDateTimeParse(result.ToDateString); break; case "fromToDate": result.FromDateString = filterParam.Value<string>("from"); result.ToDateString = filterParam.Value<string>("to"); result.FromDate = UrlParameters.ApiDateTimeParse(result.FromDateString); result.ToDate = UrlParameters.ApiDateTimeParse(result.ToDateString); break; } } } catch (Exception) { result.SortBy = "created"; result.SortOrder = "descending"; } } else { result.SortBy = "created"; result.SortOrder = "descending"; } return result; }