public async Task Registrar(TrabajadorRegisterViewModel model) { var negocio = new NegocioViewModel { IdNegocio = Guid.NewGuid().ToString(), Nombre = model.NombreNegocio, TipoNegocio = model.TipoNegocio }; await negocioRepository.Add(negocio); string contrasenaEncriptada = BCrypt.Net.BCrypt.HashPassword(model.Contrasena.Trim()); var trabajador = new Trabajador { Rut = model.Rut.Replace(".", "").Replace("-", "").Trim(), IdNegocio = negocio.IdNegocio.ToString(), IdRol = "1", Correo = model.Correo.Trim(), Contrasena = contrasenaEncriptada, Nombre = model.Nombre.Trim(), Apellido = model.Apellido?.Trim(), FechaNacimiento = DateOnly.FromDateTime(model.FechaNacimiento), Telefono = model.Telefono?.Trim() }; await Add(trabajador); }
public async Task <IActionResult> RegisterAsync(TrabajadorRegisterViewModel model) { if (!ModelState.IsValid) { return(View(model)); } if (model.TipoNegocio > 3 || model.TipoNegocio < 1) { ModelState.AddModelError(nameof(model.Correo), "El tipo de negocio es invalido."); return(View(model)); } if ((await repositorioTrabajadores.GetByEmail(model.Correo)) != null) { ModelState.AddModelError(nameof(model.Correo), "El correo ingresado ya existe."); return(View(model)); } else if ((await repositorioTrabajadores.GetByRut(model.Rut, true)) != null) { ModelState.AddModelError(nameof(model.Rut), "El rut ingresado ya existe."); return(View(model)); } else if (string.IsNullOrWhiteSpace(model.Contrasena)) { ModelState.AddModelError(nameof(model.Contrasena), "La contraseña no puede estar vacia."); return(View(model)); } else if (string.IsNullOrWhiteSpace(model.Correo)) { ModelState.AddModelError(nameof(model.Correo), "El correo no puede estar vacio."); return(View(model)); } await repositorioTrabajadores.Registrar(model); return(LocalRedirect("~/Account/Login")); }