Пример #1
0
        private ViewModels.VwChamados PesquisaGeral(string empresa, string tipochamado, string atividadechamado, string idchamado, string StatusPesq)
        {
            var portalChamados = db.PortalChamados.Include(p => p.PortalAtividadeChamados).Include(p => p.PortalTipoChamados);

            ViewModels.VwChamados _vwChamados                = new ViewModels.VwChamados();
            IList <PortalEmpresa> _PortalEmpresas            = new List <PortalEmpresa>();
            PortalEmpresa         _PortalEmpresa             = new PortalEmpresa();
            IList <PortalUsuario> _PortalUsuariosDasEmpresas = new List <PortalUsuario>();

            var _PortalUsuario = db.PortalUsuario.Find(Convert.ToInt32(Session["IdUsuario"]));

            _PortalUsuario.PortalUsuarioGrupo = db.PortalUsuarioGrupo.Find(_PortalUsuario.UsrGrpID);
            _PortalEmpresa = db.PortalEmpresa.Find(_PortalUsuario.UsrEmpID);

            if (_PortalEmpresa.EmpID == 0)
            {
                _PortalEmpresas = db.PortalEmpresa.ToList().Where(e => e.EmpID.Equals(0) || e.EmpEmpID.Equals(0)).ToList();
            }
            if (_PortalEmpresa.EmpID != 0 && _PortalEmpresa.EmpEmpID == 0)
            {
                _PortalEmpresas = db.PortalEmpresa.ToList().Where(e => e.EmpID.Equals(_PortalEmpresa.EmpID) || e.EmpEmpID.Equals(_PortalEmpresa.EmpID)).ToList();
            }
            if (_PortalEmpresa.EmpID != 0 && _PortalEmpresa.EmpEmpID != 0)
            {
                _PortalEmpresas = db.PortalEmpresa.ToList().Where(e => e.EmpID.Equals(_PortalEmpresa.EmpID)).ToList();
            }
            var lEmp = new int[_PortalEmpresas.Count()];
            int i    = 0;

            foreach (var item in _PortalEmpresas)
            {
                lEmp[i] = item.EmpID;
                i++;
            }

            if (empresa == null)
            {
                empresa          = "99999";
                tipochamado      = "0";
                atividadechamado = "0";
                if (idchamado == null)
                {
                    idchamado = "0";
                }
                StatusPesq = "Todos Status";
            }
            var IdUsuario = Convert.ToInt32((Session["IdUsuario"]));
            var Gestor    = Session["UsuarioGestor"].ToString();

            ViewBag.filtroEmpresa   = empresa;
            ViewBag.filtroTipos     = tipochamado;
            ViewBag.filtroAtividade = atividadechamado;
            ViewBag.filtroStatus    = StatusPesq;
            ViewBag.filtroTitulo    = string.Empty;
            if (idchamado == string.Empty)
            {
                idchamado = "0";
            }
            ViewBag.filtroIdChamado = idchamado;

            if (Gestor == "True")
            {
                _vwChamados.PortalChamados = portalChamados.ToList()
                                             .Where(e => lEmp.Contains(e.AtenderEmpID)).ToList();
            }
            else
            {
                _vwChamados.PortalChamados = portalChamados.ToList()
                                             .Where(e => e.DeUsrID == IdUsuario || e.ParaUsrID == IdUsuario)
                                             .OrderByDescending(e => e.ChamadoID).ToList();
            }

            foreach (var item in _vwChamados.PortalChamados)
            {
                item.PortalChamadosHistorico = db.PortalChamadosHistorico.ToList().Where(e => e.ChamadoID.Equals(item.ChamadoID)).ToList();
                item.ChamadoAnexos           = db.ChamadoAnexos.ToList().Where(e => e.ChamadoID.Equals(item.ChamadoID)).ToList();
            }
            if (Convert.ToInt32(idchamado) != 0)
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.ChamadoID.Equals(Convert.ToInt32(idchamado))).ToList();
            }
            if (empresa != "99999")
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.AtenderEmpID.Equals(Convert.ToInt32(empresa))).ToList();
            }
            if (tipochamado != "0")
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.TipoChamadoID.Equals(Convert.ToInt32(tipochamado))).ToList();
            }
            if (atividadechamado != "0")
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.AtividadeChamadoID.Equals(Convert.ToInt32(atividadechamado))).ToList();
            }

            if (StatusPesq != "Todos Status")
            {
                List <PortalChamados> novalista = new List <PortalChamados>();
                foreach (var item in _vwChamados.PortalChamados)
                {
                    if (item.Status == StatusPesq)
                    {
                        novalista.Add(item);
                    }
                }
                _vwChamados.PortalChamados = novalista;
            }
            else
            {
                List <PortalChamados> novalista = new List <PortalChamados>();
                foreach (var item in _vwChamados.PortalChamados)
                {
                    if (item.Status != "Finalizado")
                    {
                        novalista.Add(item);
                    }
                }
                _vwChamados.PortalChamados = novalista;
            }
            var  usrdasempresas = db.PortalUsuario.ToList();
            bool pertence       = false;

            foreach (var item in usrdasempresas)
            {
                foreach (var item2 in _PortalEmpresas)
                {
                    if (item2.EmpID == item.UsrEmpID)
                    {
                        pertence = true;
                    }
                }
                if (pertence)
                {
                    _PortalUsuariosDasEmpresas.Add(item);
                }
                pertence = false;
            }

            _vwChamados.PortalTipoChamados = db.PortalTipoChamados.ToList().Where(e => e.Ativo.Equals(true) && e.EmpID == _PortalUsuario.UsrEmpID).ToList();

            _vwChamados.PortalEmpresa           = _PortalEmpresas;
            _vwChamados.PortalAtividadeChamados = db.PortalAtividadeChamados.ToList().Where(e => e.Ativo.Equals(true) && e.EmpID == _PortalUsuario.UsrEmpID).ToList();
            _vwChamados.DeUsuario      = db.PortalUsuario.ToList();
            _vwChamados.ParaUsuario    = db.PortalUsuario.ToList();
            _vwChamados.AtenderEmpresa = _PortalEmpresas;
            ViewBag.DeUsrID            = new SelectList(db.PortalUsuario.ToList().Where(e => e.UsrID == Convert.ToInt32(Session["IdUsuario"])), "UsrID", "UsrNome");
            ViewBag.ParaUsrID          = new SelectList(_PortalUsuariosDasEmpresas, "UsrID", "UsrNome");
            ViewBag.AtenderEmpID       = new SelectList(_PortalEmpresas, "EmpID", "EmpNomeFantasia");
            ViewBag.TipoChamadoID      = new SelectList(db.PortalTipoChamados.ToList().Where(e => e.Ativo.Equals(true) && e.EmpID == _PortalUsuario.UsrEmpID).ToList(), "TipoChamadoID", "TipoChamadoNome");
            ViewBag.AtividadeChamadoID = new SelectList(db.PortalAtividadeChamados.ToList().Where(e => e.Ativo.Equals(true) && e.EmpID == _PortalUsuario.UsrEmpID).ToList(), "AtividadeChamadoID", "AtividadeChamadoNome");

            return(_vwChamados);
        }
