示例#1
0
        public ActionResult PDFConfigurado()
        {
            model = Session["ModelPerfomance"] as PerformanceUsuarioViewModel;


            model.isPdf = true;


            model.dtFim    = dataFinal;
            model.dtInicio = dataInicial;

            var pdf = new ViewAsPdf
            {
                ViewName = "Index",
                FileName = model.usuarioSelecionado.Nome + ".pdf",
                PageSize = Size.A4,

                PageMargins = new Margins {
                    Bottom = 0, Left = 0, Right = 0, Top = 0
                },
                Model = model
            };

            model.isPdf = false;
            return(pdf);
        }
示例#2
0
        public ActionResult FiltraPerfomance(DateTime dtInicio, DateTime dtFim, string idUsuario)
        {
            //limpa o model
            model              = new PerformanceUsuarioViewModel();
            model.clientes     = new List <ClienteDTO>();
            model.atendimentos = new List <AtendimentoClienteDTO>();

            dataInicial = dtInicio;
            dataFinal   = dtFim;


            if (idUsuario == null)
            {
                idUsuario = User.Identity.GetUserId();
            }

            UsuariosDAO userdao = new UsuariosDAO();

            model.usuariosGrid.Add(userdao.LoginEmailApp("", idUsuario));
            model.usuarioSelecionado = model.usuariosGrid.Last <UsuariosDTO>();


            Session["idCliente"] = model.usuarioSelecionado.Id;

            ClienteDAO clienteDAO = new ClienteDAO();

            foreach (var clie in clienteDAO.ListarClientes(idUsuario, false))
            {
                model.clientes.Add(clie);

                if (clie.situacaoClienteVendendor == "NEGOCIANDO" || clie.situacaoClienteVendendor == "TESTE")
                {
                    model.totalClienteNegociando++;
                    model.totalAD     += clie.Ad;
                    model.totalOS     += clie.Os;
                    model.totalTAPETE += clie.tapete;
                    model.totalAro    += clie.aro;
                }
            }
            model.totalMaquinaNegociando = model.totalAD + model.totalOS + model.totalTAPETE + model.totalAro;


            AtendimentoDAO atendimentoDAO = new AtendimentoDAO();

            TipoAtendimentoDAO tipoAtendimentoDAO = new TipoAtendimentoDAO();



            foreach (var cliente in model.clientes)
            {
                foreach (var atendi in  atendimentoDAO.listaAtendimentoPorCliente(cliente.Id, dtInicio, dtFim))
                {
                    atendi.descricaoTipo = tipoAtendimentoDAO.BuscarTipo(atendi.idTipoAtendimento).descricao;

                    if (atendi.idTipoAtendimento == 3)
                    {
                        model.totalOrcamentos++;
                    }


                    atendi.logintude_casa = model.usuarioSelecionado.longitude_casa.ToString();
                    atendi.latitude_casa  = model.usuarioSelecionado.latitude_casa.ToString();


                    model.atendimentos.Add(atendi);
                }
            }


            model.performanceDia = atendimentoDAO.getPerformanceDia(dtInicio, dtFim, idUsuario);

            DateTime dataUsada = DateTime.Today.Date;


            foreach (var datas in model.performanceDia)
            {
                if (dataUsada.Date != datas.data.Date)
                {
                    RelPerformanceTotaisDTO datasTotais = new RelPerformanceTotaisDTO();
                    dataUsada = datas.data.Date;

                    if (datas.tipo == "Visita")
                    {
                        datasTotais.totalVisita++;
                    }
                    else if (datas.tipo == "Ligação")
                    {
                        datasTotais.totalLiga++;
                    }

                    datasTotais.data = datas.data.Date;
                    model.listaDatas.Add(datasTotais);
                }
                else
                {
                    if (datas.tipo == "Visita")
                    {
                        model.listaDatas.Last <RelPerformanceTotaisDTO>().totalVisita++;
                    }
                    else if (datas.tipo == "Ligação")
                    {
                        model.listaDatas.Last <RelPerformanceTotaisDTO>().totalLiga++;
                    }
                }
            }



            UsuariosDAO userDao = new UsuariosDAO();

            model.usuarios = null;

            model.usuarios = userDao.ListarUsuarios();

            var user = UserManager.FindByIdAsync(User.Identity.GetUserId());

            if (user.Result.Roles.Contains("Gerente") || user.Result.Roles.Contains("Admin"))
            {
                model.gerenteAdm = true;
            }


            Session["ModelPerfomance"] = model;
            return(View("index", model));
        }