Esempio n. 1
0
        public static void Send(MailInfo mail)
        {
            var directory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data/MailBox");
            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }

            var path = Path.Combine(directory, SubjectToFileName(mail.Subject) + ".html");
            File.WriteAllText(path, mail.Body, Encoding.UTF8);
        }
Esempio n. 2
0
        public static void Send(MailInfo mail)
        {
            var directory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data/MailBox");

            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }

            var path = Path.Combine(directory, SubjectToFileName(mail.Subject) + ".html");

            File.WriteAllText(path, mail.Body, Encoding.UTF8);
        }
Esempio n. 3
0
        protected override void Execute(IOrderEvent @event, ActivityContext context)
        {
            var config = context.Config as OrderReminderActivityConfig;

            if (config == null || String.IsNullOrWhiteSpace(config.Receivers))
            {
                return;
            }

            var order = _orderService.Find(@event.OrderId);

            if (order != null)
            {
                if (config.CancelConditions != null && config.CancelConditions.Count > 0)
                {
                    var dataContext = new CancelConditionModel
                    {
                        OrderStatus = order.Status
                    };

                    if (new ConditionEvaluator().Evaluate(config.CancelConditions, dataContext))
                    {
                        return;
                    }
                }

                var receivers = config.Receivers.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
                var mailInfo  = new MailInfo
                {
                    Subject = Template.Render(config.Subject, order),
                    Body    = Template.Render(config.Body, order)
                };

                foreach (var receiver in receivers)
                {
                    var email = receiver;
                    if (email.Equals("{Customer}", StringComparison.OrdinalIgnoreCase))
                    {
                        email = order.Customer.Email;
                    }

                    if (!String.IsNullOrWhiteSpace(email))
                    {
                        mailInfo.Receivers.Add(email.Trim());
                    }
                }

                MailClient.Send(mailInfo);
            }
        }