/// <summary> /// Send recover password email /// </summary> /// <param name="accountId"></param> /// <param name="title"></param> /// <returns></returns> public void SendRecoverLink(string email, string name, string title, Guid activeCode) { string emailTemplateUrl = _hostEnvironment.GetRootContentUrl() + "/resources/templates/password_recover.html"; string emailContent = StreamIO.ReadFile(emailTemplateUrl); emailContent = emailContent.Replace("{UserName}", name); emailContent = emailContent.Replace("{Url}", "http://localhost:52767/change-password.html?code=" + activeCode).ToString(); _mesageCenter.Push(new EmailMessage { Content = emailContent, Title = title, To = email }); }
/// <summary> /// Send an email to invite an user joins project /// </summary> /// <param name="projectId"></param> /// <param name="memberId"></param> /// <returns></returns> public async Task SendInvitation(int projectId, int memberId, bool isNewMember, string title, string activeCode) { string emailTemplateUrl = _hostEnvironment.GetRootContentUrl() + "/resources/templates/invite_email.html"; AccountInfoModel member = await _accountBusiness.GetAccountInfo(memberId); ProjectModel project = await GetProject(projectId); string password = string.Empty; if (isNewMember) { emailTemplateUrl = _hostEnvironment.GetRootContentUrl() + "/resources/templates/invite_new_email.html"; string hash = Cryptography.GetHashString(member.AccountName); password = Decrypt.Do(member.Password, hash); } string emailContent = StreamIO.ReadFile(emailTemplateUrl); emailContent = emailContent.Replace("{UserName}", member.DisplayName); emailContent = emailContent.Replace("{Project}", project.ProjectName.ToUpper()); emailContent = emailContent.Replace("{Url}", "http://eztask.dotnetvn.com/project/accept-invite.html?ref=" + activeCode); emailContent = emailContent.Replace("{Account}", member.AccountName); emailContent = emailContent.Replace("{Password}", password); _mesageCenter.Push(new EmailMessage { Content = emailContent, Title = title + " " + project.ProjectName.ToUpper(), To = member.AccountName }); }