public SortableBindingList <PurchaseDisplayModel> FetchAPWithSearch(PurchaseFilterModel filter) { try { var query = CreateQuery(filter); query = query.Where(a => a.IsPaid == false); var result = from a in query.ToList() select new PurchaseDisplayModel { Id = a.Id, Customer = a.Supplier, PONumber = a.InvoiceNumber, PurchaseDate = a.Date.Value, Type = a.Type.HasValue ? GetPurchaseType(a.Type.Value) : "-", TotalAmount = a.TotalAmount.Value, IsPaid = a.IsPaid.Value, //IsDelivered = a.IsDelivered.Value, RecordedBy = a.RecordedBy, //ApprovedBy = a.ApprovedBy.HasValue ? a.ApprovedByUser.Firstname + " " + a.ApprovedByUser.Lastname : "-", IsDeleted = a.IsDeleted.Value, }; SortableBindingList <PurchaseDisplayModel> b = new SortableBindingList <PurchaseDisplayModel>(result); return(b); } catch (Exception ex) { throw ex; } }
private void DeleteButton_Click(object sender, EventArgs e) { if (!UserInfo.IsAdmin) { ClientHelper.ShowErrorMessage("You are not authorized to delete this record."); return; } if (dataGridView1.SelectedRows.Count > 0) { int id = (int)dataGridView1.SelectedRows[0].Cells[PurchaseIdColumn.Name].Value; if (this.purchaseController.ItemHasPaymentOrReturn(id)) { ClientHelper.ShowErrorMessage("This purchase is already paid or has a return item."); return; } if (ClientHelper.ShowConfirmMessage("Are you sure you want to delete this purchase?") == DialogResult.Yes) { this.purchaseController.DeletePurchase(id); PurchaseFilterModel filter = ComposeSearch(); LoadPurchases(filter); } } }
public SortableBindingList <PurchasesView> FetchPurchaseWithSearch(PurchaseFilterModel filter) { try { var query = CreateQuery(filter); SortableBindingList <PurchasesView> b = new SortableBindingList <PurchasesView>(query); return(b); } catch (Exception ex) { throw ex; } }
private void LoadPurchases(PurchaseFilterModel filter) { int records = 0; long elapsedTime = ClientHelper.PerformFetch(() => { var purchases = this.purchaseController.FetchPurchaseWithSearch(filter); purchaseDisplayModelBindingSource.DataSource = purchases; if (purchaseDisplayModelBindingSource.Count == 0) { purchaseDetailViewModelBindingSource.DataSource = null; } records = purchases.Count; TotalSalesTextbox.Text = purchases.Sum(a => a.TotalAmount).Value.ToString("Php #,##0.00"); }); ((MainForm)this.ParentForm).AttachStatus(records, elapsedTime); }
private void LoadInvoices() { var dateFrom = DateFromPicker.Value; var dateTo = DateToPicker.Value; PurchaseFilterModel filter = new PurchaseFilterModel() { CustomerId = this.SupplierId, Paid = PaidType.NotPaid, DateType = dateFrom == dateTo ? DateSearchType.All : DateSearchType.DateRange, DateFrom = dateFrom, DateTo = dateTo, Type = -1 }; var invoices = this.purchaseController.FetchPurchaseWithSearch(filter); purchaseDisplayModelBindingSource.DataSource = invoices; }
void form_PurchaseUpdated(object sender, EventArgs e) { PurchaseFilterModel filter = ComposeSearch(); LoadPurchases(filter); dataGridView1.ClearSelection(); if (selectedId == 0) { purchaseDisplayModelBindingSource.Position = purchaseDisplayModelBindingSource.Count - 1; } else { PurchasesView item = ((SortableBindingList <PurchasesView>)purchaseDisplayModelBindingSource.DataSource) .FirstOrDefault(a => a.Id == selectedId); int index = purchaseDisplayModelBindingSource.IndexOf(item); purchaseDisplayModelBindingSource.Position = index; dataGridView1.Rows[index].Selected = true; } }
private IQueryable <PurchasesView> CreateQuery(PurchaseFilterModel filter) { db.PurchasesView.MergeOption = MergeOption.OverwriteChanges; var items = db.PurchasesView .Where(a => a.IsDeleted == false); if (filter != null) { if (filter.CustomerId != 0) { items = items.Where(a => a.CustomerId == filter.CustomerId); } if (!string.IsNullOrWhiteSpace(filter.InvoiceNumber)) { items = items.Where(a => a.InvoiceNumber.Contains(filter.InvoiceNumber)); } if (filter.AmountType != NumericSearchType.All) { if (filter.AmountType == NumericSearchType.Equal) { items = items.Where(a => a.TotalAmount == filter.AmountValue); } else if (filter.AmountType == NumericSearchType.GreaterThan) { items = items.Where(a => a.TotalAmount > filter.AmountValue); } else if (filter.AmountType == NumericSearchType.LessThan) { items = items.Where(a => a.TotalAmount < filter.AmountValue); } } if (filter.Type != -1) { items = items.Where(a => a.Type == filter.Type); } 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); } if (filter.Paid != PaidType.None) { if (filter.Paid == PaidType.Paid) { items = items.Where(a => a.IsPaid == true); } else if (filter.Paid == PaidType.NotPaid) { items = items.Where(a => a.IsPaid == false); } } if (!string.IsNullOrWhiteSpace(filter.PR)) { items = items.Where(a => a.PurchaseRequisitions.Any(b => b.PRNumber.Contains(filter.PR))); } if (!string.IsNullOrWhiteSpace(filter.PO)) { items = items.Where(a => a.PurchaseOrders.Any(b => b.PONumber.Contains(filter.PO))); } } else { //Default sorting items = items.OrderByDescending(a => a.Date); } return(items); }
private PurchaseFilterModel ComposeSearch() { PurchaseFilterModel model = new PurchaseFilterModel(); if (CustomerDropdown.SelectedIndex != -1) { model.CustomerId = (int)CustomerDropdown.SelectedValue; } if (!string.IsNullOrWhiteSpace(POTextbox.Text)) { model.InvoiceNumber = POTextbox.Text.Trim(); } model.Type = TypeDropdown.SelectedIndex; if (AmountTypeDropdown.SelectedIndex != -1) { if (AmountTypeDropdown.SelectedIndex == 1) { model.AmountType = NumericSearchType.Equal; model.AmountValue = AmountTextbox.Text.ToDecimal(); } else if (AmountTypeDropdown.SelectedIndex == 2) { model.AmountType = NumericSearchType.GreaterThan; model.AmountValue = AmountTextbox.Text.ToDecimal(); } else if (AmountTypeDropdown.SelectedIndex == 3) { model.AmountType = NumericSearchType.LessThan; model.AmountValue = AmountTextbox.Text.ToDecimal(); } } else { model.AmountType = NumericSearchType.All; } if (!AllDateRB.Checked) { model.DateType = DateSearchType.DateRange; model.DateTo = DateToPicker.Value; model.DateFrom = DateFromPicker.Value; } else { model.DateType = DateSearchType.All; } if (AllPaidRB.Checked) { model.Paid = PaidType.None; } else if (PaidRB.Checked) { model.Paid = PaidType.Paid; } else if (UnpaidRB.Checked) { model.Paid = PaidType.NotPaid; } model.PR = PRTextbox.Text; model.PO = POrderTextbox.Text; return(model); }
public void RefreshView() { PurchaseFilterModel filter = ComposeSearch(); LoadPurchases(filter); }
private void SearchButton_Click(object sender, EventArgs e) { PurchaseFilterModel filter = ComposeSearch(); LoadPurchases(filter); }