//un usuario solo puede modificar sus propias tareas a menos que sea un SuperUsuario public static bool Modificar(Tarea tarea, string sesionId) { Usuario usuario = Sesion.VerificarSesion(sesionId); tarea = ModeloFactory.ValidarNulos <Tarea>(tarea, "Id"); if (usuario != null && tarea != null && tarea.GetUsuario() != null && (usuario.Id == tarea.GetUsuario().Id || usuario.GetRol().SuperUsuario)) { if (usuario.GetRol().SuperUsuario) { return(ModeloFactory.Modificar(tarea, "Id")); } else { //solo puede modificar el Estado return(ModeloFactory.Modificar <Tarea>(new Dictionary <string, string> { { "Estado", tarea.Estado } }, new KeyValuePair <string, string>("Id", tarea.Id.ToString()))); } } return(false); }