/// <summary> /// Подсчет стоимости: Забора от дверей отправителя / Доставки до дверей получателя /// </summary> /// <param name="pickUpCostDTO">Модель для: Забора от дверей отправителя / Доставки до дверей получателя</param> /// <returns>Стоимость в зависимости от входных параметров</returns> public decimal PostPickUpCost(PickUpCostDTO pickUpCostDTO) { // input data tracer // string s_input = string.Format("--- CostService.PostPickUpCost({0},{1},{2},{3},{4},{5},{6},{7}) ---", pickUpCostDTO.TownId ?? pickUpCostDTO.TownId.Value, pickUpCostDTO.NotExistedTown, pickUpCostDTO.Oversized, pickUpCostDTO.Warmly, pickUpCostDTO.AfterHours, pickUpCostDTO.FixedTime, pickUpCostDTO.Idling, pickUpCostDTO.Discharge); Trace.WriteLine(s_input); // валидация if (pickUpCostDTO.TownId.HasValue && pickUpCostDTO.TownId.Value <= 0) { throw new ValidationException("Указанного города нет в списке", "TownId"); } // cost calculating // decimal cost = 0; /*-------------------------- Internal BLL logic -------------------------*/ /*-------------------------- Internal BLL logic -------------------------*/ // ouput data tracer // string s_output = string.Format("--- CostService.PostPickUpCost() = {0} ---", cost); Trace.WriteLine(s_output); return(cost); }
/// <summary> /// Окончательный подсчет стоимости перевозки и доставки со всеми услугами /// </summary> /// <param name="volumeCost">Модель для вычисления стоимости доставки груза определенного веса и объема из пункта А в пункт Б</param> /// <param name="lathingCost">Модель для вычисления стоимости обрешетки определенного объема, с определенным коэффициентом</param> /// <param name="addServiceCost">Модель для вычисления стоимости дополнительных услуг</param> /// <param name="pickUpFromCost">Модель для: Забора от дверей отправителя</param> /// <param name="pickUpToCost">Модель для: Доставки до дверей получателя</param> /// <returns>Окончательная стоимость перевозки и доставки</returns> public decimal PostTotalCost(VolumeCostDTO volumeCost, LathingCostDTO lathingCost, AddServiceCostDTO addServiceCost, PickUpCostDTO pickUpFromCost, PickUpCostDTO pickUpToCost) { // input data tracer // string s_input = string.Format("--- CostService.PostTotalCost({0},{1},{2},{3}) ---", volumeCost.TownFromId, volumeCost.TownToId, volumeCost.Weight, volumeCost.Volume); Trace.WriteLine(s_input); // валидация if (volumeCost.TownFromId == volumeCost.TownToId) { throw new ValidationException("Город отправления не может совпадать с городом получения", "TownToId"); } // cost calculating // decimal cost = 0; /*-------------------------- Internal BLL logic -------------------------*/ /*-------------------------- Internal BLL logic -------------------------*/ // ouput data tracer // string s_output = string.Format("--- CostService.PostTotalCost() = {0} ---", cost); Trace.WriteLine(s_output); return(cost); }