public ActionResult EditarPerfilPropio(PerfilUsuario perfilUsuario) { try { if (perfilUsuario.Id == SesionUsuario.Usuario.Id) { if (ModelState.IsValid) { var existePerfil = _db.PerfilesUsuario.Count(x => x.Id == SesionUsuario.Usuario.Id) > 0; if (existePerfil) { var perfil = _db.PerfilesUsuario.FirstOrDefault(x => x.Id == SesionUsuario.Usuario.Id); var cadenaModificacion = _auditorRepository.DiferenciasObjetos(perfil, perfilUsuario); _db.PerfilesUsuario.ApplyCurrentValues(perfilUsuario); _auditorRepository.GuardarRegistroEdicion(perfil, cadenaModificacion); _db.SaveChanges(); } else { perfilUsuario.Id = SesionUsuario.Usuario.Id; _auditorRepository.GuardarRegistro(TipoTransaccion.Crear, perfilUsuario.Id, perfilUsuario.GetType()); _db.PerfilesUsuario.AddObject(perfilUsuario); _db.SaveChanges(); } Utilidades.ColocarMensaje("El perfil se ha guardado exitosamente."); return(RedirectToAction("Index", "Home")); } return(View(perfilUsuario)); } return(RedirectToAction("Index", "Home")); } catch (Exception ex) { Utilidades.ColocarMensaje(ex.Message, ErrorType.Error, Request); return(View(perfilUsuario)); } }
public ActionResult Create(Usuario usuario) { try { if (ModelState.IsValid) { _db.Usuarios.AddObject(usuario); _db.SaveChanges(); var usuarioDominio = _domainUserRepository.FindUser(usuario.NombreUsuario); var perfil = new PerfilUsuario() { Apellidos = usuarioDominio.LastName, Email = usuarioDominio.Email, Nombre = usuarioDominio.FirstName, Telefono = "", Id = usuario.Id }; _db.PerfilesUsuario.AddObject(perfil); _db.SaveChanges(); _auditorRepository.GuardarRegistro(TipoTransaccion.Crear, perfil.Id, perfil.GetType()); Utilidades.ColocarMensaje("El usuario se ha guardado exitosamente."); return(RedirectToAction("EditarPerfilUsuario/" + perfil.Id)); } ViewBag.Id = new SelectList(_db.PerfilesUsuario, "Id", "Nombre", usuario.Id); ViewBag.IdRol = _db.Roles.ToDictionary(x => x.Id.ToString(), x => x.Nombre); return(View(usuario)); } catch (Exception ex) { ViewBag.Id = new SelectList(_db.PerfilesUsuario, "Id", "Nombre"); ViewBag.IdRol = _db.Roles.ToDictionary(x => x.Id.ToString(), x => x.Nombre); Utilidades.ColocarMensaje(ex.Message, ErrorType.Error, Request); return(View(usuario)); } }