예제 #1
0
        private void lkeInventoryItem_EditValueChanged(object sender, EventArgs e)
        {
            if (lkeInventoryItem.EditValue == null)
            {
                lkeInventoryItem.Properties.DataSource = null;
                return;
            }

            List <UnitMeasurment_cu> unitMeasurmentList =
                InventoryBusinessLogicEngine.GetInventoryItemRegisteredUnitMeasurments(Convert.ToInt32(lkeInventoryItem.EditValue));

            if (unitMeasurmentList.Count == 0)
            {
                XtraMessageBox.Show("لا يـوجـــد وحـدات قيــــاس مـربـوطــــة مـع هــذا المنتــــج", "تنبيـــــه",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, DefaultBoolean.Default);
            }

            UnitMeasurment_cu inventoryTrackingUnit =
                InventoryBusinessLogicEngine.GetInventoryTrackingUnitMeasurment(lkeInventoryItem.EditValue);

            if (inventoryTrackingUnit == null)
            {
                return;
            }

            CommonViewsActions.FillGridlookupEdit(lkeUnitMeasurment,
                                                  unitMeasurmentList.FindAll(item => Convert.ToInt32(item.ID).Equals(Convert.ToInt32(inventoryTrackingUnit.ID))));
            lkeUnitMeasurment.EditValue = inventoryTrackingUnit.ID;
        }
예제 #2
0
        private void lkeFloor_EditValueChanged(object sender, EventArgs e)
        {
            if (lkeFloor.EditValue == null)
            {
                return;
            }

            chkIsMan.Enabled = !InventoryBusinessLogicEngine.IsFloorOfLocationHasMainInventory(Convert.ToInt32(lkeFloor.EditValue));
        }
        private void lkeInventoryItems_EditValueChanged(object sender, EventArgs e)
        {
            if (lkeInventoryItems.EditValue == null)
            {
                return;
            }

            spnInventoryItemTotalArea.EditValue =
                InventoryBusinessLogicEngine.GetInventoryItemTotalAreaParts(Convert.ToInt32(lkeInventoryItems.EditValue));
        }
예제 #4
0
        private void lkeInventoryItem_EditValueChanged(object sender, EventArgs e)
        {
            if (lkeInventoryItem.EditValue == null)
            {
                lkeUnitMeasurment.Properties.DataSource = null;
                return;
            }

            List <UnitMeasurment_cu> unitsList =
                InventoryBusinessLogicEngine.GetInventoryItemRegisteredUnitMeasurments(Convert.ToInt32(lkeInventoryItem.EditValue));

            CommonViewsActions.FillGridlookupEdit(lkeUnitMeasurment, unitsList);
        }
예제 #5
0
        private void lkeInternalCode_EditValueChanged(object sender, EventArgs e)
        {
            if (lkeInternalCode.EditValue == null)
            {
                return;
            }

            InventoryItem_cu inventoryItem = InventoryBusinessLogicEngine.GetInventoryItem(lkeInternalCode.EditValue);

            if (inventoryItem != null)
            {
                lkeInventoryItems.EditValue = inventoryItem.ID;
            }

            btnCalculate_Click(null, null);
        }
예제 #6
0
        private void btnInventoryItem_UnitMeasurment_Click(object sender, EventArgs e)
        {
            BaseController <InventoryItem_UnitMeasurment_cu> .ShowEditorControl(ref _intInventoryItemUnitMeasurmentEditorViewer, this, null, null,
                                                                                EditorContainerType.Regular, ViewerName.InventoryItem_UnitMeasurment_Viewer, DB_CommonTransactionType.CreateNew,
                                                                                "ربـط المنتجــــات بـوحـــدات القيــــاس", true);

            if (lkeInventoryItem.EditValue == null)
            {
                lkeUnitMeasurment.Properties.DataSource = null;
                return;
            }

            List <UnitMeasurment_cu> unitsList =
                InventoryBusinessLogicEngine.GetInventoryItemRegisteredUnitMeasurments(Convert.ToInt32(lkeInventoryItem.EditValue));

            CommonViewsActions.FillGridlookupEdit(lkeUnitMeasurment, unitsList);
        }
