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)); }
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)); }
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)); }