示例#1
0
        public ActionResult IndexIssuesAdmin()
        {
            var currentUserId  = User.Identity.GetUserId();
            var todaslasIssues = _context.Issue.Where(m => m.EstadoIssue.Nombre != "Finalizado");
            var users          = _context.Users.ToList();
            var sinasignar     = todaslasIssues.Where(m => m.TecnicoAsignadoId == null && m.EstadoIssue.Nombre != "Finalizado").Count();
            //var cantEnProceso = todaslasIssues.Where(m => m.EstadoIssue.Nombre == "En proceso").Count();
            var cantEnProceso = todaslasIssues.Where(m => m.EstadoIssue.Nombre != "Finalizado" && m.TecnicoAsignadoId != null).Count();

            var mias      = todaslasIssues.Where(m => m.TecnicoAsignadoId == currentUserId).Count();
            var viewmodel = new IndexIssuesTecnicosViewModel
            {
                Usuarios        = users,
                CantDisponibles = sinasignar,
                CantPendientes  = cantEnProceso,
                Mias            = mias
            };

            return(View(viewmodel));
        }
示例#2
0
        public ActionResult IndexIssuesTecnicos()
        {
            var userId            = User.Identity.GetUserId();
            var Usuario           = _context.Users.Single(m => m.Id == userId);
            var misAreas          = _context.RelacionesAreas.Where(m => m.TecnicoId == userId).ToList();
            var clientesDeTecnico = _context.RelacionesClientes.Where(m => m.TecnicoId == userId).ToList();
            var ListIDareas       = new List <int>();
            var ListIdClientes    = new List <int>();

            foreach (var area in misAreas)
            {
                ListIDareas.Add(area.AreasTecnicosId);
            }
            foreach (var cliente in clientesDeTecnico)
            {
                ListIdClientes.Add(cliente.ClientesId);
            }
            var issues = _context.Issue
                         .Include(m => m.AreaTecnicos)
                         .Include(m => m.EstadoIssue)
                         .Include(m => m.CriticidadIssue)
                         .Include(m => m.Clientes)
                         .Include(m => m.CreadaPor)
                         .Include(m => m.TecnicoAsignado)
                         .ToList();
            var filtro1 = issues.Where(t => ListIdClientes.Contains(t.ClientesId));
            var filtro2 = filtro1.Where(t => ListIDareas.Contains(t.AreaTecnicosId));


            var disponibles = filtro2.Where(m => m.TecnicoAsignadoId == null && m.EstadoIssue.Nombre != "Finalizado");
            var pendientes  = filtro2.Where(m => m.TecnicoAsignadoId == userId && m.EstadoIssue.Nombre != "Finalizado");


            var viewmodel = new IndexIssuesTecnicosViewModel
            {
                CantDisponibles = disponibles.Count(),
                CantPendientes  = pendientes.Count()
            };

            return(View(viewmodel));
        }
示例#3
0
        public ActionResult IndexIssuesPm()
        {
            var todaslasIssues = _context.Issue.Where(m => m.EstadoIssue.Nombre != "Finalizado");

            var userId         = User.Identity.GetUserId();
            var Usuario        = _context.Users.Single(m => m.Id == userId);
            var clientesDePm   = _context.RelacionesClientes.Where(m => m.TecnicoId == userId).ToList();
            var ListIdClientes = new List <int>();
            var mias           = todaslasIssues.Where(m => m.TecnicoAsignadoId == userId).Count();

            foreach (var cliente in clientesDePm)
            {
                ListIdClientes.Add(cliente.ClientesId);
            }
            var issues = _context.Issue
                         .Include(m => m.AreaTecnicos)
                         .Include(m => m.EstadoIssue)
                         .Include(m => m.CriticidadIssue)
                         .Include(m => m.Clientes)
                         .Include(m => m.CreadaPor)
                         .Include(m => m.TecnicoAsignado)
                         .ToList();
            var filtro1 = issues.Where(t => ListIdClientes.Contains(t.ClientesId));


            var sinasignar    = filtro1.Where(m => m.TecnicoAsignadoId == null && m.EstadoIssue.Nombre != "Finalizado");
            var cantEnProceso = filtro1.Where(m => m.EstadoIssue.Nombre != "Finalizado" && m.TecnicoAsignadoId != null).Count();

            var users     = _context.Users.ToList();
            var viewmodel = new IndexIssuesTecnicosViewModel
            {
                Usuarios        = users,
                CantDisponibles = sinasignar.Count(),
                CantPendientes  = cantEnProceso,
                Mias            = mias
            };

            return(View(viewmodel));
        }