public ActionResult Index(string titulo, string setor) { ListaChamadoViewModel vmListaChamados = new ListaChamadoViewModel(); using (ChamadoRepositorio _repoChamado = new ChamadoRepositorio()) { if (User.IsInRole("Administrador")) { vmListaChamados.ListaChamados = Mapper.Map <List <ChamadoDomain>, List <ChamadoViewModel> >(_repoChamado.Listar()); } else { var claims = User.Identity as ClaimsIdentity; var id = claims.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier).Value; vmListaChamados.ListaChamados = Mapper.Map <List <ChamadoDomain>, List <ChamadoViewModel> >(_repoChamado.Listar(new Guid(id))); } } //filtro de chamados pelo titulo // usando upper casa para compara o maximo possivel "dar algo parecido" ao inves de igual if (!string.IsNullOrEmpty(titulo)) { vmListaChamados.ListaChamados = vmListaChamados.ListaChamados.Where(x => x.Titulo.ToUpper().Contains(titulo.ToUpper())).ToList(); } //filtra de chamados pelo setor if (!string.IsNullOrEmpty(setor)) { vmListaChamados.ListaChamados = vmListaChamados.ListaChamados.Where(x => x.Setor == (EnSetor)Enum.Parse(typeof(EnSetor), setor)).ToList(); } return(View(vmListaChamados)); }
// GET: Chamado public ActionResult Index(string titulo, string setor) { ListaChamadoViewModel vmListaChamados = new ListaChamadoViewModel(); using (ChamadoRepositorio _repChamado = new ChamadoRepositorio()) { if (User.IsInRole("Administrador")) { vmListaChamados.ListaChamados = Mapper.Map <List <ChamadoDomain>, List <ChamadoViewModel> >(_repChamado.Listar()); } else { var claims = User.Identity as ClaimsIdentity; var id = claims.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier).Value; vmListaChamados.ListaChamados = Mapper.Map <List <ChamadoDomain>, List <ChamadoViewModel> >(_repChamado.Listar(new System.Guid(id))); } } //Verirfica se o campo titulo do filtro ets a preenhido if (!string.IsNullOrEmpty(titulo)) { // Filtro os chamados pelo titulo vmListaChamados.ListaChamados = vmListaChamados.ListaChamados.Where(x => x.Titulo.ToUpper().Contains(titulo.ToUpper())).ToList(); } //Verirfica se o campo titulo do filtro ets a preenhido if (!string.IsNullOrEmpty(setor)) { // Filtro os chamados pelo setor vmListaChamados.ListaChamados = vmListaChamados.ListaChamados.Where(x => x.Setor == (EnSetor)Enum.Parse(typeof(EnSetor), setor)).ToList(); } return(View(vmListaChamados)); }
public ActionResult Index() { ListaChamadoViewModel vmListaChamados = new ListaChamadoViewModel(); using (ChamadoRepositorio _repChamado = new ChamadoRepositorio()) { if (User.IsInRole("Administrador")) { vmListaChamados.ListaChamados = Mapper.Map <List <ChamadoDomain>, List <ChamadoViewModel> >(_repChamado.Listar()); } else { var claims = User.Identity as ClaimsIdentity; var id = claims.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier).Value; vmListaChamados.ListaChamados = Mapper.Map <List <ChamadoDomain>, List <ChamadoViewModel> >(_repChamado.Listar(new Guid(id))); } } return(View(vmListaChamados)); }
// GET: Graficos public ActionResult Index() { try { ListaGraficoViewModel vmGrafico = new ListaGraficoViewModel(); ListaChamadoViewModel vmListaChamados = new ListaChamadoViewModel(); using (ChamadoRepositorio _repoChamado = new ChamadoRepositorio()) { if (User.IsInRole("Administrador")) { vmListaChamados.ListaChamados = Mapper.Map <List <ChamadoDomain>, List <ChamadoViewModel> >(_repoChamado.Listar()); } else { var claims = User.Identity as ClaimsIdentity; var id = claims.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier).Value; vmListaChamados.ListaChamados = Mapper.Map <List <ChamadoDomain>, List <ChamadoViewModel> >(_repoChamado.Listar(new Guid(id))); } } #region Gráfico Status //Faz o agrupamento dos dados por Status var grupoStatus = vmListaChamados.ListaChamados .GroupBy(x => x.Status) .Select(n => new { Status = RetornaStatus(n.Key), Quantidade = Convert.ToDouble(n.Count()) }).OrderBy(n => n.Quantidade); //Atribui as labels que serão mostradas no gráfico vmGrafico.GraficoStatus.Labels = grupoStatus.Select(x => x.Status).ToArray(); //Atribuir os dados que serão apresentados no gráfico vmGrafico.GraficoStatus.Data = grupoStatus.Select(x => x.Quantidade).ToArray(); #endregion #region Gráfico Setor //Faz o agrupamento dos dados por Status var grupoSetor = vmListaChamados.ListaChamados .GroupBy(x => x.Setor) .Select(n => new { Setor = RetornaSetor(n.Key), Quantidade = Convert.ToDouble(n.Count()) }).OrderBy(n => n.Quantidade); //Atribui as labels que serão mostradas no gráfico vmGrafico.GraficoSetor.Labels = grupoSetor.Select(x => x.Setor).ToArray(); //Atribuir os dados que serão apresentados no gráfico vmGrafico.GraficoSetor.Data = grupoSetor.Select(x => x.Quantidade).ToArray(); #endregion return(View(vmGrafico)); } catch (Exception ex) { ViewBag.Erro = ex.Message; return(View()); } }