private Result GetMailResult ( MessageTemplateType type, SystemMailEntity systemMail, object additionalData, out MailEntity mail ) { mail = null; var result = new Result(); var template = _factory.GetMessageTemplate(type, additionalData); if (template == null) { result.Message = "Wrong tepmlate type."; return(result); } try { mail = template.GetMail(systemMail, additionalData); } catch (ArgumentException) { result.Message = "Can'nt build template. " + "Additional data has wrong type."; return(result); } result.Success = true; return(result); }
public IMailBuilder AddSystemPart(SystemMailEntity systemPart) { _mail.From = systemPart.From; _mail.FromName = systemPart.FromName; _mail.To = systemPart.To; _mail.ToName = systemPart.ToName; return(this); }
public override MailEntity GetMail(SystemMailEntity systemMail, object additionalTemplateData) { StringBuilder htmlBuilder = new StringBuilder(); WorkTaskDto workTaskDto = additionalTemplateData as WorkTaskDto; SetAdditionalTemplateData(additionalTemplateData); var subject = "TaskTracker Task Deadline."; var html = htmlBuilder.Append (@"<!DOCTYPE html> <html> <head> <style> ") .Append(TemplateStyleHolder.ICloudSuportedStyle) .Append(@"</style> </head> <body> <div class= 'message-header'> <div class='title'> TaskTracker </div> </div> <div class='message-content'> <div> <h3>TaskTracker Team.</h3> <hr>") .Append($"Hello {systemMail.ToName}.<br>") .Append(@"Welcome to TaskTracker!<br> Hurry up!!! <br> For deadline for your task ") .Append($"({taskName}) will be on {taskDeadline}." + $"You have only: {timeLeft} hr.") .Append(@") </div> <div class='base-button-container'> <a href='#...' class='base-button'> Go To Task!</a> </div> </div> <div class='message-footer'> <div class='text'> <h4>Contacts: </h4> Phone number: xxx-xxx-xxx<br> E-Mail: xxxx @mail.com </div> </div> </body> </html>").ToString(); return(_builder .AddSystemPart(systemMail) .AddSubject(subject) .AddHtml(html) .Build()); }
public async Task <IHttpActionResult> Register(RegisterUserViewModel model) { if (model == null) { return(this.BadRequest("Invalid user data")); } if (!ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var user = new ApplicationUser { UserName = model.Name, Email = model.Email }; var identityResult = await UserManager.CreateAsync (user, model.Password); if (!identityResult.Succeeded) { return(GetErrorResult(identityResult)); } var loginResult = Login(new LoginUserViewModel { Name = model.Name, Password = model.Password }); var systemMailEntity = new SystemMailEntity { From = "*****@*****.**", FromName = "Admin", To = model.Email, ToName = model.Name }; var workTaskUserDto = _registerModelMapper.Map(model); var userCreationResult = await _userService.CreateWorkTaskUserAsync (workTaskUserDto); if (!userCreationResult.Success) { return(BadRequest(userCreationResult.Message)); } /*await _templateSender.SendAsync( * MessageTemplateType.RegistrationConfirm, * systemMailEntity, null);*/ return(await loginResult); }
/// <summary> /// Get message content. /// </summary> /// <param name="systemMail">System mail part.</param> /// <returns>MailEntity with all needed content for registration.</returns> public override MailEntity GetMail(SystemMailEntity systemMail, object additionalTemplateData = null) { StringBuilder htmlBuilder = new StringBuilder(); var subject = "TaskTracker Registration."; var html = htmlBuilder.Append (@"<!DOCTYPE html> <html> <head> <style> ") .Append(TemplateStyleHolder.ICloudSuportedStyle) .Append(@"</style> </head> <body> <div class= 'message-header'> <div class='title'> TaskTracker </div> </div> <div class='message-content'> <div> <h3>TaskTracker Team.</h3> <hr>") .Append($"Hello {systemMail.ToName}.<br>") .Append(@"Welcome to TaskTracker!<br> Thanks for your registration. Return to the site to update your information and start work with your tasks! </div> <div class='base-button-container'> <a href='#...' class='base-button'> Go To TaskTracker!</a> </div> </div> <div class='message-footer'> <div class='text'> <h4>Contacts: </h4> Phone number: xxx-xxx-xxx<br> E-Mail: xxxx @mail.com </div> </div> </body> </html>").ToString(); return(_builder .AddSystemPart(systemMail) .AddSubject(subject) .AddHtml(html) .Build()); }
public async Task <Result> SendAsync(MessageTemplateType type, SystemMailEntity systemMail, object additionalData) { var result = GetMailResult(type, systemMail, additionalData, out MailEntity mail); if (result.Success == false) { return(result); } using (_mailSender) { await _mailSender.SendMailAsync(mail); } result = new Result(true, $"Message sended to user({systemMail.To})."); return(result); }
public override MailEntity GetMail(SystemMailEntity systemMail, object additionalTemplateData) { throw new NotImplementedException(); }
public abstract MailEntity GetMail(SystemMailEntity systemMail, object additionalTemplateData);