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); }
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); }
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)); }
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)); }
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 }); }