Esempio n. 1
0
        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));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        public async Task <int> GetTotalResultadosAsync(FiltroUser filtro)
        {
            int cantidadResultado = await _usuarioRepositories.GetTotalResultadosAsync(filtro);

            return(cantidadResultado);
        }
Esempio n. 7
0
        public async Task <List <Usuario> > GetListaUsuariosAsync(FiltroUser filtro)
        {
            List <Usuario> userList = await _usuarioRepositories.GetListaUsuariosAsync(filtro);

            return(userList);
        }
Esempio n. 8
0
 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);
 }