public static FinanceInvoiceDetail CreateNew_FinanceInvoiceDetail(FinanceInvoiceDetail parentFinanceInvoiceDetail, object inventoryItemID, object pricePerUnit, object unitMeasurmentID, object quantity, object date, object discountAmount, object discountTypeID, object description, object isSurchargeApplied, object surchargeAmount) { if (inventoryItemID == null || pricePerUnit == null || unitMeasurmentID == null || quantity == null || date == null) { return(null); } FinanceInvoiceDetail financeInvoiceDetail = new FinanceInvoiceDetail(); if (parentFinanceInvoiceDetail != null) { if (parentFinanceInvoiceDetail.FinanceInvoiceDetail2 == null) { parentFinanceInvoiceDetail.FinanceInvoiceDetail2 = new FinanceInvoiceDetail(); } parentFinanceInvoiceDetail.FinanceInvoiceDetail1.Add(financeInvoiceDetail); } InventoryItem_cu inventoryItem = InventoryItem_cu.ItemsList.Find(item => Convert.ToInt32(item.ID).Equals(Convert.ToInt32(inventoryItemID))); if (inventoryItem == null) { return(null); } financeInvoiceDetail.InventoryItem_CU_ID = inventoryItem.ID; financeInvoiceDetail.InventoryHousing_CU_ID = inventoryItem.InventoryHousing_CU_ID; financeInvoiceDetail.PricePerUnit = Convert.ToDouble(pricePerUnit); financeInvoiceDetail.UnitMeasurment_CU_ID = Convert.ToInt32(unitMeasurmentID); financeInvoiceDetail.Quantity = Convert.ToDouble(quantity); financeInvoiceDetail.Date = Convert.ToDateTime(date); if (discountAmount != null) { financeInvoiceDetail.DiscountAmount = Convert.ToDouble(discountAmount); } else { financeInvoiceDetail.DiscountAmount = 0; } financeInvoiceDetail.IsSurchargeApplied = Convert.ToBoolean(isSurchargeApplied); if (surchargeAmount != null) { financeInvoiceDetail.SurchargeAmount = Convert.ToDouble(surchargeAmount); } if (description != null) { financeInvoiceDetail.Description = description.ToString(); } financeInvoiceDetail.IsOnDuty = true; return(financeInvoiceDetail); }
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(); }