public bool ExisteDelegado(string usuario_jefe, string usuario) { try { Model context = new Model(); var query = context.usuarios_delegados .Where(i => i.usuario_jefe.ToUpper() == usuario_jefe.ToUpper() && i.usuario.ToUpper() == usuario.ToUpper()) .Select(u => new { u.id_usuariod }); DataTable dt = To.DataTable(query.ToList()); foreach (DataRow row in dt.Rows) { int id = Convert.ToInt32(row["id_usuariod"]); usuarios_delegados usuario_delegado = context.usuarios_delegados .First(i => i.id_usuariod == id); usuario_delegado.activo = true; } context.SaveChanges(); return(dt.Rows.Count > 0); } catch (DbEntityValidationException ex) { var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); var fullErrorMessage = string.Join("; ", errorMessages); return(false); } }
/// <summary> /// Agrega un listado de usuarios para que un usuario pueda visualizarlos como si fuera su jefe directo. /// </summary> /// <param name="usuario_jefe"></param> /// <param name="usuarios"></param> /// <returns></returns> public string AgregarDelegados(string usuario_jefe, List <string> usuarios) { try { string vmensaje = EliminarDelegados(usuario_jefe); if (vmensaje != "") { return(vmensaje); } else { Model context = new Model(); foreach (string usuario in usuarios) { if (!ExisteDelegado(usuario_jefe, usuario)) { usuarios_delegados usuarios_delegado = new usuarios_delegados { usuario = usuario, usuario_jefe = usuario_jefe, activo = true }; context.usuarios_delegados.Add(usuarios_delegado); } } context.SaveChanges(); return(""); } } catch (DbEntityValidationException ex) { var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); var fullErrorMessage = string.Join("; ", errorMessages); return(fullErrorMessage.ToString()); } }