private void FillGrid() { dgvInvoiceItems.DataSource = null; dgvInvoiceItems.DataSource = PurchaseInvoiceItemVms; dgvInvoiceItems.Columns[0].Visible = false; btnDeleteItem.Enabled = PurchaseInvoiceItemVms.Any(); }
private void DeleteItem() { var materialId = int.Parse(dgvInvoiceItems.SelectedRows[0].Cells[0].Value.ToString()); var deletedMaterialQuantity = decimal.Parse(dgvInvoiceItems.SelectedRows[0].Cells["Quantity"].Value .ToString()); PurchaseInvoiceItemVms.Remove(PurchaseInvoiceItemVms.Find(item => item.MaterialId == materialId)); MaterialsList.Find(material => material.Id == materialId).AvailableQuantity += deletedMaterialQuantity; FillGrid(); SetTotalPrice(); ResetInsertControls(); }
private void InsertItem() { ErrorProvider.Clear(); var isFormValid = true; if (cmbMaterials.SelectedIndex == 0) { isFormValid = false; ErrorProvider.SetError(cmbMaterials, Resources.ShouldSelectMaterial); } if (Math.Abs(dblInQuantity.Value) <= 0) { isFormValid = false; ErrorProvider.SetError(dblInQuantity, Resources.ThisFieldIsRequired); } if (Math.Abs(dblInUnitPrice.Value) <= 0) { isFormValid = false; ErrorProvider.SetError(dblInUnitPrice, Resources.ThisFieldIsRequired); } if (!isFormValid) { return; } var unitPrice = (decimal)dblInUnitPrice.Value; var addedQuantity = (decimal)dblInQuantity.Value; var materialId = int.Parse(cmbMaterials.SelectedValue.ToString()); if (PurchaseInvoiceItemVms.Exists(item => item.MaterialId == materialId)) { var purchaseInvoiceItem = PurchaseInvoiceItemVms.Find(item => item.MaterialId == materialId); purchaseInvoiceItem.Quantity += addedQuantity; } else { PurchaseInvoiceItemVms.Add(new PurchaseInvoiceItemVm { MaterialId = materialId, MaterialCode = MaterialsList.FirstOrDefault(material => material.Id == materialId)?.Code, MaterialName = ((KeyValuePair <int, string>)cmbMaterials.SelectedItem).Value, UnitPrice = unitPrice, Quantity = addedQuantity, Notes = txtNotes.Text.FullTrim() }); } MaterialsList.Find(material => material.Id == materialId).AvailableQuantity -= addedQuantity; FillGrid(); SetTotalPrice(); ResetInsertControls(); }
private void SetTotalPrice() { dblInTotal.Value = (double)PurchaseInvoiceItemVms.Select(item => item.TotalPrice).Sum(); }
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(); }