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));
        }
Exemplo n.º 2
0
        // 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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        // 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());
            }
        }