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")
                }
            };
        }
Esempio n. 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));
        }
Esempio n. 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));
        }
Esempio n. 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 ManipularFiltroEspecifico(this ImportacaoController controller, EnumTiposFuncionalidade funcionalidade, ref ImportacaoFornecedoresFiltrosDTO filtro)
        {
            switch (funcionalidade)
            {
            case EnumTiposFuncionalidade.ValidarEmOrgaosPublicos:
                if (!filtro.Validados.HasValue)
                {
                    filtro.Validados = false;
                }
                break;

            case EnumTiposFuncionalidade.Categorizar:
                if (!filtro.Categorizados.HasValue)
                {
                    filtro.Categorizados = false;
                }
                break;

            case EnumTiposFuncionalidade.Convidar:
                if (!filtro.Convidados.HasValue)
                {
                    filtro.Convidados = false;
                }
                break;

            case EnumTiposFuncionalidade.ProrrogarPrazo:
                if (!filtro.Prorrogados.HasValue)
                {
                    filtro.Prorrogados = false;
                }
                break;

            case EnumTiposFuncionalidade.GerarCarga:
                if (!filtro.Gerados.HasValue)
                {
                    filtro.Gerados = false;
                }
                break;

            case EnumTiposFuncionalidade.CompletarDados:
                if (!filtro.Completos.HasValue)
                {
                    filtro.Completos = false;
                }
                break;

            case EnumTiposFuncionalidade.AprovarPrazo:
                if (!filtro.Aprovados.HasValue)
                {
                    filtro.Aprovados = 1;
                }
                break;

            case EnumTiposFuncionalidade.Bloquear:
                if (!filtro.Bloqueados.HasValue)
                {
                    filtro.Bloqueados = 0;
                }
                break;
            }
        }