public async Task <ActionResult> RegisterUser(User user) { if (!ModelState.IsValid) { return(GetValidationMessages().ToJsonResult()); } var existsUserName = await ModelRepository .SingleAsync(existingUser => string.Equals(existingUser.UserName, user.UserName, StringComparison.InvariantCultureIgnoreCase)).ConfigureAwait(false); if (existsUserName != null) { return(string.Format("El usuario '{0}' ya existe en el sistema", user.UserName).ToJsonResult()); } user.RoleId = Settings.DefaultUserRoleDbId; user.IsAuthorized = false; var userToSave = Mapper.Map <DataAccess.Entities.User>(user); userToSave = await ModelRepository.AddAsync(userToSave).ConfigureAwait(false); var savedUser = Mapper.Map <User>(userToSave); var recipients = (await ModelRepository .GetAllAsync(admin => admin.RoleId == Settings.AdministratorUserRoleDbId)) .Select(admin => admin.Email); var htmlBody = user.GetHtmlFromXslt(Server.MapPath(Settings.NewUserTemplateFilePath), XsltParameters); await _emailSender.Send(Settings.SmtpEmail, recipients, Settings.NewUserAuthorizationSubject, htmlBody); return(savedUser.ToJsonResult()); }
public override async Task <ActionResult> Save(Report report) { if (!ModelState.IsValid) { return(GetValidationMessages().ToJsonResult()); } report.CreationDate = DateTime.Now; var dbReport = Mapper.Map <DataAccess.Entities.Report>(report); var savedReport = await ModelRepository.AddAsync(dbReport); report = Mapper.Map <Report>(savedReport); var recipients = (await _userRepository .GetAllAsync(admin => admin.RoleId == Settings.AdministratorUserRoleDbId)) .Select(admin => admin.Email); XsltParameters[XsltReportFolioUrlParam] = report.Id; var htmlBody = LoggedInUserInfo.User.GetHtmlFromXslt(Server.MapPath(Settings.NewReportTemplateFilePath), XsltParameters); var subject = string.Format(Settings.NewReportSubject, report.Id); await _emailSender.Send(Settings.SmtpEmail, recipients, subject, htmlBody); return(report.ToJsonResult()); }