public List <Branches> getBranches(FiltroUser customUser) { List <Branches> roles = new List <Branches>(); DirectoryEntry obEntry = new DirectoryEntry("LDAP://UCB.BO", "ADMNALRRHH", "Rrhh1234"); DirectorySearcher srch = new DirectorySearcher(obEntry, "(sAMAccountName=" + customUser.UserPrincipalName.Split('@')[0] + ")"); SearchResult res = srch.FindOne(); if (res != null) { DirectoryEntry obUser = new DirectoryEntry(res.Path, "ADMNALRRHH", "Rrhh1234"); object obGroups = obUser.Invoke("Groups"); List <string> grps = new List <string>(); foreach (var group in obUser.Properties["memberOf"]) { var ss = "{'" + group.ToString().Replace("=", "':'").Replace(",", "','") + "'}"; var dic = JsonConvert.DeserializeObject <Dictionary <string, string> >(ss); grps.Add(dic["CN"]); } var _context = new ApplicationDbContext(); roles = _context.Branch.ToList().Where(x => grps.Contains(x.ADGroupName)).ToList(); } return(roles); }
public IHttpActionResult ProjectGeneral(int user) { FiltroUser us = new FiltroUser(user); //convertir precio a float o double y cantidad a int!! var queryProduct = "select p.\"PrjCode\" as \"codigo_proyecto\"," + "\r\np.\"PrjName\" as \"nombre_proyecto\"," + "\r\np.\"U_Sucursal\" as \"regional\"," + "\r\np.\"U_PEI_PO\" as \"pei_po\"," + "\r\np.\"U_UORGANIZA\" as \"unidad_organizacional\"," + "\r\np.\"ValidTo\" as \"valido_hasta\", p.\"ValidFrom\" " + "\r\nas \"valido_desde\" from ucatolica.oprj p " + "\r\nwhere p.\"Active\" = 'Y' " + "\r\nand p.\"ValidTo\" >= current_date " + "\r\ngroup by p.\"PrjCode\"," + "\r\np.\"PrjName\", p.\"U_Sucursal\", p.\"U_PEI_PO\", " + "\r\np.\"U_UORGANIZA\", p.\"ValidTo\", p.\"ValidFrom\" order by " + "\r\np.\"PrjCode\", p.\"PrjName\""; var rawresult = _context.Database.SqlQuery <Project>(queryProduct).ToList(); var AD = new ADClass(); var data = AD.FiltrarRegional(new FiltroUser(user), rawresult.AsQueryable()).ToList(); var formatedData = data.Select(x => new { nombre = x.codigo_proyecto + " - " + x.nombre_proyecto, x.codigo_proyecto, x.nombre_proyecto, x.regional, valido_hasta = x.valido_hasta.ToString("dd/MM/yyyy"), valido_desde = x.valido_desde.ToString("dd/MM/yyyy"), }); return(Ok(formatedData)); }
public async Task <int> GetTotalResultadosAsync(FiltroUser filtro) { IQueryable <Usuario> query = _db.Usuario; Expression <Func <Usuario, bool> > where = GetWhere(filtro); int resultado = await query.CountAsync(where).ConfigureAwait(false); return(resultado); }
public List <dynamic> FiltrarRegional(FiltroUser user, IQueryable <dynamic> list) { var ubranches = getBranches(user).Select(x => x.Abr); var filtered = from Lc in list.ToList() join branches in ubranches on Lc.regional equals branches select Lc; return(filtered.ToList()); }
public async Task <List <Usuario> > GetListaUsuariosAsync(FiltroUser filtro, bool tracked = false) { IQueryable <Usuario> query; if (tracked) { query = _db.Usuario; } else { query = _db.Usuario.AsNoTracking(); } Expression <Func <Usuario, bool> > where = GetWhere(filtro); query = query.Where(where) .OrderBy(x => x.Nombre) .Skip((filtro.Page - 1) * filtro.CantItem) .Take(filtro.CantItem); List <Usuario> user = await query.ToListAsync().ConfigureAwait(false); return(user); }
public async Task <int> GetTotalResultadosAsync(FiltroUser filtro) { int cantidadResultado = await _usuarioRepositories.GetTotalResultadosAsync(filtro); return(cantidadResultado); }
public async Task <List <Usuario> > GetListaUsuariosAsync(FiltroUser filtro) { List <Usuario> userList = await _usuarioRepositories.GetListaUsuariosAsync(filtro); return(userList); }
private Expression <Func <Usuario, bool> > GetWhere(FiltroUser filtros) { Expression <Func <Usuario, bool> > where = x => ((string.IsNullOrEmpty(filtros.Nombre)) || (x.Nombre.Contains(filtros.Nombre))); return(where); }