public static void SendAccountInformation(Accounts.UserAccount u, Accounts.Store s) { Accounts.Store tempStore = new Accounts.Store(); MailServices sender = new MailServices(tempStore); if (u == null || s == null) { return; } string fromEmail = WebAppSettings.ApplicationEmail; if (WebAppSettings.IsIndividualMode) { fromEmail = s.Settings.MailServer.FromEmail; } MailMessage m = new MailMessage(fromEmail, u.Email); m.Subject = s.StoreName + " Account Reminder Information"; StringBuilder sb = new StringBuilder(); sb.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"); sb.Append("<html xmlns=\"http://www.w3.org/1999/xhtml\" >"); sb.Append("<head><title>BV Commerce Account Information Reminder</title>"); sb.Append(RenderEmailHtmlStyles()); sb.Append("</head><body><div style=\"padding:20px;\">"); sb.Append("<h1>Account Information</h1>"); sb.Append("<p>Thank you for creating a MerchantTribe store. Your account information appears below:</p>"); sb.Append("<table border=\"0\" cellspacing=\"0\" cellpadding=\"3\">"); sb.Append(RenderEmailTableRow("Email", u.Email)); // Passwords are now hashed so we can't send them. //sb.Append(RenderEmailTableRow("Password", u.Password)); sb.Append(RenderEmailTableRow("Store Name", s.StoreName)); sb.Append(RenderEmailTableRowLink("Store URL", s.RootUrl(), s.RootUrl())); sb.Append(RenderEmailTableRowLink("Store Admin URL", s.RootUrl() + "admin", s.RootUrl() + "admin")); sb.Append("</table>"); sb.Append(" <br />"); sb.Append(" <br />"); sb.Append("</div></body></html>"); m.IsBodyHtml = true; m.Body = sb.ToString(); sender.SendMail(m); }
public static void SendPlanDowngradeAlert(Accounts.UserAccount u, Accounts.Store s) { if (u == null || s == null) { return; } MailMessage m = new MailMessage(WebAppSettings.ApplicationEmail, WebAppSettings.SuperAdminEmail); m.Subject = "BV Hosted | Plan Downgrade to " + s.PlanName; if (s.Settings.LeadSource == "PayPalOffer") { m.Subject += " | from PayPal Offer"; } StringBuilder sb = new StringBuilder(); sb.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"); sb.Append("<html xmlns=\"http://www.w3.org/1999/xhtml\" >"); sb.Append("<head><title>New Hosted Plan Downgrade</title>"); sb.Append(RenderEmailHtmlStyles()); sb.Append("</head><body><div style=\"padding:20px;\">"); sb.Append("<h1>New Hosted Plan Downgrade</h1>"); sb.Append("<table border=\"0\" cellspacing=\"0\" cellpadding=\"3\">"); sb.Append(RenderEmailTableRow("Email", u.Email)); sb.Append(RenderEmailTableRow("Store Name", s.StoreName)); sb.Append(RenderEmailTableRowLink("Store URL", s.RootUrl(), s.RootUrl())); sb.Append(RenderEmailTableRowLink("Store Admin URL", s.RootUrl() + "admin", s.RootUrl() + "admin")); sb.Append(RenderEmailTableRow("Downgraded to Plan", s.PlanName)); sb.Append(RenderEmailTableRow("Bill Day of Month", s.CurrentPlanDayOfMonth.ToString())); sb.Append(RenderEmailTableRow("Bill Rate", s.CurrentPlanRate.ToString("c"))); sb.Append(RenderEmailTableRow("Percentage", s.CurrentPlanPercent.ToString())); sb.Append("</table>"); sb.Append(" <br />"); sb.Append(" <br />"); sb.Append("</div></body></html>"); m.IsBodyHtml = true; m.Body = sb.ToString(); Utilities.MailServices.SendMail(m); }
public static void SendAdminUserResetLink(Accounts.UserAccount u, Accounts.Store s) { Accounts.Store tempStore = new Accounts.Store(); MailServices sender = new MailServices(tempStore); if (u == null || s == null) { return; } MailMessage m = new MailMessage(WebAppSettings.ApplicationEmail, u.Email); m.Subject = "BV Commerce Password Reset Instructions"; StringBuilder sb = new StringBuilder(); sb.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"); sb.Append("<html xmlns=\"http://www.w3.org/1999/xhtml\" >"); sb.Append("<head><title>BV Commerce Password Reset Instructions</title>"); sb.Append(RenderEmailHtmlStyles()); sb.Append("</head><body><div style=\"padding:20px;\">"); sb.Append("<h1>Password Reset Instructions</h1>"); sb.Append("<p>Your Reset Key = " + u.ResetKey + "</p>"); sb.Append("<p>Use the link below to reset your password.</p>"); sb.Append("<p><a href=\"" + s.RootUrlSecure() + "adminaccount/ResetPassword2?email=" + u.Email + "&resetkey=" + u.ResetKey + "\">"); sb.Append("Click Here to Reset Your Password</a></p>"); sb.Append(" <br />"); sb.Append(" <br />"); sb.Append("</div></body></html>"); m.IsBodyHtml = true; m.Body = sb.ToString(); sender.SendMail(m); }
public Store CreateAndSetupStore(string storeName, long userAccountId, string friendlyName, int plan, decimal rate, MerchantTribe.Billing.BillingAccount billingAccount) { Store s = null; if (StoreNameExists(storeName)) { throw new CreateStoreException("That store name is not available. Please choose another name and try again."); } s = new Store(); s.StoreName = Text.ForceAlphaNumericOnly(storeName).ToLower(); s.Status = StoreStatus.Active; s.DateCreated = DateTime.UtcNow; s.PlanId = plan; s.CustomUrl = string.Empty; if (!Stores.Create(s)) { throw new CreateStoreException("Unable to create store. Unknown error. Please contact an administrator for assistance."); } s = Stores.FindByStoreName(s.StoreName); if (s != null) { AddUserToStore(s.Id, userAccountId, StoreAccessMode.Owner); s.Settings.FriendlyName = friendlyName; s.Settings.MailServer.FromEmail = "*****@*****.**"; s.Settings.LastOrderNumber = 0; s.Settings.LogoImage = "[[default]]"; s.Settings.LogoRevision = 0; s.Settings.UseLogoImage = false; s.Settings.LogoText = s.StoreName; s.Settings.MinumumOrderAmount = 0; // Send Reminder of account information to new user Accounts.UserAccount u = AdminUsers.FindById(userAccountId); s.Settings.MailServer.EmailForGeneral = u.Email; s.Settings.MailServer.EmailForNewOrder = u.Email; s.Settings.MailServer.UseCustomMailServer = false; s.Settings.ProductReviewCount = 3; s.Settings.ProductReviewModerate = true; s.Settings.ProductReviewShowRating = true; s.Settings.PayPal.FastSignupEmail = u.Email; s.Settings.PayPal.Currency = "USD"; s.Settings.MaxItemsPerOrder = 999; s.Settings.MaxWeightPerOrder = 9999; s.Settings.MaxOrderMessage = "That's a really big order! Call us instead of ordering online."; s.CurrentPlanRate = rate; s.CurrentPlanDayOfMonth = DateTime.Now.Day; if (s.CurrentPlanDayOfMonth > 28) { s.CurrentPlanDayOfMonth = 28; } HostedPlan thePlan = HostedPlan.FindById(s.PlanId); if (thePlan != null) { s.CurrentPlanPercent = thePlan.PercentageOfSales; } else { if (plan == 0) { s.CurrentPlanPercent = 0; } else { s.CurrentPlanPercent = 0; } } // Save data to store Stores.Update(s); // Create Billing Accout MerchantTribe.Billing.Service svc = new MerchantTribe.Billing.Service(WebAppSettings.ApplicationConnectionString); BillingAccount act = svc.Accounts.FindOrCreate(billingAccount); Utilities.MailServices.SendLeadAlert(u, s); Utilities.MailServices.SendAccountInformation(u, s); } return(s); }