コード例 #1
0
        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());
        }
コード例 #2
0
        /// <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);
        }