private void simpleButton2_Click(object sender, EventArgs e) { if (SelectedFinanceInvoiceDetail == null) { return; } DialogResult result = XtraMessageBox.Show("هـل تـريـــد حــذف الصنـــف ? " + "\r\n" + SelectedFinanceInvoiceDetail.InventoryItemName, "تنبيــــه", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, DefaultBoolean.Default); switch (result) { case DialogResult.Yes: FinanceInvoiceDetailsList.Remove(SelectedFinanceInvoiceDetail); break; } grdInventoryItems.DataSource = FinanceInvoiceDetailsList; InventoryBusinessLogicEngine.List_ActiveFinanceInvoiceDetails = FinanceInvoiceDetailsList; spnAccummulativeAmount.EditValue = FinancialBusinessLogicLibrary.GetTotalNet(FinanceInvoiceDetailsList); grdInventoryItems.RefreshDataSource(); ClearControls(); }
public override bool AfterSave() { if ((FinanceInvoice)ActiveDBItem == null) { return(false); } if (FinanceInvoiceDetailsList != null && FinanceInvoiceDetailsList.Count > 0) { foreach (FinanceInvoiceDetail invoiceDetail in FinanceInvoiceDetailsList.OrderBy(item => item.UnitMeasurment_CU_ID)) { InventoryItemTransaction inventoryItemTransaction = DBCommon.CreateNewDBEntity <InventoryItemTransaction>(); inventoryItemTransaction.UnitMeasurment_CU_ID = Convert.ToInt32(invoiceDetail.UnitMeasurment_CU_ID); inventoryItemTransaction.InventoryItem_CU_ID = Convert.ToInt32(invoiceDetail.InventoryItem_CU_ID); inventoryItemTransaction.InventoryHousing_CU_ID = Convert.ToInt32(invoiceDetail.InventoryHousing_CU_ID); inventoryItemTransaction.Quantity = Convert.ToDouble(invoiceDetail.Quantity); inventoryItemTransaction.Date = Convert.ToDateTime(invoiceDetail.Date); inventoryItemTransaction.IsOnDuty = true; if (UserID != null) { inventoryItemTransaction.InsertedBy = Convert.ToInt32(UserID); } DB_InvoiceType invoiceType = (DB_InvoiceType)Convert.ToInt32(((FinanceInvoice)ActiveDBItem).InvoiceType_P_ID); switch (invoiceType) { case DB_InvoiceType.SellingInvoice: case DB_InvoiceType.ReturningPurchasingInvoice: inventoryItemTransaction.TransactionFactor = -1; inventoryItemTransaction.InventoryItemTransactionType_P_ID = Convert.ToInt32(DB_InventoryItemTransactionType.OutputTransaction); break; case DB_InvoiceType.PurchasingInvoice: case DB_InvoiceType.ReturningSellingInvoice: inventoryItemTransaction.TransactionFactor = 1; inventoryItemTransaction.InventoryItemTransactionType_P_ID = Convert.ToInt32(DB_InventoryItemTransactionType.InputTransaction); break; } inventoryItemTransaction.SaveChanges(); } } FinanceInvoiceDetailsList = null; return(true); }
private void btnAddToList_Click(object sender, EventArgs e) { if (Line_InventoryItemAvaliableQuantity == null || Line_InventoryItem_CU_ID == null || Line_UnitMeasurment_CU_ID == null || Line_Quantity == null || Line_PricePerUnit == null) { return; } InventoryItem_cu inventoryItem = InventoryItem_cu.ItemsList.Find(item => Convert.ToInt32(item.ID).Equals(Convert.ToInt32(Line_InventoryItem_CU_ID))); if (inventoryItem == null || inventoryItem.InventoryTrackingUnitMeasurment == null) { return; } UnitMeasurment_cu transactionUnitMeasurment = UnitMeasurment_cu.ItemsList.Find(item => Convert.ToInt32(item.ID).Equals(Convert.ToInt32(Line_UnitMeasurment_CU_ID))); double transactionQuantity = Convert.ToDouble(Line_Quantity); if (InventoryBusinessLogicEngine.CanBeAdded((DB_InvoiceType)InvoiceTypeID, inventoryItem, InventoryHousing_CU_ID, transactionUnitMeasurment, transactionQuantity)) { FinanceInvoiceDetail financeInvoiceDetail = MerkDBBusinessLogicEngine.CreateNew_FinanceInvoiceDetail(null, Line_InventoryItem_CU_ID, Line_PricePerUnit, Line_UnitMeasurment_CU_ID, Line_Quantity, InvoiceCreationDate, Line_DiscountAmount, Line_DiscountTypeID, Line_Description, Line_IsSurchargeApplied, 0); if (financeInvoiceDetail == null) { return; } if (FinanceInvoiceDetailsList == null) { FinanceInvoiceDetailsList = new List <FinanceInvoiceDetail>(); } if (InventoryBusinessLogicEngine.List_ActiveFinanceInvoiceDetails == null) { InventoryBusinessLogicEngine.List_ActiveFinanceInvoiceDetails = new List <FinanceInvoiceDetail>(); } if (FinanceInvoiceDetailsList.Count == 0) { FinanceInvoiceDetailsList.Add(financeInvoiceDetail); } else { if (FinanceInvoiceDetailsList.Exists( item => Convert.ToInt32(item.InventoryItem_CU_ID).Equals(Convert.ToInt32(financeInvoiceDetail.InventoryItem_CU_ID)) && Convert.ToInt32(item.UnitMeasurment_CU_ID).Equals(Convert.ToInt32(financeInvoiceDetail.UnitMeasurment_CU_ID)))) { DialogResult result = XtraMessageBox.Show("قـد تمـت إضـافتــــه مـن قبــل." + "\r\n\r\n" + "هـل تـريــد إضـافتـــه ؟", "تنبيـــه", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, DefaultBoolean.Default); switch (result) { case DialogResult.Yes: FinanceInvoiceDetailsList.Add(financeInvoiceDetail); break; } } else { FinanceInvoiceDetailsList.Add(financeInvoiceDetail); } } } else { switch ((DB_InvoiceType)InvoiceTypeID) { case DB_InvoiceType.SellingInvoice: XtraMessageBox.Show( "لا يمكنـك الإضـافـــة، حيـث أن العــدد أكبــر مـن الحــد الأدنـى للمخــزون" + "\r\n\r\n" + "الحـــد الأدنـــــى : " + inventoryItem.StockMinLevel + " " + inventoryItem.InventoryTrackingUnitMeasurment.Name_P, "تنبيـــه", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, DefaultBoolean.Default); break; case DB_InvoiceType.PurchasingInvoice: XtraMessageBox.Show( "لا يمكنـك الإضـافـــة، حيـث أن الكميـــة المضـافــــــة تخطــت الحـــد الأقصـــى للمخـــــزون" + "\r\n\r\n" + "الحـــد الأقصـــى : " + inventoryItem.StockMaxLevel + " " + inventoryItem.InventoryTrackingUnitMeasurment.Name_P, "تنبيـــه", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1); break; } } grdInventoryItems.DataSource = FinanceInvoiceDetailsList; InventoryBusinessLogicEngine.List_ActiveFinanceInvoiceDetails = FinanceInvoiceDetailsList; spnAccummulativeAmount.EditValue = spnAmountPaid.EditValue = FinancialBusinessLogicLibrary.GetTotalNet(FinanceInvoiceDetailsList); grdInventoryItems.RefreshDataSource(); ClearControls(); }