Пример #1
0
        private void Pay()
        {
            var enteredAmount = (decimal)dblInPaid.Value;
            var paidInvoices  = new List <KeyValuePair <DateTime, decimal> >();

            foreach (var invoice in SupplierInvoices)
            {
                if (enteredAmount <= 0)
                {
                    break;
                }
                var paid = invoice.Remaining <= enteredAmount ? invoice.Remaining : enteredAmount;
                PurchaseInvoicePaymentManager.AddPurchaseInvoicePayment(new PurchaseInvoicePayment
                {
                    Date      = dtPaymentDate.Value,
                    InvoiceId = invoice.InvoiceId,
                    Paid      = paid
                });
                paidInvoices.Add(new KeyValuePair <DateTime, decimal>(invoice.Date, paid));
                PurchaseInvoiceManager.UpdatePurchaseInvoicePaidAmount(invoice.InvoiceId, paid);
                enteredAmount -= paid;
            }
            ShowSuccessMsg(paidInvoices, (decimal)dblInRemaining.Value);
            ShowInvoices();
        }
Пример #2
0
        private void ShowInvoices()
        {
            var isFormValid = true;

            if (!SuppliersNames.Contains(txtSupplierName.Text.FullTrim()))
            {
                isFormValid = false;
                ShowErrorMsg(Resources.MakeSureOfSupplierName);
            }
            if (!isFormValid)
            {
                return;
            }
            SupplierInvoices = PurchaseInvoiceManager
                               .GetSupplierRemainingInvoices(SupplierManager.GetSupplierIdByName(txtSupplierName.Text.FullTrim()))
                               .OrderBy(invoice => invoice.Date).ToList();
            if (SupplierInvoices.Any())
            {
                FillGrid();
            }
            else
            {
                ShowInfoMsg(Resources.SupplierHasNoRemainingInvoices);
                dgvInvoices.DataSource = null;
                dblInTotal.Value       = 0;
            }
        }
Пример #3
0
        private void DeleteSupplier()
        {
            var supplierId = int.Parse(dgvSuppliers.SelectedRows[0].Cells[0].Value.ToString());

            if (PurchaseInvoiceManager.IsSupplierHasPurchaseInvoices(supplierId))
            {
                ShowErrorMsg(Resources.SupplierNotDeletedDueToHisInvoices);
                return;
            }

            SupplierManager.DeleteSupplier(supplierId);
            ResetForm();
        }
Пример #4
0
 private void btnDelete_Click(object sender, EventArgs e)
 {
     if (ShowConfirmationDialog(Resources.DeleteInvoiceConfirmationMsg) == DialogResult.Yes)
     {
         if (dgvInvoices.Rows.Count > 0)
         {
             var purchaseInvoiceId    = int.Parse(dgvInvoices.SelectedRows[0].Cells[0].Value.ToString());
             var purchaseInvoice      = PurchaseInvoiceManager.GetPurchaseInvoiceById(purchaseInvoiceId);
             var purchaseInvoiceItems = purchaseInvoice.PurchaseInvoiceItems.ToList();
             MaterialManager.UpdateQuantitiesAfterDeletingPurchaseInvoice(purchaseInvoiceItems);
             PurchaseInvoiceItemManager.DeletePurchaseInvoiceItems(purchaseInvoiceItems);
             PurchaseInvoicePaymentManager.DeletePurchaseInvoicePayments(purchaseInvoice.PurchaseInvoicePayments
                                                                         .ToList());
             PurchaseInvoiceManager.DeletePurchaseInvoice(purchaseInvoice);
             ResetForm();
         }
     }
 }
Пример #5
0
        private void SavePurchaseInvoice()
        {
            ErrorProvider.Clear();
            var      isFormValid = true;
            Supplier newSupplier = null;

            if (txtSupplierName.Text.IsNullOrEmptyOrWhiteSpace())
            {
                isFormValid = false;
                ErrorProvider.SetError(txtSupplierName, Resources.ThisFieldIsRequired);
            }
            else if (!SuppliersNames.Contains(txtSupplierName.Text.FullTrim()))
            {
                isFormValid = ShowConfirmationDialog(Resources.SupplierNotExists) == DialogResult.Yes;
                newSupplier = new Supplier {
                    Name = txtSupplierName.Text.FullTrim()
                };
            }

            if (!PurchaseInvoiceItemVms.Any())
            {
                isFormValid = false;
                ShowErrorMsg(Resources.InvoiceWithoutItems);
            }

            if (!isFormValid)
            {
                return;
            }
            if (!PurchaseInvoiceItemVms.Any())
            {
                ShowErrorMsg(Resources.NoItemsAdded);
                return;
            }

            if (newSupplier != null)
            {
                SupplierManager.AddSupplier(newSupplier);
            }

            var purchaseInvoice = new PurchaseInvoice
            {
                SupplierId = SupplierManager.GetSupplierIdByName(txtSupplierName.Text.FullTrim()),
                Date       = dtInvoiceDate.Value,
                Total      = (decimal)dblInTotal.Value,
                Paid       = (decimal)dblInPaid.Value,
                Discount   = (decimal)dblInDiscount.Value
            };

            PurchaseInvoiceManager.AddPurchaseInvoice(purchaseInvoice);
            PurchaseInvoiceItemManager.AddPurchaseInvoiceItems(PurchaseInvoiceItemVms.Select(item =>
                                                                                             new PurchaseInvoiceItem
            {
                InvoiceId  = purchaseInvoice.Id,
                MaterialId = item.MaterialId,
                Quantity   = item.Quantity,
                UnitPrice  = item.UnitPrice,
                Notes      = item.Notes
            }).ToList());
            if (purchaseInvoice.Paid > 0)
            {
                PurchaseInvoicePaymentManager.AddPurchaseInvoicePayment(new PurchaseInvoicePayment
                {
                    InvoiceId = purchaseInvoice.Id,
                    Date      = dtInvoiceDate.Value,
                    Paid      = (decimal)dblInPaid.Value
                });
            }
            MaterialManager.UpdateQuantitiesAfterCreatingPurchaseInvoice(PurchaseInvoiceItemVms);
            ShowInfoMsg(Resources.InvoiceCreatedSuccessfully);
            Close();
        }
Пример #6
0
 private void GetInvoices()
 {
     PurchaseInvoices = PurchaseInvoiceManager.GetAllPurchaseInvoices()
                        .OrderByDescending(invoice => invoice.Date).ToList();
 }