Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
        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);
            }
        }