Пример #2
0
        public void ExportChamadosToExcel(ViewModels.VwChamados _vwChamados)
        {
            _vwChamados.PortalTipoChamados      = db.PortalTipoChamados.ToList().Where(e => e.Ativo.Equals(true)).ToList();
            _vwChamados.PortalEmpresa           = db.PortalEmpresa.ToList();
            _vwChamados.PortalAtividadeChamados = db.PortalAtividadeChamados.ToList().Where(e => e.Ativo.Equals(true)).ToList();
            _vwChamados.DeUsuario      = db.PortalUsuario.ToList();
            _vwChamados.ParaUsuario    = db.PortalUsuario.ToList();
            _vwChamados.AtenderEmpresa = db.PortalEmpresa.ToList();

            System.Text.Encoding encoding = System.Text.Encoding.Unicode;
            StringWriter         sw       = new StringWriter();
            string linha = string.Empty;

            linha = "NR.CHAMADO;ATENDER EMPRESA;TITULO;DE USUÁRIO;PARA USUÁRIO;DT.ABERTURA;DT.PREVISÃO;STATUS";
            sw.WriteLine(linha);

            foreach (var item in _vwChamados.PortalChamados)
            {
                linha  = string.Empty;
                linha += item.ChamadoID + ";";
                foreach (var itemAt in _vwChamados.AtenderEmpresa)
                {
                    if (itemAt.EmpID == item.AtenderEmpID)
                    {
                        linha += itemAt.EmpNomeFantasia + ";";
                    }
                }
                linha += item.ChamadoTitulo + ";";
                foreach (var itemDe in _vwChamados.DeUsuario)
                {
                    if (itemDe.UsrID == item.DeUsrID)
                    {
                        linha += itemDe.UsrNome + ";";
                    }
                }
                foreach (var itemPara in _vwChamados.ParaUsuario)
                {
                    if (itemPara.UsrID == item.ParaUsrID)
                    {
                        linha += itemPara.UsrNome + ";";
                    }
                }
                linha += item.ChamadoDtAbertura.ToShortDateString() + ";";
                linha += item.ChamadoDtPrevista.ToShortDateString() + ";";
                linha += item.Status;

                sw.WriteLine(linha);
                linha = ";Descrição;Status;Dt.Inclusão;Dt.Adiada";
                sw.WriteLine(linha);
                foreach (var item2 in item.PortalChamadosHistorico)
                {
                    linha = ";" + item2.Descricao + ";" + item2.ParaStatus + ";" + item2.DtIncl + ";" + item2.DtAdiar + ";";

                    sw.WriteLine(linha);
                }
            }
            sw.Close();

            Response.ClearContent();
            Response.ContentEncoding = encoding;
            Response.AddHeader("content-disposition", "attachment; filename=Chamados_" + System.Web.HttpContext.Current.Session["LoginUsuario"].ToString() + ".csv");
            Response.ContentType = "application/excel";
            Response.Write(sw);
            Response.End();
        }
