public static void MapearFiltro(this ImportacaoController controller, FornecedorBaseListaVM model, ref ImportacaoFornecedoresFiltrosDTO filtro)
        {
            if (model.Filtro != null)
            {
                model.Filtro.ContratanteId = (int)Geral.PegaAuthTicket("ContratanteId");

                FornecedorBaseFiltroVM filtroVM = model.Filtro;

                filtro = Mapper.Map <FornecedorBaseFiltroVM, ImportacaoFornecedoresFiltrosDTO>(filtroVM);

                if (!string.IsNullOrEmpty(filtro.CNPJ))
                {
                    filtro.CNPJ = Mascara.RemoverMascara(filtro.CNPJ);
                }

                if (!string.IsNullOrEmpty(filtro.CPF))
                {
                    filtro.CPF = Mascara.RemoverMascara(filtro.CPF);
                }
            }
            else
            {
                filtro = new ImportacaoFornecedoresFiltrosDTO {
                    ContratanteId = (int)Geral.PegaAuthTicket("ContratanteId")
                }
            };
        }
Exemple #2
0
        public ActionResult Listar(FornecedorBaseListaVM model)
        {
            int pagina        = model.Pagina ?? 1;
            int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId");

            ImportacaoFornecedoresFiltrosDTO filtro = null;

            this.MapearFiltro(model, ref filtro);

            var retorno = _fornecedorBaseService.PesquisarFornecedores(filtro, pagina, ITENS_POR_PAGINA);

            model.FornecedoresBase = Mapper.Map <List <FornecedorBaseVM> >(retorno.RegistrosPagina);
            model.Filtro           = Mapper.Map <ImportacaoFornecedoresFiltrosDTO, FornecedorBaseFiltroVM>(filtro);
            model.Topo             = Mapper.Map <FornecedorBaseTopoVM>(_fornecedorBaseService.PesquisarFornecedoresBaseTopo(filtro.ContratanteId));
            model.Timeline         = Mapper.Map <TimelineVM>(_fornecedorBaseService.RetornarIndicesTimeLine(filtro.ContratanteId));
            model.Arquivos         = Mapper.Map <List <SelectListItem> >(_fornecedorBaseImportacaoService.ListarTodas(contratanteId));
            model.Arquivos.Insert(0, new SelectListItem {
                Text = "Todas", Value = null
            });
            model.FornecedoresBase.ForEach(x =>
            {
                if (Request.Url == null)
                {
                    return;
                }

                x.UrlEditar = Url.Action("Editar", "Importacao",
                                         new
                {
                    chaveurl = Cripto.Criptografar(string.Format("ID={0}", x.ID), Key)
                }, Request.Url.Scheme);
                x.UrlExcluir = Url.Action("Excluir", "Importacao",
                                          new
                {
                    chaveurl = Cripto.Criptografar(string.Format("ID={0}", x.ID), Key)
                }, Request.Url.Scheme);
            });

            ViewBag.Pagina         = pagina;
            ViewBag.TotalPaginas   = retorno.TotalPaginas;
            ViewBag.TotalRegistros = retorno.TotalRegistros;

            this.PersistirDadosEmMemoria();

            return(View(model));
        }
