コード例 #1
0
        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);
        }
コード例 #3
0
        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();
        }