Ejemplo n.º 1
0
        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("&nbsp;<br />");
            sb.Append("&nbsp;<br />");
            sb.Append("</div></body></html>");

            m.IsBodyHtml = true;
            m.Body       = sb.ToString();

            sender.SendMail(m);
        }
Ejemplo n.º 2
0
        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("&nbsp;<br />");
            sb.Append("&nbsp;<br />");
            sb.Append("</div></body></html>");

            m.IsBodyHtml = true;
            m.Body       = sb.ToString();

            Utilities.MailServices.SendMail(m);
        }
Ejemplo n.º 3
0
        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("&nbsp;<br />");
            sb.Append("&nbsp;<br />");
            sb.Append("</div></body></html>");

            m.IsBodyHtml = true;
            m.Body       = sb.ToString();

            sender.SendMail(m);
        }
Ejemplo n.º 4
0
        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);
        }