예제 #7
0
        private void btnCalculate_Click(object sender, EventArgs e)
        {
            List <InventoryItemDetailsConstructor> list        = new List <InventoryItemDetailsConstructor>();
            List <InventoryItemDetailsConstructor> summaryList = new List <InventoryItemDetailsConstructor>();

            if (lkeInventoryItems.EditValue != null && lkeInternalCode.EditValue == null)
            {
                list = InventoryBusinessLogicEngine.GetParentConstructorDetailsList(lkeInventoryItems.EditValue);
            }
            else if (lkeInternalCode.EditValue != null)
            {
                list = InventoryBusinessLogicEngine.GetParentConstructorDetailsList(lkeInternalCode.EditValue);
            }
            else if (lkeInventoryItems.EditValue == null && lkeInternalCode.EditValue == null)
            {
                XtraMessageBox.Show("يجـــب إختيـــار المنتــج", "تنبيـــه", MessageBoxButtons.OK, MessageBoxIcon.Error,
                                    MessageBoxDefaultButton.Button1, DefaultBoolean.Default);
            }

            summaryList = list.FindAll(item => item.ListType.Equals(ListType.SummaryInventoryItems));
            List <InventoryItem_AreaPartsDetailsConstructor> areaPartsList = new List <InventoryItem_AreaPartsDetailsConstructor>();
            List <InventoryItem_PrintingDetailsConstructor>  printingList  = new List <InventoryItem_PrintingDetailsConstructor>();

            if (summaryList != null && summaryList.Count > 0)
            {
                areaPartsList =
                    summaryList.SelectMany(item => item.List_InventoryItem_AreaPartsDetailsConstructor).ToList();
            }
            if (summaryList != null && summaryList.Count > 0)
            {
                printingList =
                    summaryList.SelectMany(item => item.List_InventoryItem_PrintingDetailsConstructor).ToList();
            }

            grdAreaParts.DataSource = areaPartsList;
            grdPrinting.DataSource  = printingList;

            spnWidth.EditValue            = list[0].ItemWidth;
            spnHeight.EditValue           = list[0].ItemHeight;
            spnDepth.EditValue            = list[0].ItemDepth;
            spnTotalParts.EditValue       = list[0].PartsCount;
            spnTotalAreaParts.EditValue   = list[0].TotalPartsArea;
            spnPrintingUnitCost.EditValue = list[0].PrintingUnitCost;
        }
예제 #8
0
        private void lkeUnitMeasurments_EditValueChanged(object sender, EventArgs e)
        {
            if (lkeInventoryItems.EditValue == null)
            {
                return;
            }

            DB_PriceType   priceType   = DB_PriceType.None;
            DB_InvoiceType invoiceType = (DB_InvoiceType)InvoiceTypeID;

            switch (invoiceType)
            {
            case DB_InvoiceType.SellingInvoice:
            case DB_InvoiceType.ReturningSellingInvoice:
                priceType = DB_PriceType.SellingPrice;
                break;

            case DB_InvoiceType.PurchasingInvoice:
            case DB_InvoiceType.ReturningPurchasingInvoice:
                priceType = DB_PriceType.PurchasingPrice;
                break;
            }

            Line_PricePerUnit = InventoryBusinessLogicEngine.GetInventoryItemSellingPrice(Line_InventoryItem_CU_ID,
                                                                                          Line_UnitMeasurment_CU_ID, InvoiceCreationDate, Person_CU_ID, priceType);

            Line_InventoryItemAvaliableQuantity =
                Math.Floor(InventoryBusinessLogicEngine.GetInventoryItemAvailableQuantity(Line_InventoryItem_CU_ID,
                                                                                          Line_UnitMeasurment_CU_ID, InventoryHousing_CU_ID));

            UnitMeasurment_cu inventoryTrackingUnitMeasurment =
                InventoryBusinessLogicEngine.GetInventoryTrackingUnitMeasurment(Line_InventoryItem_CU_ID);

            if (inventoryTrackingUnitMeasurment == null)
            {
                txtEncapsulatedQuantity.EditValue = 1;
            }
            else
            {
                txtEncapsulatedQuantity.EditValue = InventoryBusinessLogicEngine.GetEncapsulatedQuantity(Line_UnitMeasurment_CU_ID,
                                                                                                         inventoryTrackingUnitMeasurment.ID);
            }
        }
