public async Task <IActionResult> RegisterUser([FromBody] RegisterUserPlatformDAO registerUser) { var GenerateUser = _userToolkitRepository.GenerateUser(registerUser.RoleName); var password = _userToolkitRepository.GenerateUserPaasword(); if (GenerateUser == null) { return(StatusCode(500, new Response { Status = "Error", Message = "No se pudo generar el usuario, volver a intentar mas tarde" })); } var response = await _registerRepository.RegisterUserPlatform(registerUser, GenerateUser[0], password, GenerateUser[1]); if (response.StatusCode == System.Net.HttpStatusCode.OK) { var html = await _viewRenderService.RenderToStringAsync("Register/EmailTemplateUserPlatform", response.Value); await _emailService.SendEmailAsync(response.Value.Email, html, "Email Verification"); return(Ok(new Response { Status = "OK", Message = "Se ha enviado un correo electrónico favor de verificar para poder contitnuar con el registro " })); } else { return(StatusCode((int)response.StatusCode, new Response { Status = "Error", Message = response.Message })); } }
public async Task <StatusResponse <AppUser> > RegisterUserPlatform(RegisterUserPlatformDAO registerUser, string userName, string password, string type) { var response = new StatusResponse <AppUser>(); try { AppUser user = new AppUser() { Email = registerUser.Email, Type = type, UserName = userName, Name = registerUser.Name, MiddleName = registerUser.LastName, LastName = registerUser.SecondLastName, AuthValidationCode = password, IsActive = true, Area = registerUser.Employment }; IdentityResult result = await _userManager.CreateAsync(user, password); if (result.Succeeded) { result = null; result = await _userManager.AddToRoleAsync(user, registerUser.RoleName); if (result.Succeeded) { response.StatusCode = HttpStatusCode.OK; response.Message = "Usuario agregado satisfactoriamente"; response.Value = user; } else { response.StatusCode = HttpStatusCode.BadRequest; response.Message = string.Join(",", UtilitiesAIO.AddErrors(result)); response.Value = null; } } else { response.StatusCode = HttpStatusCode.BadRequest; response.Message = string.Join(",", UtilitiesAIO.AddErrors(result)); response.Value = null; } } catch (Exception e) { SystemLog systemLog = new SystemLog(); systemLog.Description = e.ToMessageAndCompleteStacktrace(); systemLog.DateLog = DateTime.UtcNow.ToLocalTime(); systemLog.Controller = GetType().Name; systemLog.Action = UtilitiesAIO.GetCallerMemberName(); systemLog.Parameter = JsonConvert.SerializeObject(new { Register = registerUser, User = userName, Password = password }); _customSystemLog.AddLog(systemLog); response.StatusCode = HttpStatusCode.InternalServerError; response.Message = "Error al intentar hacer el registro"; } return(response); }