Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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);
                }
            }
        }
Exemplo n.º 3
0
        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;
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
        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;
            }
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        public void RefreshView()
        {
            PurchaseFilterModel filter = ComposeSearch();

            LoadPurchases(filter);
        }
Exemplo n.º 10
0
        private void SearchButton_Click(object sender, EventArgs e)
        {
            PurchaseFilterModel filter = ComposeSearch();

            LoadPurchases(filter);
        }