Esempio n. 1
0
        public virtual void SendQuoteRequest(System.Web.Mvc.Controller controller, Models.QuoteCart cart, string email, string userFulleName)
        {
            var body = controller.GetActionOutput<Controllers.EmailerController>(i => i.QuoteConfirmation(cart));

            var mailMessage = new MailMessage();
            mailMessage.Body = body;
            if (!userFulleName.IsNullOrTrimmedEmpty())
            {
                mailMessage.To.Add(new MailAddress(email, userFulleName));
            }
            else
            {
                mailMessage.To.Add(new MailAddress(email));
            }
            mailMessage.Subject = string.Format("[{0}] Votre demande de prix", ERPStore.ERPStoreApplication.WebSiteSettings.SiteName);
            mailMessage.IsBodyHtml = true;

            Send(mailMessage);
        }
Esempio n. 2
0
        public virtual void SendQuoteCanceled(System.Web.Mvc.Controller controller, ERPStore.Models.Quote quote, ERPStore.Models.CancelQuoteReason reason, string message)
        {
            var body = controller.GetActionOutput<ERPStore.Controllers.EmailerController>(i => i.QuoteCanceled(quote, reason, message));

            var email = new MailMessage();
            email.Body = body;
            email.To.Add(new MailAddress(quote.User.Email, quote.User.FullName));
            email.Subject = string.Format("[{0}] Annulation de votre devis N°{1}",ERPStoreApplication.WebSiteSettings.SiteName, quote.Code);
            email.IsBodyHtml = true;

            Send(email);
        }
Esempio n. 3
0
        public virtual void SendOrderModification(System.Web.Mvc.Controller controller, ERPStore.Models.Order order, string message)
        {
            var body = controller.GetActionOutput<ERPStore.Controllers.EmailerController>(i => i.OrderModification(order, message));

            var email = new MailMessage();
            email.Body = body;
            email.To.Add(new MailAddress(order.User.Email, order.User.FullName));
            email.Subject = string.Format("[{0}] Demande de modification de votre commande N°{1}", ERPStoreApplication.WebSiteSettings.SiteName, order.Code);
            email.IsBodyHtml = true;

            Send(email);
        }
Esempio n. 4
0
        public virtual void SendOrderConfirmation(System.Web.Mvc.Controller controller, ERPStore.Models.ISaleDocument order)
        {
            if (order.User.Email.IsNullOrTrimmedEmpty())
            {
                return;
            }

            var urlHelper = new UrlHelper(controller.ControllerContext.RequestContext);

            var mailKey = new
            {
                Code = order.Code,
                Type = (order is Models.Order) ? "order" : "quote",
                Salt = DateTime.Now,
            };
            var encrytpedMailKey = CryptoService.Encrypt(mailKey);
            string encrytpedEmailUrl = string.Format("http://{0}{1}", controller.HttpContext.Request.Url.Host, urlHelper.RouteERPStoreUrl(ERPStoreRoutes.EMAILER, new { action = "DirectOrderConfirmation", key = encrytpedMailKey, }));

            var body = controller.GetActionOutput<ERPStore.Controllers.EmailerController>(i => i.OrderConfirmation(order, encrytpedEmailUrl));
            if (body == null)
            {
                return;
            }

            var message = new MailMessage();
            message.Body = body;
            message.To.Add(new MailAddress(order.User.Email, order.User.FullName));
            message.Subject = string.Format("[{0}] Votre commande N°{1}", ERPStoreApplication.WebSiteSettings.SiteName, order.Code);
            message.IsBodyHtml = true;

            Send(message);
        }
Esempio n. 5
0
        public virtual void SendChangePassword(System.Web.Mvc.Controller controller, ERPStore.Models.User user, string callbackUrl)
        {
            var urlHelper = new UrlHelper(controller.ControllerContext.RequestContext);

            var mailKey = new
            {
                UserId = user.Id,
                ExpirationDate = DateTime.Now,
            };
            var encrytpedMailKey = CryptoService.Encrypt(mailKey);
            string encrytpedEmailUrl = string.Format("http://{0}{1}", controller.HttpContext.Request.Url.Host, urlHelper.RouteERPStoreUrl(ERPStoreRoutes.EMAILER, new { action = "DirectSendChangePassword", key = encrytpedMailKey, }));

            var body = controller.GetActionOutput<Controllers.EmailerController>(i => i.ChangePassword(user.FullName, callbackUrl, encrytpedEmailUrl));

            var email = new MailMessage();
            email.Body = body;
            email.To.Add(new MailAddress(user.Email, user.FullName));
            email.Subject = string.Format("[{0}] Demande de changement de mot de passe", ERPStoreApplication.WebSiteSettings.SiteName);
            email.IsBodyHtml = true;

            Send(email);
        }
Esempio n. 6
0
        public virtual void SendAccountConfirmation(System.Web.Mvc.Controller controller, ERPStore.Models.User user)
        {
            var urlHelper = new UrlHelper(controller.ControllerContext.RequestContext);

            var mailKey = new
            {
                UserId = user.Id,
                Salt = Guid.NewGuid().ToString(),
            };
            var encrytpedMailKey = CryptoService.Encrypt(mailKey);
            string encrytpedEmailUrl = string.Format("http://{0}{1}", controller.HttpContext.Request.Url.Host, urlHelper.RouteERPStoreUrl(ERPStoreRoutes.EMAILER, new { action = "DirectAccountConfirmation", key = encrytpedMailKey, }));

            var body = controller.GetActionOutput<Controllers.EmailerController>(i => i.AccountConfirmation(user, encrytpedEmailUrl));
            if (body == null)
            {
                return;
            }

            var message = new MailMessage();
            message.Body = body;
            message.To.Add(new MailAddress(user.Email, user.FullName));
            message.Subject = string.Format("[{0}] Confirmation de votre compte", ERPStoreApplication.WebSiteSettings.SiteName);
            message.IsBodyHtml = true;

            Send(message);
        }