public PriceInfo GetPrice(CatalogItemEntity catalogItem, string login) { ContragentItemEntity contragentItem = GetContagent(login); PriceInfo result = GetPrice(catalogItem, contragentItem); return(result); }
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 PriceTypeNomenclatureGroupContragentEntity GetPriceTypeNomenclatureGroup( CatalogItemEntity catalogItem, ContragentItemEntity contragentItem) { PriceTypeNomenclatureGroupContragentEntity priceTypeNomenclatureGroupContragent = null; NomenclatureGroupEntity nomenclatureGroup = catalogItem.NomenclatureGroup; if (nomenclatureGroup != null && contragentItem.PriceTypeNomenclatureGroups != null) { priceTypeNomenclatureGroupContragent = contragentItem .PriceTypeNomenclatureGroups.FirstOrDefault( x => x.NomenclatureGroupItem.Id == nomenclatureGroup.Id); } return(priceTypeNomenclatureGroupContragent); }
private PriceTypePriceGroupContragentEntity GetPriceTypePriceGroup( CatalogItemEntity catalogItem, ContragentItemEntity contragentItem) { PriceTypePriceGroupContragentEntity priceTypePriceGroup = null; PriceGroupItemEntity priceGroup = catalogItem.PriceGroup; if (priceGroup != null && contragentItem.PriceTypePriceGroups != null) { priceTypePriceGroup = contragentItem .PriceTypePriceGroups.FirstOrDefault(x => x.PriceGroupItem.Id == priceGroup.Id); } return(priceTypePriceGroup); }
private decimal GetRate(CatalogItemEntity catalogItem, ContragentItemEntity contragentItem) { decimal rate = 0; if (contragentItem.Discounts != null) { DiscountsContragentEntity discount = contragentItem.Discounts.FirstOrDefault(x => x.CatalogItem.Id == catalogItem.Id); if (discount != null) { rate = discount.Rate; } } return(rate); }
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); }