Example #1
0
        private void DeleteProduct()
        {
            if (SelectedProduct == null)
            {
                return;
            }

            if (SelectedProduct.ProductId == 0)
            {
                _Products.Remove(SelectedProduct);
                SelectedProduct = null;
                return;
            }

            var priceCalculationItem = ItemPriceCalculationItems.GetByRefProductId(SelectedProduct.ProductId);

            if (priceCalculationItem != null)
            {
                ItemPriceCalculationItemCostCenters.DeleteByRefItemPriceCalculationItemId(priceCalculationItem.ItemPriceCalculationItemId);
                ItemPriceCalculationItems.Delete(priceCalculationItem.ItemPriceCalculationItemId);
            }

            Products.Delete(SelectedProduct.ProductId);
            _Products.Remove(SelectedProduct);
            SelectedProduct = null;
        }
        private void Save()
        {
            var item = ItemPriceCalculationItems.GetByRefProductId(Product.ProductId);

            if (item != null)
            {
                UpdateSavedItem(item);
                SaveCostCenters(item.ItemPriceCalculationItemId);
            }
            else
            {
                SaveNewItem();
            }

            UpdateProduct();
        }
        private void LoadData()
        {
            var itemPriceCalculationItem = ItemPriceCalculationItems.GetByRefProductId(Product.ProductId);

            if (itemPriceCalculationItem == null)
            {
                StandardItemPriceCalculation = new StandardItemPriceCalculation();
                return;
            }

            StandardItemPriceCalculation.AgentCommission  = itemPriceCalculationItem.AgentCommission;
            StandardItemPriceCalculation.CustomerCashback = itemPriceCalculationItem.CustomerCashback;
            StandardItemPriceCalculation.CustomerDiscount = itemPriceCalculationItem.CustomerDiscount;
            StandardItemPriceCalculation.ProfitSurcharge  = itemPriceCalculationItem.ProfitSurcharge;
            StandardItemPriceCalculation.Tax               = itemPriceCalculationItem.Tax;
            StandardItemPriceCalculation.HourlyWage        = itemPriceCalculationItem.HourlyWage;
            StandardItemPriceCalculation.ProductionTime    = itemPriceCalculationItem.ProductionTime;
            StandardItemPriceCalculation.ItemAmountPerAnno = itemPriceCalculationItem.ItemAmountPerAnno;

            foreach (var item in itemPriceCalculationItem.ItemPriceCalculationItemCostCenters)
            {
                switch (item.ItemPriceCalculationItemCostCenterType)
                {
                case ItemPriceCalculationItemCostCenterType.MaterialOverheadCosts:
                    MaterialOverHeadCostsCostCenters.CostCenterFlatStructures.SingleOrDefault(x => x.CostCenter?.CostCenterId == item.RefCostCenterId).IsActive = true;
                    break;

                case ItemPriceCalculationItemCostCenterType.ProductOverheadCosts:
                    ProductOverheadsCostCenters.CostCenterFlatStructures.SingleOrDefault(x => x.CostCenter?.CostCenterId == item.RefCostCenterId).IsActive = true;
                    break;

                case ItemPriceCalculationItemCostCenterType.AdministrativeOverheadCosts:
                    AdministrativeOverheadsCostCenters.CostCenterFlatStructures.SingleOrDefault(x => x.CostCenter?.CostCenterId == item.RefCostCenterId).IsActive = true;
                    break;

                case ItemPriceCalculationItemCostCenterType.SalesOverheadCosts:
                    SalesOverHeadsCostCenters.CostCenterFlatStructures.SingleOrDefault(x => x.CostCenter?.CostCenterId == item.RefCostCenterId).IsActive = true;
                    break;

                default:
                    break;
                }
            }
        }