Пример #1
0
        public bool SendEmail(UserDetail userDetail)
        {
            string subject = "MerchantService Registration Activation Link";
            string callbackUrl;

            if (userDetail.RoleName == StringConstants.AdminRoleName)
            {
                callbackUrl = this.Url.Link("Default", new { controller = "", action = "" });
            }
            else
            {
                callbackUrl = StringConstants.WebApiPath;
            }
            string path          = HttpContext.Current.Server.MapPath(@"\EmailTemplate\WelcomeMail.html");
            string finalTemplate = System.IO.File.ReadAllText(path);

            finalTemplate = finalTemplate.Replace("${UserName}$", userDetail.UserName).Replace("${Password}$", userDetail.Password)
                            .Replace("$CallBack$", callbackUrl);
            if (EmailConfig.SendEmail(userDetail.Email, subject, finalTemplate))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #2
0
        public bool SendEmailToSupplier(SPOReceipt spoReceipt)
        {
            string        subject = "Purchase Order Receipt";
            string        path    = HttpContext.Current.Server.MapPath(@"\Templates\Supplier\SupplierEmailTemplate.html");
            string        items;
            StringBuilder stringBuilder = new StringBuilder();

            foreach (var item in spoReceipt.SupplierItem)
            {
                stringBuilder.Append("<tr><td style=\"text-align:center;padding:10px\">" + item.ItemNameEn + "</td><td style=\"text-align:center;padding:10px\">" + item.FlavourEn + "</td><td style=\"text-align:center\">" + item.Type + "</td><td style=\"text-align:center\">" + item.OrderCostPrice + "</td><td style=\"text-align:center\">" + item.OrderQuantity + "</td></tr>");
            }
            items = stringBuilder.ToString();
            string finalTemplate = System.IO.File.ReadAllText(path);

            finalTemplate = finalTemplate.Replace("${BranchName}$", spoReceipt.BranchName)
                            .Replace("${BranchAddress}$", spoReceipt.BranchAddress)
                            .Replace("${SupplierName}$", spoReceipt.SupplierName)
                            .Replace("${MobileNo}$", spoReceipt.MobileNo)
                            .Replace("${IssueDate}$", "" + spoReceipt.IssueDate)
                            .Replace("${DueDate}$", "" + spoReceipt.DueDate)
                            .Replace("${SPONumber}$", spoReceipt.SPONumber)
                            .Replace("${POType}$", spoReceipt.POType)
                            .Replace("${items}$", items);
            if (EmailConfig.SendEmail(spoReceipt.SupplierEmail, subject, finalTemplate))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #3
0
        public async Task <ActionResult> ForgotPassword(ForgotPasswordModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var user = await UserManager.FindByEmailAsync(model.Email);

                    if (user == null)
                    {
                        ViewBag.ErrorMessage = "This EmailId is not registered.";
                        ModelState.Clear();
                        return(View("ForgotPassword"));
                    }
                    else
                    {
                        string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id);

                        var callbackUrl = Url.Action("ResetPassword", "Login", new { userId = user.Id, code = code },
                                                     protocol: Request.Url.Scheme);
                        string subject       = "MerchantService Reset Password Link";
                        string path          = Server.MapPath("/EmailTemplate/ForgetPassword.html");
                        string finalTemplate = System.IO.File.ReadAllText(path);
                        finalTemplate = finalTemplate.Replace("${Email}$", user.UserName)
                                        .Replace("$CallBack$", callbackUrl);

                        if (EmailConfig.SendEmail(model.Email, subject, finalTemplate))
                        {
                            return(RedirectToAction("ForgotPasswordConfirmation", "Login"));
                        }
                        else
                        {
                            ViewBag.ErrorMessage =
                                "There is a server issue so can't do 'forgot password' at this time, please try again after some time.";
                            ModelState.Clear();
                            return(View("ForgotPassword"));
                        }
                    }
                }
                // If we got this far, something failed, redisplay form
                return(View(model));
            }
            catch (Exception ex)
            {
                _errorLog.LogException(ex);
                throw;
            }
        }