public async Task <IActionResult> Profile(TrabajadorUpdateViewModel model) { if (!ModelState.IsValid) { return(View(model)); } if (model == null) { return(LocalRedirect("~/Producto")); } if (string.IsNullOrWhiteSpace(model.Correo)) { ModelState.AddModelError(nameof(model.Correo), "El correo ingresado es invalido."); return(View(model)); } if (string.IsNullOrWhiteSpace(model.Contrasena)) { ModelState.AddModelError(nameof(model.Contrasena), "La contraseña no puede estar vacia."); return(View(model)); } var t = await repositorioTrabajadores.GetByEmail(model.Correo); var rut = administradorSesion.UsuarioActual()?.FindFirst(ClaimTypes.NameIdentifier)?.Value; if (t != null && t.Rut != rut) { ModelState.AddModelError(nameof(model.Correo), "El correo ingresado ya existe."); return(View(model)); } await repositorioTrabajadores.Actualizar(model); return(LocalRedirect("~/Producto")); }
public async Task <IActionResult> Create([Bind("Nombre, Apellido, Rut, Correo, Contrasena, FechaNacimiento, Telefono, Foto")] TrabajadorEmployCreateViewModel trabajador) { try { if (ModelState.IsValid) { if ((await trabajadorRepository.GetByEmail(trabajador.Correo)) != null) { ModelState.AddModelError(nameof(trabajador.Correo), "El correo ingresado ya existe."); return(View(trabajador)); } else if ((await trabajadorRepository.GetByRut(trabajador.Rut)) != null) { ModelState.AddModelError(nameof(trabajador.Rut), "El rut ingresado ya existe."); return(View(trabajador)); } var p = await trabajadorRepository.Employ(trabajador); if (trabajador.Foto != null) { using (MemoryStream m = new()) { trabajador.Foto.CopyTo(m); await servicesAWSS3.SubirFotoTrabajador(m, p); } } return(RedirectToAction(nameof(Index))); } return(View(trabajador)); } catch (Exception e) { return(StatusCode((int)System.Net.HttpStatusCode.Unauthorized, e.Message)); //return Unauthorized(e.Message); } }