Exemple #1
0
        public static int SendMessageReg(AbandonedCartTemplate template, List <Guid> customerIds)
        {
            int count = 0;

            foreach (var customerId in customerIds)
            {
                var customer = CustomerService.GetCustomer(customerId);
                if (customer == null || customer.IsAdmin)
                {
                    continue;
                }

                var shoppingCart = ShoppingCartService.GetShoppingCart(ShoppingCartType.ShoppingCart, customerId);
                if (shoppingCart == null || !shoppingCart.Any())
                {
                    continue;
                }

                template.Register(customer, shoppingCart);
                template.BuildMail();

                SendMail.SendMailNow(customer.EMail, template.Subject, template.Body, true);
                LogLetter(new AbandonedCartLetter()
                {
                    CustomerId  = customerId,
                    TemplateId  = template.Id,
                    Email       = customer.EMail,
                    SendingDate = DateTime.Now
                });

                count++;
            }

            return(count);
        }
Exemple #2
0
        public static int SendMessageUnReg(AbandonedCartTemplate template, List <Guid> cartIds)
        {
            int count = 0;

            foreach (var cartId in cartIds)
            {
                var cart = GetAbondonedCart(cartId);
                if (cart != null && cart.OrderConfirmationData != null && cart.OrderConfirmationData.Customer != null &&
                    cart.OrderConfirmationData.Customer.EMail.IsNotEmpty() &&
                    !cart.OrderConfirmationData.Customer.IsAdmin)
                {
                    var customer     = cart.OrderConfirmationData.Customer;
                    var shoppingCart = ShoppingCartService.GetShoppingCart(ShoppingCartType.ShoppingCart, cart.CustomerId);

                    template.Register(customer, shoppingCart);
                    template.BuildMail();

                    SendMail.SendMailNow(customer.EMail, template.Subject, template.Body, true);
                    LogLetter(new AbandonedCartLetter()
                    {
                        CustomerId  = cart.CustomerId,
                        TemplateId  = template.Id,
                        Email       = customer.EMail,
                        SendingDate = DateTime.Now
                    });

                    count++;
                }
            }

            return(count);
        }
Exemple #3
0
 public static void AddTemplate(AbandonedCartTemplate template)
 {
     ModulesRepository.ModuleExecuteNonQuery(
         "Insert Into [Module].[AbandonedCartTemplate] (Name,Subject,Body,SendingTime,Active) Values(@Name,@Subject,@Body,@SendingTime,@Active)",
         CommandType.Text,
         new SqlParameter("@Name", template.Name),
         new SqlParameter("@Subject", template.Subject),
         new SqlParameter("@Body", template.Body),
         new SqlParameter("@SendingTime", template.SendingTime),
         new SqlParameter("@Active", template.Active));
 }
Exemple #4
0
 public static void UpdateTemplate(AbandonedCartTemplate template)
 {
     ModulesRepository.ModuleExecuteNonQuery(
         "Update [Module].[AbandonedCartTemplate] Set Name = @Name, Subject = @Subject,Body = @Body,SendingTime = @SendingTime, Active = @Active Where Id=@Id",
         CommandType.Text,
         new SqlParameter("@Name", template.Name),
         new SqlParameter("@Subject", template.Subject),
         new SqlParameter("@Body", template.Body),
         new SqlParameter("@SendingTime", template.SendingTime),
         new SqlParameter("@Active", template.Active),
         new SqlParameter("@Id", template.Id));
 }
Exemple #5
0
        private void SendUnRegUsers(AbandonedCart cart, AbandonedCartTemplate template)
        {
            var customer     = cart.OrderConfirmationData.Customer;
            var shoppingCart = ShoppingCartService.GetShoppingCart(ShoppingCartType.ShoppingCart, cart.CustomerId);

            if (_letters.Find(x => x.Email == customer.EMail) != null)
            {
                return;
            }

            template.Register(customer, shoppingCart);
            template.BuildMail();

            SendMail.SendMailNow(customer.EMail, template.Subject, template.Body, true);
            AbandonedCartsService.LogLetter(new AbandonedCartLetter()
            {
                CustomerId  = cart.CustomerId,
                TemplateId  = template.Id,
                Email       = customer.EMail,
                SendingDate = DateTime.Now
            });
        }