예제 #9
0
        private void lkeDedicatedPerson_EditValueChanged(object sender, EventArgs e)
        {
            DB_PriceType   priceType   = DB_PriceType.None;
            DB_InvoiceType invoiceType = (DB_InvoiceType)InvoiceTypeID;

            switch (invoiceType)
            {
            case DB_InvoiceType.SellingInvoice:
            case DB_InvoiceType.ReturningSellingInvoice:
                priceType = DB_PriceType.SellingPrice;
                break;

            case DB_InvoiceType.PurchasingInvoice:
            case DB_InvoiceType.ReturningPurchasingInvoice:
                priceType = DB_PriceType.PurchasingPrice;
                break;
            }
            Line_PricePerUnit = InventoryBusinessLogicEngine.GetInventoryItemSellingPrice(Line_InventoryItem_CU_ID,
                                                                                          Line_UnitMeasurment_CU_ID, InvoiceCreationDate, Person_CU_ID, priceType);
            if (InvoiceTypeID != null)
            {
                switch ((DB_InvoiceType)InvoiceTypeID)
                {
                case DB_InvoiceType.SellingInvoice:
                case DB_InvoiceType.ReturningSellingInvoice:
                    txtDedicatedPersonBalance.EditValue =
                        FinancialBusinessLogicLibrary.GetCustomerBalance(FinancialBusinessLogicLibrary.CustomerBalanceType.NetBalance,
                                                                         InvoiceTypeID, lkeDedicatedPerson.EditValue);
                    break;

                case DB_InvoiceType.PurchasingInvoice:
                case DB_InvoiceType.ReturningPurchasingInvoice:
                    txtDedicatedPersonBalance.EditValue = FinancialBusinessLogicLibrary.GetSupplierBalance(InvoiceTypeID,
                                                                                                           lkeDedicatedPerson.EditValue);
                    break;
                }
            }
        }
예제 #10
0
        private void btnCalculate_Click(object sender, EventArgs e)
        {
            if (lkeInventoryItems.EditValue == null && lkeInternalCode.EditValue == null)
            {
                XtraMessageBox.Show("يجـــب إختيـــار المنتــج", "تنبيـــه", MessageBoxButtons.OK, MessageBoxIcon.Error,
                                    MessageBoxDefaultButton.Button1, DefaultBoolean.Default);
                return;
            }

            InventoryItem_cu selectedItem = null;

            if (lkeInventoryItems.EditValue != null || lkeInternalCode.EditValue == null)
            {
                selectedItem = InventoryBusinessLogicEngine.GetInventoryItem(lkeInventoryItems.EditValue);
            }
            else if (lkeInventoryItems.EditValue == null || lkeInternalCode.EditValue != null)
            {
                selectedItem = InventoryBusinessLogicEngine.GetInventoryItem(lkeInternalCode.EditValue);
            }

            if (selectedItem == null)
            {
                XtraMessageBox.Show("هـــذا المنـــج غيـــر مـوجــــــود", "تنبيـــه", MessageBoxButtons.OK, MessageBoxIcon.Error,
                                    MessageBoxDefaultButton.Button1, DefaultBoolean.Default);
                return;
            }

            List <InventoryItem_Area> areaList = InventoryItem_Area.ItemsList.FindAll(item =>
                                                                                      Convert.ToInt32(item.InventoryItemID).Equals(Convert.ToInt32(selectedItem.ID)));
            List <InventoryItem_RawMaterial_cu> rawMaterialsList = InventoryItem_RawMaterial_cu.ItemsList.FindAll(item =>
                                                                                                                  Convert.ToInt32(item.InventoryItem_CU_ID).Equals(Convert.ToInt32(selectedItem.ID)));
            List <InventoryItem_Printing_cu> printingList;

            if (rawMaterialsList.Count != 0)
            {
                printingList = InventoryBusinessLogicEngine.GetInventoryItem_Printing_List(selectedItem);
            }
            else
            {
                printingList = InventoryItem_Printing_cu.ItemsList.FindAll(item =>
                                                                           Convert.ToInt32(item.InventoryItem_CU_ID).Equals(Convert.ToInt32(selectedItem.ID)));
                XtraMessageBox.Show("المنتـــج غيـــر مـربــوط بمــــواد الخــــام", "تنبيـــه", MessageBoxButtons.OK, MessageBoxIcon.Error,
                                    MessageBoxDefaultButton.Button1, DefaultBoolean.Default);
            }
            List <InventoryItem_Color_cu> colorsList = InventoryItem_Color_cu.ItemsList.FindAll(item =>
                                                                                                Convert.ToInt32(item.InventoryItem_CU_ID).Equals(Convert.ToInt32(selectedItem.ID)));

            grd_AreaParts.DataSource    = areaList;
            grd_Printing.DataSource     = printingList.OrderByDescending(item => item.Date);
            grd_RawMaterials.DataSource = rawMaterialsList;
            grd_Color.DataSource        = colorsList;

            spnTotalParts.EditValue       = InventoryBusinessLogicEngine.GetInventoryItemTotalCountParts(selectedItem);
            spnTotalAreaParts.EditValue   = InventoryBusinessLogicEngine.GetInventoryItemTotalAreaParts(selectedItem);
            spnPrintingUnitCost.EditValue = InventoryBusinessLogicEngine.GetPrintingCost(printingList);
            spnRawMaterialsCost.EditValue = InventoryBusinessLogicEngine.GetRawMaterialsCost(rawMaterialsList);
            spnRawMaterialsArea.EditValue = InventoryBusinessLogicEngine.GetRawMaterialsTotalArea(rawMaterialsList);

            spnTotalCost.EditValue = Convert.ToDouble(spnRawMaterialsCost.EditValue) +
                                     Convert.ToDouble(spnPrintingUnitCost.EditValue);
        }