Пример #3
0
        public ActionResult Index(PortalUsuario portalUsuario, FormCollection formColletion, string submit, ViewModels.VwChamados model, string AtenderEmpID, string DeUsrID,
                                  string ParaUsrID, string TipoChamadoID, string AtividadeChamadoID, string Status, string atenderEmpresa,
                                  string idChamadoHist, string empresa, string tipochamado, string atividadechamado, string Historico, string msg,
                                  string idchamado, string StatusPesq, string StatusHist, string deStatus, string Descricao, string dtAdiar, string paraStatus,
                                  string filtroempresa, string filtrotipochamado, string filtroatividadechamado, string filtroidchamado, string filtroStatusPesq,
                                  string filtroempresa1, string Acao, string filtrotipochamado1, string manterStatus, string filtroatividadechamado1, string filtroidchamado1, string filtroStatusPesq1, string Aprovar)
        {
            if (Request.QueryString["idDoChamado"] != null)
            {
                idchamado = Request.QueryString["idDoChamado"];
                submit    = "PesquisarGeral";
            }

            if (msg != null)
            {
                ViewData["msg"] = msg;
            }


            var portalChamados = db.PortalChamados.Include(p => p.PortalAtividadeChamados).Include(p => p.PortalTipoChamados);

            ViewModels.VwChamados   _vwChamados = new ViewModels.VwChamados();
            PortalAtividadeChamados _Atividades = new PortalAtividadeChamados();

            if (Session["LoginUsuario"] == null)
            {
                return(RedirectToAction("", "Login"));
            }

            if (submit == "Excell")
            {
                _vwChamados = PesquisaGeral(empresa, tipochamado, atividadechamado, idchamado, StatusPesq);
                this.ExportChamadosToExcel(_vwChamados);
                ViewData["msg"] = "Arquivo Excell Gerado com Sucesso";
                _vwChamados     = PesquisaGeral(empresa, tipochamado, atividadechamado, idchamado, StatusPesq);
                return(View(_vwChamados));
            }

            if (submit == "PesquisarGeral")
            {
                _vwChamados         = PesquisaGeral(empresa, tipochamado, atividadechamado, idchamado, StatusPesq);
                TempData["titulo"]  = "Chamados";
                TempData["titulo1"] = "Cadastrados";
                if (ViewData["msg"] == null)
                {
                    ViewData["msg"] = "Pesquisa Efetuada com Sucesso";
                }

                return(View(_vwChamados));
            }

            var _PortalUsuario = db.PortalUsuario.Find(Convert.ToInt32(Session["IdUsuario"]));

            _PortalUsuario.PortalUsuarioGrupo = db.PortalUsuarioGrupo.Find(_PortalUsuario.UsrGrpID);

            if (submit == "NovoHistorico")
            {
                PortalChamadosHistorico _PortalChamadosHistorico = new PortalChamadosHistorico();
                _PortalChamadosHistorico.ChamadoID = Convert.ToInt32(idChamadoHist);
                _PortalChamadosHistorico.Descricao = Descricao + " - Usuário: " + Session["NomeUsuario"];
                _PortalChamadosHistorico.DeStatus  = deStatus;
                _PortalChamadosHistorico.DtIncl    = DateTime.Now;
                if (manterStatus != null)
                {
                    _PortalChamadosHistorico.ParaStatus = paraStatus;
                }
                else
                {
                    _PortalChamadosHistorico.ParaStatus = deStatus;
                }
                db.PortalChamadosHistorico.Add(_PortalChamadosHistorico);
                db.SaveChanges();

                if (manterStatus != null)
                {
                    PortalChamados _portalChamados = db.PortalChamados.Find(Convert.ToInt32(idChamadoHist));
                    _portalChamados.Status = paraStatus;
                    if (StatusHist == "Finalizado")
                    {
                        _portalChamados.ChamadoDtTermino = DateTime.Now;
                    }
                    db.Entry(_portalChamados).State = EntityState.Modified;
                    db.SaveChanges();
                }
                ViewData["msg"] = "Histórico para o Chamado " + idChamadoHist + " Incluido com Sucesso";

                _vwChamados = PesquisaGeral(filtroempresa1, filtrotipochamado1, filtroatividadechamado1, filtroidchamado1, filtroStatusPesq1);
                return(View(_vwChamados));
            }

            _vwChamados = PesquisaGeral(filtroempresa1, filtrotipochamado1, filtroatividadechamado1, filtroidchamado1, filtroStatusPesq1);
            return(View(_vwChamados));
        }