Exemple #3
0
        public ActionResult ExecutarFuncionalidade(FornecedorBaseListaVM model, int?CategoriaSelecionada, string CategoriaSelecionadaNome)
        {
            int usuarioId     = (int)Geral.PegaAuthTicket("UsuarioId");
            int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId");

            try
            {
                if (!ModelState.IsValid)
                {
                }
                int pagina = model.Pagina ?? 1;
                ImportacaoFornecedoresFiltrosDTO filtro = null;

                if (CategoriaSelecionada != null)
                {
                    model.CategoriaId = (int)CategoriaSelecionada;
                }

                this.MapearFiltro(model, ref filtro);
                this.ManipularFiltroEspecifico(model.TipoFuncionalidade, ref filtro);

                var funcao = Request.Form["Funcao"];

                var configEmail = _contratanteConfiguracaoEmailService.BuscarPorContratanteETipo(contratanteId, 1);

                this.Preenchermodelo(contratanteId, model, configEmail, model.StDataProrrogacao);

                if (!String.IsNullOrEmpty(funcao))
                {
                    var selecionados = model.Selecionados.Split(',').Select(Int32.Parse).ToList();
                    var funcaoEnum   = (EnumTiposFuncionalidade)Enum.Parse(typeof(EnumTiposFuncionalidade), funcao);
                    //int intfuncao = Convert.ToInt32(funcao);
                    //switch ((EnumTiposFuncionalidade)funcao.ToEnum<EnumTiposFuncionalidade>())
                    switch (funcaoEnum)
                    {
                    case EnumTiposFuncionalidade.ValidarEmOrgaosPublicos:
                        this.AtivarExecucaoRobo(selecionados.ToArray());
                        break;

                    case EnumTiposFuncionalidade.Categorizar:
                        this.Categorizar(selecionados.ToArray(), model.CategoriaId);
                        break;

                    case EnumTiposFuncionalidade.Convidar:
                        this.Convidar(selecionados, model.Mensagem, model.Assunto, usuarioId);
                        break;

                    case EnumTiposFuncionalidade.ProrrogarPrazo:
                        this.ProrrogarPrazo(selecionados, model.Motivo, DateTime.Parse(model.StDataProrrogacao), usuarioId);
                        break;

                    case EnumTiposFuncionalidade.AprovarPrazo:
                        this.AvaliarPrazo(selecionados, model.Motivo, usuarioId, EnumTiposFuncionalidade.AprovarPrazo);
                        break;

                    case EnumTiposFuncionalidade.ReprovarPrazo:
                        this.AvaliarPrazo(selecionados, model.Motivo, usuarioId, EnumTiposFuncionalidade.ReprovarPrazo);
                        break;

                    case EnumTiposFuncionalidade.Bloquear:
                        this.Bloquear(selecionados, model.BloqueioId, usuarioId, contratanteId);
                        break;
                    }
                }

                model.Selecionados = string.Empty;

                var retorno = _fornecedorBaseService.PesquisarFornecedores(filtro, pagina, ITENS_POR_PAGINA);

                model.Mensagem    = model.MensagemImportacao.Mensagem;
                model.Assunto     = model.MensagemImportacao.Assunto;
                model.AprovaPrazo = true;

                model.Filtro = Mapper.Map <FornecedorBaseFiltroVM>(filtro);

                model.FornecedoresBaseFuncionalidade = Mapper.Map <List <FornecedorBaseFuncionalidadeVM> >(retorno.RegistrosPagina);
                if (filtro.Aprovados != null)
                {
                    foreach (var item in retorno.RegistrosPagina)
                    {
                        var subitemVM = model.FornecedoresBaseFuncionalidade.Single(x => x.ID == item.ID);
                        var subitemMD = item.WFD_SOLICITACAO.LastOrDefault().WFD_SOLICITACAO_PRORROGACAO.FirstOrDefault(x => x.APROVADO == null);
                        subitemVM.ProrrogarPara = subitemMD.DT_SOL_PRORROGACAO.ToShortDateString();
                        subitemVM.Motivo        = subitemMD.MOTIVO_PRORROGACAO;
                    }
                }


                this.AplicarValores(ref model);

                ViewBag.Pagina         = pagina;
                ViewBag.TotalPaginas   = retorno.TotalPaginas;
                ViewBag.TotalRegistros = retorno.TotalRegistros;

                this.PersistirDadosEmMemoria();
                model.Selecionados = "";
                ModelState.Clear();
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }
            return(View(model));
        }
