private PurchaseReturnFilterModel ComposeSearch() { PurchaseReturnFilterModel model = new PurchaseReturnFilterModel(); if (CustomerDropdown.SelectedIndex != -1) { model.CustomerId = (int)CustomerDropdown.SelectedValue; } if (!string.IsNullOrWhiteSpace(MemoTextbox.Text)) { model.MemoNumber = MemoTextbox.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; } if (!AllStatusRB.Checked) { if (UsedStatusRB.Checked) { model.Status = ReturnStatusType.Used; } else { model.Status = ReturnStatusType.Unused; } } else { model.Status = ReturnStatusType.All; } return(model); }
private void LoadPurchaseReturn(PurchaseReturnFilterModel filter) { int records = 0; long elapsedTime = ClientHelper.PerformFetch(() => { var results = this.purchaseReturnController.FetchPurchaseReturnWithSearch(filter); purchaseReturnDisplayModelBindingSource.DataSource = results; if (purchaseReturnDisplayModelBindingSource.Count == 0) { purchaseReturnDetailModelBindingSource.DataSource = null; } records = results.Count; }); ((MainForm)this.ParentForm).AttachStatus(records, elapsedTime); }
void form_PurchaseReturnUpdated(object sender, EventArgs e) { PurchaseReturnFilterModel filter = ComposeSearch(); LoadPurchaseReturn(filter); if (selectedId == 0) { purchaseReturnDisplayModelBindingSource.Position = purchaseReturnDisplayModelBindingSource.Count - 1; } else { PurchaseReturnDisplayModel item = ((SortableBindingList <PurchaseReturnDisplayModel>)purchaseReturnDisplayModelBindingSource.DataSource) .FirstOrDefault(a => a.Id == selectedId); int index = purchaseReturnDisplayModelBindingSource.IndexOf(item); purchaseReturnDisplayModelBindingSource.Position = index; dataGridView1.Rows[index].Selected = true; } }
public void RefreshView() { PurchaseReturnFilterModel filter = ComposeSearch(); LoadPurchaseReturn(filter); }
private void SearchButton_Click(object sender, EventArgs e) { PurchaseReturnFilterModel filter = ComposeSearch(); LoadPurchaseReturn(filter); }
public SortableBindingList <PurchaseReturnDisplayModel> FetchPurchaseReturnWithSearch(PurchaseReturnFilterModel filter) { try { var query = CreateQuery(filter); var result = from a in query select new PurchaseReturnDisplayModel { Id = a.Id, MemoNumber = a.MemoNumber, Customer = a.Customer.CompanyName, ReturnDate = a.ReturnDate.Value, AmountReturn = a.AmountReturn.Value, Adjustment = a.Adjustment.Value, TotalDebitAmount = a.TotalDebitAmount.Value, Remarks = a.Remarks, RecordedBy = a.RecordedByUser.Firstname + " " + a.RecordedByUser.Lastname, AmountUsed = a.AmountUsed.HasValue ? a.AmountUsed.Value : 0, //ApprovedBy = a.ApprovedBy.HasValue ? a.ApprovedByUser.Firstname + " " + a.ApprovedByUser.Lastname : "-", IsDeleted = a.IsDeleted.Value, }; SortableBindingList <PurchaseReturnDisplayModel> b = new SortableBindingList <PurchaseReturnDisplayModel>(result); return(b); } catch (Exception ex) { throw ex; } }
private IQueryable <PurchaseReturn> CreateQuery(PurchaseReturnFilterModel filter) { var items = from i in db.PurchaseReturn where i.IsDeleted == false select i; if (filter != null) { if (filter.CustomerId != 0) { items = items.Where(a => a.CustomerId == filter.CustomerId); } if (!string.IsNullOrWhiteSpace(filter.MemoNumber)) { items = items.Where(a => a.MemoNumber.Contains(filter.MemoNumber)); } if (filter.AmountType != NumericSearchType.All) { if (filter.AmountType == NumericSearchType.Equal) { items = items.Where(a => a.TotalDebitAmount == filter.AmountValue); } else if (filter.AmountType == NumericSearchType.GreaterThan) { items = items.Where(a => a.TotalDebitAmount > filter.AmountValue); } else if (filter.AmountType == NumericSearchType.LessThan) { items = items.Where(a => a.TotalDebitAmount < filter.AmountValue); } } if (filter.DateType != DateSearchType.All) { DateTime dateFrom = filter.DateFrom.Date; DateTime dateTo = filter.DateTo.AddDays(1).Date; items = items.Where(a => a.ReturnDate >= dateFrom && a.ReturnDate < dateTo); } if (filter.Status != ReturnStatusType.All) { if (filter.Status == ReturnStatusType.Used) { items = items.Where(a => a.IsUsed != null && a.IsUsed == true); } else { items = items.Where(a => a.IsUsed == null || a.IsUsed == false); } } } else { //Default sorting items = items.OrderByDescending(a => a.ReturnDate); } return(items); }