Пример #4
0
        public ActionResult Index(FormCollection formColletion, string idChamadoAdiar, string idChamadoEmail, string Mensagem, string idChamado, string Historico, string dtAdiar, string dtAdiar2, string submit, string btnAprovar, string btnReprovar, string AtividadeChamadoID, string atenderEmpresa, ViewModels.VwChamados model, string DeUsrID, string ParaUsrID, string TipoChamadoID)
        {
            ViewData["msg"] = "Lista de Chamados";
            var idHistoricoAprovar  = string.Empty;
            var idHistoricoReprovar = string.Empty;
            var portalChamados      = db.PortalChamados.Include(p => p.PortalAtividadeChamados).Include(p => p.PortalTipoChamados);

            ViewModels.VwChamados   _vwChamados  = new ViewModels.VwChamados();
            PortalAtividadeChamados _Atividades  = new PortalAtividadeChamados();
            PortalChamadosHistorico _HistoricoAR = new PortalChamadosHistorico();

            if (Session["LoginUsuario"] == null)
            {
                return(RedirectToAction("", "Login"));
            }

            var _PortalUsuario = db.PortalUsuario.Find(Convert.ToInt32(Session["IdUsuario"]));

            _PortalUsuario.PortalUsuarioGrupo = db.PortalUsuarioGrupo.Find(_PortalUsuario.UsrGrpID);
            if (idChamadoAdiar == null)
            {
                idChamadoAdiar = "0";
            }
            var _chamado = db.PortalChamados.Find(Convert.ToInt32(idChamadoAdiar));
            PortalChamadosHistorico _hist = new PortalChamadosHistorico();

            if (btnAprovar != null)
            {
                idHistoricoAprovar = btnAprovar;
                submit             = "Aprovar";
            }
            if (btnReprovar != null)
            {
                idHistoricoReprovar = btnReprovar;
                submit = "Reprovar";
            }
            switch (submit)
            {
            case "Adiar":
                _chamado         = db.PortalChamados.Find(Convert.ToInt32(idChamadoAdiar));
                _hist.ChamadoID  = Convert.ToInt32(idChamadoAdiar);
                _hist.Descricao  = Historico + " - Solicitado por: " + Session["NomeUsuario"].ToString();
                _hist.DeStatus   = _chamado.Status;
                _hist.ParaStatus = "Pendente Aprovar";
                _hist.DtAdiar    = Convert.ToDateTime(dtAdiar, culture.DateTimeFormat);
                _hist.DtAdiar    = _hist.DtAdiar.Value.AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute);

                _hist.DtIncl = DateTime.Now;
                db.PortalChamadosHistorico.Add(_hist);
                db.SaveChanges();

                _chamado.Status          = "Pendente Aprovar";
                db.Entry(_chamado).State = EntityState.Modified;
                db.SaveChanges();
                ViewData["msg"] = "Solicitação para Adiar Incluida com Sucesso";

                break;

            case "Aprovar":

                _HistoricoAR                 = db.PortalChamadosHistorico.Find(Convert.ToInt32(idHistoricoAprovar));
                _HistoricoAR.Descricao       = _HistoricoAR.Descricao + " - " + Historico + " - Aprovado por: " + Session["NomeUsuario"].ToString();
                _HistoricoAR.ParaStatus      = "Aprovado";
                db.Entry(_HistoricoAR).State = EntityState.Modified;
                db.SaveChanges();

                _chamado.Status          = _HistoricoAR.DeStatus;
                _chamado.ChamadoDtAdiada = _HistoricoAR.DtAdiar;
                db.Entry(_chamado).State = EntityState.Modified;
                db.SaveChanges();
                ViewData["msg"] = "Solicitação Aprovada";

                break;

            case "Reprovar":

                _HistoricoAR                 = db.PortalChamadosHistorico.Find(Convert.ToInt32(idHistoricoReprovar));
                _HistoricoAR.Descricao       = _HistoricoAR.Descricao + " - " + Historico + " - REPROVADO por: " + Session["NomeUsuario"].ToString();
                _HistoricoAR.ParaStatus      = "Reprovado";
                db.Entry(_HistoricoAR).State = EntityState.Modified;
                db.SaveChanges();

                _chamado.Status          = _HistoricoAR.DeStatus;
                db.Entry(_chamado).State = EntityState.Modified;
                db.SaveChanges();
                ViewData["msg"] = "Solicitação Reprovada";

                break;

            case "SalvarChamado":

                PortalChamados _PortalChamados = new PortalChamados();
                _Atividades = db.PortalAtividadeChamados.Find(Convert.ToInt32(AtividadeChamadoID));

                _PortalChamados.AtenderEmpID        = Convert.ToInt32(atenderEmpresa);
                _PortalChamados.AtividadeChamadoID  = Convert.ToInt32(AtividadeChamadoID);
                _PortalChamados.Avaliacao           = string.Empty;
                _PortalChamados.ChamadoConhecimento = string.Empty;
                _PortalChamados.ChamadoDtAbertura   = DateTime.Now;
                if (dtAdiar2 != string.Empty)
                {
                    _PortalChamados.ChamadoDtPrevista = Convert.ToDateTime(dtAdiar2);
                }
                else
                {
                    _PortalChamados.ChamadoDtPrevista = DateTime.Now.AddDays(_Atividades.PrevisaoDias).AddHours(_Atividades.PrevisaoHoras).AddMinutes(_Atividades.PrevisaoMinutos);
                }
                _PortalChamados.ChamadoHistorico = Historico;
                if (model.PortalChamado.ChamadoTitulo == string.Empty)
                {
                    model.PortalChamado.ChamadoTitulo = "Titulo";
                }

                _PortalChamados.ChamadoTitulo = model.PortalChamado.ChamadoTitulo;
                DeUsrID = Session["IdUsuario"].ToString();
                _PortalChamados.DeUsrID = Convert.ToInt32(DeUsrID);
                if (ParaUsrID == null)
                {
                    ParaUsrID = "0";
                }
                _PortalChamados.ParaUsrID     = Convert.ToInt32(ParaUsrID);
                _PortalChamados.TipoChamadoID = Convert.ToInt32(TipoChamadoID);
                _PortalChamados.Status        = "Postado";

                db.PortalChamados.Add(_PortalChamados);
                db.SaveChanges();
                var ultimochamado = db.PortalChamados.ToList().Last();

                this.ImportarImagens(formColletion, ultimochamado.ChamadoID);

                _hist.ChamadoID  = Convert.ToInt32(ultimochamado.ChamadoID);
                _hist.Descricao  = Historico + " - Aberto pelo usuário: " + Session["NomeUsuario"];
                _hist.DeStatus   = _PortalChamados.Status;
                _hist.ParaStatus = _PortalChamados.Status;
                _hist.DtIncl     = DateTime.Now;
                db.PortalChamadosHistorico.Add(_hist);
                db.SaveChanges();

                ViewData["msg"] = "Chamado Incluido com Sucesso";
                break;

            case "ColetarAnexos":

                this.ImportarImagens(formColletion, Convert.ToInt32(idChamado));
                ViewData["msg"] = "Anexos Coletados com Sucesso";

                break;

            case "EnviarEmail":

                this.EnviarEmail(Convert.ToInt32(idChamadoEmail), Mensagem);
                ViewData["msg"] = "Email Enviado com Sucesso";

                break;

            default:
                break;
            }

            return(RedirectToAction("Index", "Home", new { msg = ViewData["msg"] }));
        }
        public void ExportChamadosToExcel(string empresa, string tipochamado, string atividadechamado, string submit, string idchamado, string StatusPesq)
        {
            var portalChamados = db.PortalChamados.Include(p => p.PortalAtividadeChamados).Include(p => p.PortalTipoChamados);

            ViewModels.VwChamados _vwChamados = new ViewModels.VwChamados();
            _vwChamados.PortalChamados = portalChamados.ToList();
            if (idchamado.Length > 0)
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.ChamadoID.Equals(Convert.ToInt32(idchamado))).ToList();
            }
            if (empresa != "Todas Empresas")
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.AtenderEmpID.Equals(Convert.ToInt32(empresa))).ToList();
            }
            if (tipochamado != "Todos Tipos")
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.TipoChamadoID.Equals(Convert.ToInt32(tipochamado))).ToList();
            }
            if (atividadechamado != "Todas Atividades")
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.AtividadeChamadoID.Equals(Convert.ToInt32(atividadechamado))).ToList();
            }
            if (StatusPesq != "Todos Status")
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.Status.Equals(StatusPesq)).ToList();
            }


            _vwChamados.PortalTipoChamados      = db.PortalTipoChamados.ToList();
            _vwChamados.PortalEmpresa           = db.PortalEmpresa.ToList();
            _vwChamados.PortalAtividadeChamados = db.PortalAtividadeChamados.ToList();
            _vwChamados.DeUsuario      = db.PortalUsuario.ToList();
            _vwChamados.ParaUsuario    = db.PortalUsuario.ToList();
            _vwChamados.AtenderEmpresa = db.PortalEmpresa.ToList();

            System.Text.Encoding encoding = System.Text.Encoding.Unicode;
            StringWriter         sw       = new StringWriter();
            string linha = string.Empty;

            linha = "NR.CHAMADO;ATENDER EMPRESA;TITULO;DE USUÁRIO;PARA USUÁRIO;DT.ABERTURA;DT.PREVISÃO;STATUS";
            sw.WriteLine(linha);

            foreach (var item in _vwChamados.PortalChamados)
            {
                linha  = string.Empty;
                linha += item.ChamadoID + ";";
                foreach (var itemAt in _vwChamados.AtenderEmpresa)
                {
                    if (itemAt.EmpID == item.AtenderEmpID)
                    {
                        linha += itemAt.EmpNomeFantasia + ";";
                    }
                }
                linha += item.ChamadoTitulo + ";";
                foreach (var itemDe in _vwChamados.DeUsuario)
                {
                    if (itemDe.UsrID == item.DeUsrID)
                    {
                        linha += itemDe.UsrNome + ";";
                    }
                }
                foreach (var itemPara in _vwChamados.ParaUsuario)
                {
                    if (itemPara.UsrID == item.ParaUsrID)
                    {
                        linha += itemPara.UsrNome + ";";
                    }
                }
                linha += item.ChamadoDtAbertura.ToShortDateString() + ";";
                linha += item.ChamadoDtPrevista.ToShortDateString() + ";";
                linha += item.Status;

                sw.WriteLine(linha);
            }
            sw.Close();

            Response.ClearContent();
            Response.ContentEncoding = encoding;
            Response.AddHeader("content-disposition", "attachment; filename=Chamados_" + System.Web.HttpContext.Current.Session["LoginUsuario"].ToString() + ".csv");
            Response.ContentType = "application/excel";
            Response.Write(sw);
            Response.End();
        }
        public ActionResult Index(FormCollection _Formcollection, string submit, ViewModels.VwChamados model, string AtenderEmpID, string DeUsrID, string ParaUsrID, string TipoChamadoID, string AtividadeChamadoID, string Status)
        {
            if (System.Web.HttpContext.Current.Session["NomeUsuario"] == null ||
                System.Web.HttpContext.Current.Session["NomeUsuario"].ToString() == string.Empty)
            {
                return(RedirectToAction("", "Login"));
            }

            if (submit == "SalvarChamado")
            {
                PortalChamados _PortalChamados = new PortalChamados();

                _PortalChamados.AtenderEmpID        = Convert.ToInt32(AtenderEmpID);
                _PortalChamados.AtividadeChamadoID  = Convert.ToInt32(AtividadeChamadoID);
                _PortalChamados.Avaliacao           = string.Empty;
                _PortalChamados.ChamadoConhecimento = string.Empty;
                _PortalChamados.ChamadoDtAbertura   = DateTime.Now;
                _PortalChamados.ChamadoDtPrevista   = DateTime.Now.AddDays(10);
                _PortalChamados.ChamadoHistorico    = model.PortalChamado.ChamadoHistorico;
                if (model.PortalChamado.ChamadoTitulo == string.Empty)
                {
                    model.PortalChamado.ChamadoTitulo = "Titulo";
                }
                _PortalChamados.ChamadoTitulo = model.PortalChamado.ChamadoTitulo;
                _PortalChamados.DeUsrID       = Convert.ToInt32(DeUsrID);
                _PortalChamados.ParaUsrID     = Convert.ToInt32(ParaUsrID);
                _PortalChamados.TipoChamadoID = Convert.ToInt32(TipoChamadoID);
                _PortalChamados.Status        = Status;

                db.PortalChamados.Add(_PortalChamados);
                db.SaveChanges();
            }
            var portalChamados = db.PortalChamados.Include(p => p.PortalAtividadeChamados).Include(p => p.PortalTipoChamados);

            ViewModels.VwChamados _vwChamados = new ViewModels.VwChamados();
            var IdUsuario = Convert.ToInt32((Session["IdUsuario"]));
            var Gestor    = Session["UsuarioGestor"].ToString();

            if (Gestor == "True")
            {
                _vwChamados.PortalChamados = portalChamados.ToList()
                                             .OrderByDescending(e => e.ChamadoID).ToList();
            }
            else
            {
                _vwChamados.PortalChamados = portalChamados.ToList()
                                             .Where(e => e.DeUsrID == IdUsuario || e.ParaUsrID == IdUsuario)
                                             .OrderByDescending(e => e.ChamadoID).ToList();
            }

            foreach (var item in _vwChamados.PortalChamados)
            {
                item.PortalChamadosHistorico = db.PortalChamadosHistorico.ToList().Where(e => e.ChamadoID.Equals(item.ChamadoID)).ToList();
                item.ChamadoAnexos           = db.ChamadoAnexos.ToList().Where(e => e.ChamadoID.Equals(item.ChamadoID)).ToList();
            }
            _vwChamados.PortalTipoChamados      = db.PortalTipoChamados.ToList();
            _vwChamados.PortalEmpresa           = db.PortalEmpresa.ToList();
            _vwChamados.PortalAtividadeChamados = db.PortalAtividadeChamados.ToList();
            _vwChamados.DeUsuario      = db.PortalUsuario.ToList();
            _vwChamados.ParaUsuario    = db.PortalUsuario.ToList();
            _vwChamados.AtenderEmpresa = db.PortalEmpresa.ToList();
            ViewBag.DeUsrID            = new SelectList(db.PortalUsuario.ToList().Where(e => e.UsrID == Convert.ToInt32(Session["IdUsuario"])), "UsrID", "UsrNome");
            ViewBag.ParaUsrID          = new SelectList(db.PortalUsuario, "UsrID", "UsrNome");
            if (Session["UsuarioGestor"].ToString() == "True")
            {
                ViewBag.AtenderEmpID = new SelectList(db.PortalEmpresa, "EmpID", "EmpNomeFantasia");
            }
            else
            {
                ViewBag.AtenderEmpID = new SelectList(db.PortalEmpresa.ToList().Where(e => e.EmpID == Convert.ToInt32(Session["UsrEmpID"])), "EmpID", "EmpNomeFantasia");
            }

            ViewBag.TipoChamadoID      = new SelectList(db.PortalTipoChamados, "TipoChamadoID", "TipoChamadoNome");
            ViewBag.AtividadeChamadoID = new SelectList(db.PortalAtividadeChamados, "AtividadeChamadoID", "AtividadeChamadoNome");

            TempData["titulo"]      = "Chamados";
            TempData["titulo1"]     = "Cadastrados";
            ViewBag.filtroEmpresa   = "99999";
            ViewBag.filtroTipos     = 0;
            ViewBag.filtroAtividade = 0;
            ViewBag.filtroStatus    = "Todos Status";
            ViewBag.filtroTitulo    = string.Empty;
            ViewBag.filtroIdChamado = 0;

            return(View(_vwChamados));
        }
        public ActionResult Index(FormCollection _Formcollection, string empresa, string tipochamado, string atividadechamado, string submit, string idchamado, string StatusPesq)
        {
            if (submit == "Excell")
            {
                this.ExportChamadosToExcel(empresa, tipochamado, atividadechamado, submit, idchamado, StatusPesq);
            }

            var portalChamados = db.PortalChamados.Include(p => p.PortalAtividadeChamados).Include(p => p.PortalTipoChamados);

            ViewBag.filtroEmpresa   = empresa;
            ViewBag.filtroTipos     = tipochamado;
            ViewBag.filtroAtividade = atividadechamado;
            ViewBag.filtroStatus    = StatusPesq;
            ViewBag.filtroTitulo    = string.Empty;
            if (idchamado == string.Empty)
            {
                idchamado = "0";
            }
            ViewBag.filtroIdChamado = idchamado;

            ViewModels.VwChamados _vwChamados = new ViewModels.VwChamados();
            _vwChamados.PortalChamados = portalChamados.ToList().OrderByDescending(e => e.ChamadoID).ToList();
            if (Convert.ToInt32(idchamado) != 0)
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.ChamadoID.Equals(Convert.ToInt32(idchamado))).ToList();
            }
            if (empresa != "99999")
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.AtenderEmpID.Equals(Convert.ToInt32(empresa))).ToList();
            }
            if (tipochamado != "0")
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.TipoChamadoID.Equals(Convert.ToInt32(tipochamado))).ToList();
            }
            if (atividadechamado != "0")
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.AtividadeChamadoID.Equals(Convert.ToInt32(atividadechamado))).ToList();
            }
            if (StatusPesq != "Todos Status")
            {
                _vwChamados.PortalChamados = _vwChamados.PortalChamados.Where(e => e.Status.Equals(StatusPesq)).ToList();
            }


            _vwChamados.PortalTipoChamados      = db.PortalTipoChamados.ToList();
            _vwChamados.PortalEmpresa           = db.PortalEmpresa.ToList();
            _vwChamados.PortalAtividadeChamados = db.PortalAtividadeChamados.ToList();
            _vwChamados.DeUsuario      = db.PortalUsuario.ToList();
            _vwChamados.ParaUsuario    = db.PortalUsuario.ToList();
            _vwChamados.AtenderEmpresa = db.PortalEmpresa.ToList();
            ViewBag.DeUsrID            = new SelectList(db.PortalUsuario.ToList().Where(e => e.UsrID == Convert.ToInt32(Session["IdUsuario"])), "UsrID", "UsrNome");
            ViewBag.ParaUsrID          = new SelectList(db.PortalUsuario, "UsrID", "UsrNome");
            ViewBag.AtenderEmpID       = new SelectList(db.PortalEmpresa, "EmpID", "EmpNomeFantasia");
            ViewBag.TipoChamadoID      = new SelectList(db.PortalTipoChamados, "TipoChamadoID", "TipoChamadoNome");
            ViewBag.AtividadeChamadoID = new SelectList(db.PortalAtividadeChamados, "AtividadeChamadoID", "AtividadeChamadoNome");

            TempData["titulo"]  = "Chamados";
            TempData["titulo1"] = "Cadastrados";

            return(View(_vwChamados));
        }