Exemple #4
0
        public ActionResult ExecutarFuncionalidade(string TipoFuncionalidade)
        {
            int usuarioId     = (int)Geral.PegaAuthTicket("UsuarioId");
            int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId");

            FornecedorBaseListaVM model = new FornecedorBaseListaVM();

            if (TipoFuncionalidade == "ValidarEmOrgaosPublicos")
            {
                model.TipoFuncionalidade = EnumTiposFuncionalidade.ValidarEmOrgaosPublicos;
            }
            if (TipoFuncionalidade == "Categorizar")
            {
                model.TipoFuncionalidade = EnumTiposFuncionalidade.Categorizar;
            }
            if (TipoFuncionalidade == "Convidar")
            {
                model.TipoFuncionalidade = EnumTiposFuncionalidade.Convidar;
            }
            if (TipoFuncionalidade == "Bloquear")
            {
                model.TipoFuncionalidade = EnumTiposFuncionalidade.Bloquear;
            }
            if (TipoFuncionalidade == "ProrrogarPrazo")
            {
                model.TipoFuncionalidade = EnumTiposFuncionalidade.ProrrogarPrazo;
            }
            if (TipoFuncionalidade == "GerarCarga")
            {
                model.TipoFuncionalidade = EnumTiposFuncionalidade.GerarCarga;
            }
            if (TipoFuncionalidade == "CompletarDados")
            {
                model.TipoFuncionalidade = EnumTiposFuncionalidade.CompletarDados;
            }
            if (TipoFuncionalidade == "AprovarPrazo")
            {
                model.TipoFuncionalidade = EnumTiposFuncionalidade.AprovarPrazo;
            }

            int pagina = model.Pagina ?? 1;
            ImportacaoFornecedoresFiltrosDTO filtro = null;

            this.MapearFiltro(model, ref filtro);
            this.ManipularFiltroEspecifico(model.TipoFuncionalidade, ref filtro);

            //var funcao = Request.Form["Funcao"];

            var configEmail = _contratanteConfiguracaoEmailService.BuscarPorContratanteETipo(contratanteId, 1);

            this.Preenchermodelo(contratanteId, model, configEmail, DateTime.Today.ToShortDateString());
            model.Mensagem = model.MensagemImportacao.Mensagem;
            model.Assunto  = model.MensagemImportacao.Assunto;

            var retorno = _fornecedorBaseService.PesquisarFornecedores(filtro, pagina, ITENS_POR_PAGINA);

            model.Filtro = Mapper.Map <FornecedorBaseFiltroVM>(filtro);
            model.FornecedoresBaseFuncionalidade = Mapper.Map <List <FornecedorBaseFuncionalidadeVM> >(retorno.RegistrosPagina);

            if (filtro.Aprovados != null)
            {
                foreach (var item in retorno.RegistrosPagina)
                {
                    var subitemVM = model.FornecedoresBaseFuncionalidade.Single(x => x.ID == item.ID);
                    var subitemMD = item.WFD_SOLICITACAO.LastOrDefault().WFD_SOLICITACAO_PRORROGACAO.FirstOrDefault(x => x.APROVADO == null);
                    subitemVM.ProrrogarPara = subitemMD.DT_PRORROGACAO_PRAZO.ToShortDateString();
                    subitemVM.Motivo        = subitemMD.MOTIVO_PRORROGACAO;
                }
            }

            this.AplicarValores(ref model);

            ViewBag.Pagina         = pagina;
            ViewBag.TotalPaginas   = retorno.TotalPaginas;
            ViewBag.TotalRegistros = retorno.TotalRegistros;

            this.PersistirDadosEmMemoria();

            return(View(model));
        }
        public static void Preenchermodelo(this ImportacaoController controller, int contratanteId, FornecedorBaseListaVM model, CONTRATANTE_CONFIGURACAO_EMAIL configEmail, string stData)
        {
            int         usuarioId   = (int)Geral.PegaAuthTicket("UsuarioId");
            Contratante contratante = controller._contratanteService.BuscarPorId(contratanteId);
            Usuario     usuario     = controller._usuarioService.BuscarPorId(usuarioId);

            model.Arquivos = Mapper.Map <List <SelectListItem> >(controller._fornecedorBaseImportacaoService.ListarTodas(contratanteId));
            model.Arquivos.Insert(0, new SelectListItem {
                Text = "Todas", Value = null
            });
            string mensagem = configEmail.CORPO
                              .Replace("^NomeEmpresa^", contratante.NOME_FANTASIA ?? contratante.RAZAO_SOCIAL)
                              .Replace("^NomeUsuario^", usuario.NOME)
                              .Replace("^FixoUsuario1^", usuario.FIXO)
                              .Replace("^CelularUsuario1^", usuario.CELULAR)
                              .Replace("^EmailUsuario^", usuario.EMAIL);

            model.MensagemImportacao = new MensagemImportacaoVM(configEmail.ASSUNTO, mensagem);

            model.ProrrogacaoPrazo = new ProrrogacaoPrazoVM()
            {
                StDataProrrogacao = stData
            };
            model.AprovacaoProrrogacao  = new AprovacaoPrazoVM(new SolicitacaoFornecedoresVM());
            model.ReprovacaoProrrogacao = new ReprovacaoPrazoVM()
            {
                Fornecedores = new List <SolicitacaoFornecedoresVM>()
                {
                    new SolicitacaoFornecedoresVM()
                },
                Fornecedor = new SolicitacaoFornecedoresVM(),
            };
        }
        public static void AplicarValores(this ImportacaoController controller, ref FornecedorBaseListaVM model)
        {
            model.NomeColunas = new List <string>();
            switch (model.TipoFuncionalidade)
            {
            case EnumTiposFuncionalidade.ValidarEmOrgaosPublicos:
                #region Validar Em Órgãos Públicos
                model.NomeFuncionalidade = "Validar";
                model.NomeColunas.Add("Órgãos Públicos");
                model.FornecedoresBaseFuncionalidade.Select(x =>
                {
                    x.Colunas = new List <ColunaOpcionalVM>
                    {
                        new ColunaOpcionalVM
                        {
                            CSS    = (x.ExecutaRobo.HasValue) ? TEXT_CENTER : DANGER_TEXT_CENTER,
                            Titulo = (x.ExecutaRobo.HasValue) ? string.Empty : "Validação Inativa!",
                            Valor  = (x.ExecutaRobo.HasValue) ? "Ativa" : "-"
                        }
                    };
                    return(x);
                }).ToList();
                #endregion
                break;

            case EnumTiposFuncionalidade.Categorizar:
                #region Categorizar
                model.NomeFuncionalidade = "Categorizar";
                model.NomeColunas.Add("Categoria");

                model.FornecedoresBaseFuncionalidade.Select(x =>
                {
                    x.Colunas = new List <ColunaOpcionalVM>
                    {
                        new ColunaOpcionalVM
                        {
                            CSS    = (x.CategoriaId.HasValue) ? TEXT_CENTER : DANGER_TEXT_CENTER,
                            Titulo = (x.CategoriaId.HasValue) ? string.Empty : "Sem Categoria!",
                            Valor  = (x.CategoriaId.HasValue) ? x.CategoriaNome : "-"
                        }
                    };
                    return(x);
                }).ToList();
                #endregion
                break;

            case EnumTiposFuncionalidade.ProrrogarPrazo:
                #region Prorrogar Prazo
                model.NomeFuncionalidade = "Prorrogar";
                model.NomeColunas.Add("Prorrogado");
                model.FornecedoresBaseFuncionalidade.Select(x =>
                {
                    x.Colunas = new List <ColunaOpcionalVM>
                    {
                        new ColunaOpcionalVM
                        {
                            CSS    = (x.Prorrogado) ? TEXT_CENTER : DANGER_TEXT_CENTER,
                            Titulo = (x.Prorrogado) ? string.Empty : "Sem Prorrogação!",
                            Valor  = (x.Prorrogado) ? "Prorrogado" : "-"
                        },
                    };
                    return(x);
                }).ToList();
                #endregion
                break;

            case EnumTiposFuncionalidade.Convidar:
                #region Convidar
                model.NomeFuncionalidade = "Convidar";
                model.NomeColunas.Add("Convite");
                model.NomeColunas.Add("Respondido");

                model.FornecedoresBaseFuncionalidade.Select(x =>
                {
                    x.Colunas = new List <ColunaOpcionalVM>
                    {
                        new ColunaOpcionalVM
                        {
                            CSS    = (x.Convidado) ? TEXT_CENTER : DANGER_TEXT_CENTER,
                            Titulo = (x.Convidado) ? string.Empty : "Sem Convite!",
                            Valor  = (x.Convidado) ? "Convidado" : "-"
                        },
                        new ColunaOpcionalVM
                        {
                            CSS    = (x.Respondido == true) ? TEXT_CENTER : DANGER_TEXT_CENTER,
                            Titulo = (x.Respondido == true) ? string.Empty : "Sem Resposta!",
                            Valor  = (x.Respondido != null)
                                ? (x.Respondido == true)
                                    ? "Sim"
                                    :"Não"
                                : "-"
                        }
                    };
                    return(x);
                }).ToList();
                #endregion
                break;

            case EnumTiposFuncionalidade.AprovarPrazo:
                #region Aprovar Prazo
                model.NomeFuncionalidade = "Aprovar";
                model.NomeColunas.Add("Prorrogar para");
                model.NomeColunas.Add("Motivo");
                //model.NomeColunas.Add("Aprovado");

                model.FornecedoresBaseFuncionalidade.Select(x =>
                {
                    x.Colunas = new List <ColunaOpcionalVM>
                    {
                        new ColunaOpcionalVM
                        {
                            CSS    = TEXT_CENTER,
                            Titulo = "Teste",
                            Valor  = x.ProrrogarPara
                        },
                        new ColunaOpcionalVM
                        {
                            CSS    = TEXT_CENTER,
                            Titulo = "Teste2",
                            Valor  = x.Motivo
                        },
                        //new ColunaOpcionalVM
                        //{
                        //    CSS = (x.Aprovado == true) ? TEXT_CENTER : DANGER_TEXT_CENTER,
                        //    Titulo = (x.Aprovado == true) ? string.Empty : "Sem Aprovação!",
                        //    Valor = (x.Aprovado != null)
                        //    ? (x.Aprovado == true)
                        //        ? "Sim"
                        //        :"Não"
                        //    : "-"
                        //},
                    };
                    return(x);
                }).ToList();
                #endregion
                break;

            case EnumTiposFuncionalidade.Bloquear:
                #region Bloquear
                model.NomeFuncionalidade = "Bloquear";
                model.NomeColunas.Add("Bloqueado");

                model.FornecedoresBaseFuncionalidade.Select(x =>
                {
                    x.Colunas = new List <ColunaOpcionalVM>
                    {
                        new ColunaOpcionalVM
                        {
                            CSS    = (x.Bloqueado == true) ? TEXT_CENTER : DANGER_TEXT_CENTER,
                            Titulo = (x.Bloqueado == true) ? string.Empty : "Sem Bloqueio!",
                            Valor  = (x.Bloqueado != null)
                                ? (x.Bloqueado == true)
                                    ? "Sim"
                                    :"Não"
                                : "-"
                        },
                    };
                    return(x);
                }).ToList();
                #endregion
                break;
            }
        }