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