private PriceInfo GetPrice(CatalogItemEntity catalogItem, ContragentItemEntity contragentItem) { var result = new PriceInfo(); if (catalogItem != null && contragentItem != null) { TypeOfPriceItemEntity typeOfPrice = GetTypeOfPrice(catalogItem, contragentItem); result = GetPrice(catalogItem, typeOfPrice); decimal rate = GetRate(catalogItem, contragentItem); result.Price += result.Price + rate / 100; } return(result); }
private PriceInfo GetPrice(CatalogItemEntity catalogItem, TypeOfPriceItemEntity typeOfPrice) { var result = new PriceInfo(); if (typeOfPrice != null) { TypeOfPricesNomenclatureItemEntity typeOfPricesNomenclature = catalogItem.TypeOfPriceItems.FirstOrDefault(x => x.Id == typeOfPrice.Id); if (typeOfPricesNomenclature != null) { result.Price = typeOfPricesNomenclature.Price; result.Currency = typeOfPricesNomenclature.Currency; } } return(result); }
private TypeOfPriceItemEntity GetTypeOfPrice(CatalogItemEntity catalogItem, ContragentItemEntity contragentItem) { TypeOfPriceItemEntity typeOfPrice = null; PriceTypeNomenclatureGroupContragentEntity priceTypeNomenclatureGroupContragent = GetPriceTypeNomenclatureGroup(catalogItem, contragentItem); if (priceTypeNomenclatureGroupContragent != null) { typeOfPrice = priceTypeNomenclatureGroupContragent.TypeOfPriceItem; } else { PriceTypePriceGroupContragentEntity priceTypePriceGroup = GetPriceTypePriceGroup(catalogItem, contragentItem); if (priceTypePriceGroup != null) { typeOfPrice = priceTypePriceGroup.TypeOfPriceItem; } } return(typeOfPrice); }