예제 #11
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();
        }
예제 #12
0
        private void lkeInventoryItems_EditValueChanged(object sender, EventArgs e)
        {
            if (lkeInventoryItems.EditValue == null)
            {
                lkeUnitMeasurments.Properties.DataSource = null;
                return;
            }

            List <UnitMeasurment_cu> unitMeasurmentList =
                InventoryBusinessLogicEngine.GetInventoryItemRegisteredUnitMeasurments(Convert.ToInt32(lkeInventoryItems.EditValue));

            if (unitMeasurmentList == null || unitMeasurmentList.Count == 0)
            {
                XtraMessageBox.Show("لا يـوجـــد وحـدات قيــــاس مـربـوطــــة مـع هــذا المنتــــج", "تنبيـــــه",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, DefaultBoolean.Default);
            }

            CommonViewsActions.FillGridlookupEdit(lkeUnitMeasurments, unitMeasurmentList);

            DB_PriceType   priceType   = DB_PriceType.None;
            DB_InvoiceType invoiceType = (DB_InvoiceType)InvoiceTypeID;

            switch (invoiceType)
            {
            case DB_InvoiceType.SellingInvoice:
            case DB_InvoiceType.ReturningSellingInvoice:
                priceType = DB_PriceType.SellingPrice;
                break;

            case DB_InvoiceType.PurchasingInvoice:
            case DB_InvoiceType.ReturningPurchasingInvoice:
                priceType = DB_PriceType.PurchasingPrice;
                break;
            }

            Line_PricePerUnit = InventoryBusinessLogicEngine.GetInventoryItemSellingPrice(Line_InventoryItem_CU_ID,
                                                                                          Line_UnitMeasurment_CU_ID, InvoiceCreationDate, Person_CU_ID, priceType);
            Line_InventoryItemAvaliableQuantity =
                Math.Floor(InventoryBusinessLogicEngine.GetInventoryItemAvailableQuantity(Line_InventoryItem_CU_ID,
                                                                                          Line_UnitMeasurment_CU_ID, InventoryHousing_CU_ID));

            UnitMeasurment_cu inventoryTrackingUnitMeasurment =
                InventoryBusinessLogicEngine.GetInventoryTrackingUnitMeasurment(Line_InventoryItem_CU_ID);

            if (inventoryTrackingUnitMeasurment != null)
            {
                txtInventoryTrackingUnitMeasurment.Text = inventoryTrackingUnitMeasurment.Name_P;
            }
            else
            {
                txtInventoryTrackingUnitMeasurment.Text = "لـم يحــدد";
            }

            if (inventoryTrackingUnitMeasurment == null)
            {
                txtEncapsulatedQuantity.EditValue = 1;
            }
            else if (Line_UnitMeasurment_CU_ID != null)
            {
                txtEncapsulatedQuantity.EditValue = InventoryBusinessLogicEngine.GetEncapsulatedQuantity(Line_UnitMeasurment_CU_ID,
                                                                                                         inventoryTrackingUnitMeasurment.ID);
            }
            else
            {
                txtEncapsulatedQuantity.EditValue = 1;
            }
        }