private IQueryable <CounterPurchas> CreateQuery(CounterFilterModel filter) { var items = from i in db.CounterPurchases where i.IsDeleted == null || i.IsDeleted != true select i; if (filter != null) { if (filter.CustomerId != 0) { items = items.Where(a => a.SupplierId == filter.CustomerId); } if (!string.IsNullOrWhiteSpace(filter.CounterNumber)) { items = items.Where(a => a.CounterNumber.Contains(filter.CounterNumber)); } if (filter.DateType != DateSearchType.All) { DateTime dateFrom = filter.DateFrom.Date; DateTime dateTo = filter.DateTo.AddDays(1).Date; items = items.Where(a => a.Date >= dateFrom && a.Date < dateTo); } } else { //Default sorting items = items.OrderByDescending(a => a.Date); } return(items); }
private CounterFilterModel ComposeSearch() { CounterFilterModel model = new CounterFilterModel(); if (CustomerDropdown.SelectedIndex != -1) { model.CustomerId = (int)CustomerDropdown.SelectedValue; } if (!string.IsNullOrWhiteSpace(CounterNumberTextbox.Text)) { model.CounterNumber = CounterNumberTextbox.Text.Trim(); } if (!AllDateRB.Checked) { if (DateRangeRB.Checked) { model.DateType = DateSearchType.DateRange; model.DateFrom = DateFromPicker.Value; model.DateTo = DateToPicker.Value; } } else { model.DateType = DateSearchType.All; } return(model); }
private void LoadSalesCounters(CounterFilterModel filter) { int records = 0; long elapsedTime = ClientHelper.PerformFetch(() => { var results = this.salesCounterController.FetchSalesCounterWithSearch(filter); salesCounterDisplayModelBindingSource.DataSource = results; if (salesCounterDisplayModelBindingSource.Count == 0) { salesCounterDisplayModelBindingSource.DataSource = null; } records = results.Count; }); ((MainForm)this.ParentForm).AttachStatus(records, elapsedTime); }
public SortableBindingList <PurchaseCounterDisplayModel> FetchPurchaseCounterWithSearch(CounterFilterModel filter) { try { var query = CreateQuery(filter); var result = from a in query select new PurchaseCounterDisplayModel { Id = a.Id, CounterNumber = a.CounterNumber, Supplier = a.Customer.CompanyName, Date = a.Date, TotalAmount = a.Total.HasValue ? a.Total.Value : 0 }; SortableBindingList <PurchaseCounterDisplayModel> b = new SortableBindingList <PurchaseCounterDisplayModel>(result); return(b); } catch (Exception ex) { throw ex; } }
private void SearchButton_Click(object sender, EventArgs e) { CounterFilterModel filter = ComposeSearch(); LoadSalesCounters(filter); }