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 decimal CalculateAmount() { decimal amount = 0; foreach (var item in CostCenterFlatStructures) { if (item.IsActive) { if (item.CostCenter != null) { var tmpCosts = costsPerYear.Where(x => x.RefCostCenterId == item.CostCenter.CostCenterId).Sum(x => x.Amount); var fullQuantity = ItemPriceCalculationItemCostCenters.GetItemQuantityForCostCenterId(item.CostCenter.CostCenterId); //amount += CostCenterBudgets.GetAnnuallyCosts(item.CostCenter.CostCenterId, DateTime.Now.Year).Sum(x => x.Amount); amount += tmpCosts / fullQuantity * ItemAmountPerAnno; } } } return(amount); }
private void SaveCostCenters(int itemPriceCalculationItemId) { var ItemPriceCalculationItemCostCenterList = new List <ItemPriceCalculationItemCostCenter>(); foreach (var item in MaterialOverHeadCostsCostCenters.CostCenterFlatStructures) { if (item.IsActive && item.CostCenter != null) { ItemPriceCalculationItemCostCenter ItemPriceCalculationItemCostCenter = new ItemPriceCalculationItemCostCenter() { RefItemPriceCalculationItemId = itemPriceCalculationItemId, RefCostCenterId = item.CostCenter.CostCenterId, ItemPriceCalculationItemCostCenterType = ItemPriceCalculationItemCostCenterType.MaterialOverheadCosts }; ItemPriceCalculationItemCostCenterList.Add(ItemPriceCalculationItemCostCenter); } } foreach (var item in ProductOverheadsCostCenters.CostCenterFlatStructures) { if (item.IsActive && item.CostCenter != null) { ItemPriceCalculationItemCostCenter ItemPriceCalculationItemCostCenter = new ItemPriceCalculationItemCostCenter() { RefItemPriceCalculationItemId = itemPriceCalculationItemId, RefCostCenterId = item.CostCenter.CostCenterId, ItemPriceCalculationItemCostCenterType = ItemPriceCalculationItemCostCenterType.ProductOverheadCosts }; ItemPriceCalculationItemCostCenterList.Add(ItemPriceCalculationItemCostCenter); } } foreach (var item in AdministrativeOverheadsCostCenters.CostCenterFlatStructures) { if (item.IsActive && item.CostCenter != null) { ItemPriceCalculationItemCostCenter ItemPriceCalculationItemCostCenter = new ItemPriceCalculationItemCostCenter() { RefItemPriceCalculationItemId = itemPriceCalculationItemId, RefCostCenterId = item.CostCenter.CostCenterId, ItemPriceCalculationItemCostCenterType = ItemPriceCalculationItemCostCenterType.AdministrativeOverheadCosts }; ItemPriceCalculationItemCostCenterList.Add(ItemPriceCalculationItemCostCenter); } } foreach (var item in SalesOverHeadsCostCenters.CostCenterFlatStructures) { if (item.IsActive && item.CostCenter != null) { ItemPriceCalculationItemCostCenter ItemPriceCalculationItemCostCenter = new ItemPriceCalculationItemCostCenter() { RefItemPriceCalculationItemId = itemPriceCalculationItemId, RefCostCenterId = item.CostCenter.CostCenterId, ItemPriceCalculationItemCostCenterType = ItemPriceCalculationItemCostCenterType.SalesOverheadCosts }; ItemPriceCalculationItemCostCenterList.Add(ItemPriceCalculationItemCostCenter); } } ItemPriceCalculationItemCostCenters.DeleteByRefItemPriceCalculationItemId(itemPriceCalculationItemId); ItemPriceCalculationItemCostCenters.Insert(ItemPriceCalculationItemCostCenterList); CalculateOthers(); }