예제 #1
0
        public ActionResult EditarUsuario(UsuarioViewModel model)
        {
            bool enSesion = false;

            try
            {
                if (userService.ExisteUsuarioPorCodigo(model.codigo))
                {
                    var domain = userService.GetUsuarioConPerfiles(model.codigo);
                    if (domain.Id != model.id)
                    {
                        return(Json(new { success = false }));
                    }
                }

                if (userService.ExisteUsuarioPorCorreo(model.correo))
                {
                    var domain2 = userService.GetUsuarioConPerfiles(model.correo);
                    if (domain2.Id != model.id)
                    {
                        return(Json(new { success = false }));
                    }
                }

                var user = userMap.Update(model);
                if (user.Id.ToString() == User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value)
                {
                    ReiniciarSesion(user);
                    enSesion = true;
                }


                return(Json(new { success = true, enSesion = enSesion }));
            }
            catch (Exception ex)
            {
                AltivaLog.Log.Insertar(ex.ToString(), "Error");
                return(BadRequest());
            }
        }
        public ActionResult EditarUsuario(UsuarioViewModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View());
                }

                var domain = userService.GetUsuarioConPerfiles(model.codigo);
                if (userService.ExisteUsuarioPorCodigo(model.codigo))
                {
                    if (domain.Id != model.id)
                    {
                        ModelState.AddModelError(string.Empty, "El código ya existe en el sistema");
                        return(View(model));
                    }
                }

                var domain2 = userService.GetUsuarioConPerfiles(model.correo);

                if (userService.ExisteUsuarioPorCorreo(model.correo))
                {
                    if (domain2.Id != model.id)
                    {
                        ModelState.AddModelError(string.Empty, "El correo ya existe en el sistema");
                        return(View(model));
                    }
                }

                var user = userMap.Update(model);
                return(RedirectToAction("CuentaUsuario", new { user.Codigo }));
            }
            catch
            {
                ModelState.AddModelError(string.Empty, "Lo sentimos, tuvimos un error al procesar tu solicitud");
                return(View(model));
            }
        }