public string GetOrdeNoteRecievedPayment(Order order, string meioPagamento) { OrderItem orderItem; int? biggestAmountDays; DeliveryDate biggestDeliveryDate = GetBiggestDeliveryDate(order, out biggestAmountDays, out orderItem); DateTime dateShipment = DateTime.Now.AddWorkDays(biggestAmountDays.Value, _holidayService); var str = new StringBuilder(); str.AppendFormat("Recebemos a liberação do pagamento pelo {0} e será dado andamento no seu pedido.", meioPagamento); str.AppendLine(); str.AppendFormat("Lembramos que o maior prazo é da fabricante {0} de {1}", orderItem.Product.ProductManufacturers.FirstOrDefault().Manufacturer.Name, biggestDeliveryDate.GetLocalized(dd => dd.Name)); str.AppendLine(); str.AppendLine(); str.AppendLine("*OBS: Caso o seu pedido tenha produtos com prazos diferentes, o prazo de entrega a ser considerado será o maior."); str.AppendLine(); str.AppendFormat("Data máxima para postar nos correios: {0}", dateShipment.ToString("dd/MM/yyyy")); str.AppendLine(); if (order.ShippingMethod.Contains("PAC") || order.ShippingMethod.Contains("SEDEX")) { try { var shippingOption = _shippingService.GetShippingOption(order); str.AppendFormat("Correios: {0} - {1} após a postagem", shippingOption.Name, shippingOption.Description); str.AppendLine(); } catch (Exception ex) { _logger.Error("Erro no calculo do frete pela ordem", ex); } finally { str.AppendLine(); } } return(str.ToString()); }
/// <summary> /// Prepare delivery date model /// </summary> /// <param name="model">Delivery date model</param> /// <param name="deliveryDate">Delivery date</param> /// <param name="excludeProperties">Whether to exclude populating of some properties of model</param> /// <returns>Delivery date model</returns> public virtual DeliveryDateModel PrepareDeliveryDateModel(DeliveryDateModel model, DeliveryDate deliveryDate, bool excludeProperties = false) { Action <DeliveryDateLocalizedModel, int> localizedModelConfiguration = null; if (deliveryDate != null) { //fill in model values from the entity model = model ?? deliveryDate.ToModel(); //define localized model configuration action localizedModelConfiguration = (locale, languageId) => { locale.Name = deliveryDate.GetLocalized(entity => entity.Name, languageId, false, false); }; } //prepare localized models if (!excludeProperties) { model.Locales = _localizedModelFactory.PrepareLocalizedModels(localizedModelConfiguration); } return(model); }