Exemplo n.º 1
0
        public IActionResult ExportaPadraoNovatec(int Zid, int AId, int IdLote, int Interesse, int NegativaId, int AgComercialId,
                                                  string Diavisita1, string Diavisita2, string Pco, string AgVisita, string Bairro,
                                                  string Localidade, string Logradouro, int Numero1, int Numero2, int TipoVisitaId)
        {
            var viewModel = new VisitaPcoViewModel()
            {
                ZId           = Zid,
                AId           = AId,
                IdLote        = IdLote,
                Interesse     = Interesse,
                NegativaId    = NegativaId,
                AgComercialId = AgComercialId,
                Diavisita1    = Diavisita1,
                Diavisita2    = Diavisita2,
                Pco           = Pco,
                AgVisita      = AgVisita,
                Bairro        = Bairro,
                Localidade    = Localidade,
                Logradouro    = Logradouro,
                Numero1       = Numero1,
                Numero2       = Numero2,
                TipoVisitaId  = TipoVisitaId
            };


            var visitasPcoLista = _visitaPcoRepository.GetVisitaPco();

            // filtros vindos da View
            visitasPcoLista = _visitaPcoRepository.AplicaFiltro(viewModel, visitasPcoLista);

            byte[] fileBytes = _exporter.ExportaPadraoNovatecVisitaPco(visitasPcoLista.ToList());

            return(File(fileBytes, "application/x-msdownload", _exporter.FileName));
        }
Exemplo n.º 2
0
        public IActionResult VisitaPco([FromForm] VisitaPcoViewModel visitaViewModel, int PaginaClicada)
        {
            var visitasPcoLista = _visitaPcoRepository.GetVisitaPco();

            var d         = HttpContext.Session.GetInt32("Delegação");
            var z         = HttpContext.Session.GetInt32("Zona");
            var quantArea = HttpContext.Session.GetInt32("QuantidadeArea");

            if (quantArea != null && ((int)quantArea == 1))
            {
                visitaViewModel.AId = (int)HttpContext.Session.GetInt32("Área");
            }
            // se for cliente, vai ter as variáveis de sessão preenchidas
            visitaViewModel.ZId = (z != null) ? (int)z : visitaViewModel.ZId;
            visitaViewModel.DId = (d != null) ? (int)d : visitaViewModel.DId;

            visitasPcoLista = _visitaPcoRepository.AplicaFiltro(visitaViewModel, visitasPcoLista);

            //paginação
            var pagina         = 0;
            var itensPorPagina = 20;

            if (PaginaClicada != 0)
            {
                pagina = (PaginaClicada - 1) * itensPorPagina;
            }

            var retorno = new
            {
                visitasPco            = visitasPcoLista.Skip(pagina).Take(itensPorPagina),
                QuantasPaginasExistem = (visitasPcoLista.Count() != 0) ? Math.Ceiling(decimal.Divide(Convert.ToDecimal(visitasPcoLista.Count()), itensPorPagina)) : 1,
                contagem = visitasPcoLista.Count()
            };

            return(Json(retorno));
        }
        /* Aplica filtros vindos da View de VisitaPco/Index.cshtml */
        public IEnumerable <VisitaPco> AplicaFiltro(VisitaPcoViewModel visitaViewModel, IEnumerable <VisitaPco> visitasPcoLista)
        {
            //refatorar esse código futuramente
            if (visitaViewModel.ZId != 0)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.ZId == visitaViewModel.ZId).ToList();
            }
            if (visitaViewModel.DId != 0)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.DId == visitaViewModel.DId).ToList();
            }
            if (visitaViewModel.AId != 0)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.AId == visitaViewModel.AId).ToList();
            }
            if (visitaViewModel.IdLote != 0)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.IdLote == visitaViewModel.IdLote).ToList();
            }
            if (visitaViewModel.Interesse != 0)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.Interesse == visitaViewModel.Interesse).ToList();
            }
            if (visitaViewModel.TipoVisitaId != 0)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.TipoVisitaId == visitaViewModel.TipoVisitaId).ToList();
            }
            if (visitaViewModel.NegativaId != 0)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.NegativaId == visitaViewModel.NegativaId).ToList();
            }
            if (visitaViewModel.AgComercialId != 0)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.AgComercialId == visitaViewModel.AgComercialId).ToList();
            }
            if (visitaViewModel.Diavisita1 != null && visitaViewModel.Diavisita2 != null)
            {
                DateTime dt  = Convert.ToDateTime(visitaViewModel.Diavisita1);
                DateTime dt2 = Convert.ToDateTime(visitaViewModel.Diavisita2);
                dt2 = dt2.AddHours(23);
                dt2 = dt2.AddMinutes(59);

                visitasPcoLista = visitasPcoLista.Where(w => w.DataHora >= dt && w.DataHora <= dt2)
                                  .ToList();
            }
            if (visitaViewModel.Bairro != null)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.BairroB.Contains(visitaViewModel.Bairro.ToUpper())).ToList();
            }
            if (visitaViewModel.Localidade != null)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.LocalidadeB.Contains(visitaViewModel.Localidade.ToUpper())).ToList();
            }
            if (visitaViewModel.Logradouro != null)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.LogradouroB.Contains(visitaViewModel.Logradouro.ToUpper())).ToList();
            }
            if (visitaViewModel.AgVisita != null)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.AgVisita.Contains(visitaViewModel.AgVisita)).ToList();
            }
            if (visitaViewModel.Pco != null)
            {
                visitasPcoLista = visitasPcoLista.Where(v => v.PcoB.Contains(visitaViewModel.Pco.ToUpper())).ToList();
            }
            if (visitaViewModel.Numero1 != 0 && visitaViewModel.Numero2 != 0)
            {
                visitasPcoLista = visitasPcoLista.Where(c => c.Num >= visitaViewModel.Numero1 && c.Num <= visitaViewModel.Numero2).OrderBy(c => c.Num).ToList();
            }

            return(visitasPcoLista);
        }