public Task SendEmailResetPasswordAsync(string emailcode, ApplicationUser usermodel, string resetUrl) { if (string.IsNullOrEmpty(emailcode)) { List <EmailToken> emailtoken = new List <EmailToken>(); var emailTemplate = _emailTemplateQuery.FirstOrDefault(m => m.Code == emailcode); if (emailTemplate.Id > 0) { List <EmailToken> tokenCol = _emailTokenQuery.GetAllList(m => m.EmailCode == emailTemplate.Code).ToList(); foreach (var token in tokenCol) { if (token.Token.Equals("{Name}")) { token.PreviewText = usermodel.FirstName + " " + usermodel.LastName; } else if (token.Token.Equals("{Email}")) { token.PreviewText = usermodel.Email ?? string.Empty; } else if (token.Token.Equals("{Url}")) { token.PreviewText = resetUrl; } } EmailLog mlog = new EmailLog(); mlog.Receiver = usermodel.Email; mlog.Sender = _appSettings.EmailFromAddress; mlog.Subject = "Password Reset Notification"; mlog.MessageBody = GeneratePreviewHTML(emailTemplate.Body, tokenCol); mlog.DateCreated = mlog.DateToSend = DateTime.Now; mlog.IsSent = mlog.HasAttachment = false; var messageresponse = EmailSenderHelper(mlog.Receiver, mlog.Subject, mlog.MessageBody); if (messageresponse.success) { mlog.IsSent = true; } _emailLogRepositoryCommand.Insert(mlog); _emailLogRepositoryCommand.SaveChanges(); } } return(Task.CompletedTask); }