public override DeliveryServiceResponse Send(Order order) { var response = new DeliveryServiceResponse(); response.serviceId = this.Id; response.serviceName = this.Name; //пример валидации данных присущие данному поставщику if (order.OrderLines.Sum(x => x.Good.Weight) > 200.0M) { response.somethingIsWrong = true; response.errorMessage = "Мы не возим грузы больше 200 кг одним заказом."; return(response); } //тут запрос на api к поставщику и получение данных по расчетам доставки var result = new { date = DateTime.Now.AddDays(5), cost = 1.75M }; //формируем ответ клиенту response.deliveryDate = result.date; response.deliveryCost = result.cost * CostFactor; return(response); }
public override DeliveryServiceResponse Send(Order order) { var response = new DeliveryServiceResponse(); response.serviceId = this.Id; response.serviceName = this.Name; //пример валидации данных присущие данному поставщику if (order.OrderLines.Any(x => x.Good.Dimensions.Depth > 1500) || order.OrderLines.Any(x => x.Good.Dimensions.Width > 1500) || order.OrderLines.Any(x => x.Good.Dimensions.Height > 1500)) { response.somethingIsWrong = true; response.errorMessage = "Мы не возим грузы по габаритам больше 150см."; return(response); } //тут запрос на api к поставщику и получение данных по расчетам доставки var result = new { date = 4, cost = 376.00M }; //формируем ответ клиенту response.deliveryDate = DateTime.Now.AddDays(result.date); response.deliveryCost = result.cost; return(response); }