Esempio n. 1
0
        private void CompletarSolicitacaoCadastroPJPF(ref SolicitacaoCadastroFornecedor cadPJPF,
                                                      FichaCadastralWebForLinkVM ficha)
        {
            if (ficha.TipoFornecedor != 1)
            {
                cadPJPF.NOME          = ficha.RazaoSocial;
                cadPJPF.NOME_FANTASIA = ficha.NomeFantasia;
                //cadPJPF.CNAE = ficha.CNAE;

                //Transformar em Enum
                if (ficha.TipoFornecedor == 3)
                {
                    cadPJPF.CPF            = ficha.CNPJ_CPF.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", "");
                    cadPJPF.INSCR_ESTADUAL = ficha.InscricaoEstadual;
                }

                cadPJPF.TP_LOGRADOURO = ficha.TipoLogradouro;
                cadPJPF.ENDERECO      = ficha.Endereco;
                cadPJPF.NUMERO        = ficha.Numero;
                cadPJPF.COMPLEMENTO   = ficha.Complemento;
                cadPJPF.CEP           = ficha.Cep;
                cadPJPF.BAIRRO        = ficha.Bairro;
                cadPJPF.CIDADE        = ficha.Cidade;
                cadPJPF.UF            = ficha.Estado;
                cadPJPF.PAIS          = ficha.Pais;
            }

            //Transformar em Enum
            if (ficha.TipoFornecedor != 2)
            {
                cadPJPF.INSCR_MUNICIPAL = ficha.InscricaoMunicipal;
            }

            cadPJPF.OBSERVACAO = ficha.Observacao;
        }
        public static void BloqueioFornecedor(this AprovacaoController controller, FichaCadastralWebForLinkVM ficha, SOLICITACAO solicitacao)
        {
            Fornecedor fornNacional8 = solicitacao.Fornecedor;

            if (solicitacao.SOLICITACAO_BLOQUEIO != null && solicitacao.SOLICITACAO_BLOQUEIO.Count > 0)
            {
                foreach (var item in solicitacao.SOLICITACAO_BLOQUEIO)
                {
                    string lanc = item.BLQ_LANCAMENTO_TODAS_EMP != null ? (bool)item.BLQ_LANCAMENTO_TODAS_EMP ? "1" : "2" : null;
                    int    contratantePjPfId = fornNacional8.WFD_CONTRATANTE_PJPF != null?fornNacional8.WFD_CONTRATANTE_PJPF.FirstOrDefault(x => x.CONTRATANTE_ID == solicitacao.CONTRATANTE_ID).ID : 0;

                    ficha.DadosBloqueio = new DadosBloqueioVM
                    {
                        ID     = item.ID,
                        Compra = (bool)item.BLQ_COMPRAS_TODAS_ORG_COMPRAS,
                        ContratanteFornecedorID = contratantePjPfId,
                        ContratanteID           = solicitacao.CONTRATANTE_ID,
                        FornecedorID            = fornNacional8.ID,
                        Lancamento        = lanc,
                        Motivo            = item.BLQ_QUALIDADE_FUNCAO_BQL_ID,
                        MotivoQualidade   = item.TipoDeFuncaoDuranteBloqueio != null ? item.TipoDeFuncaoDuranteBloqueio.FUNCAO_BLOQ_DSC : string.Empty,
                        MotivoSolicitacao = item.BLQ_MOTIVO_DSC,
                        SolicitacaoID     = solicitacao.ID
                    };
                }

                ficha.ContratanteID        = solicitacao.CONTRATANTE_ID;
                ficha.Solicitacao.Fluxo.ID = solicitacao.FLUXO_ID;

                if (fornNacional8 != null)
                {
                    ficha.CategoriaNome = fornNacional8
                                          .WFD_CONTRATANTE_PJPF.First(x => x.CONTRATANTE_ID == solicitacao.CONTRATANTE_ID)
                                          .WFD_PJPF_CATEGORIA.DESCRICAO;
                    ficha.CNPJ_CPF     = fornNacional8.TIPO_PJPF_ID == 3 ? Convert.ToUInt64(fornNacional8.CPF).ToString(@"000\.000\.000\-00") : Convert.ToUInt64(fornNacional8.CNPJ).ToString(@"00\.000\.000\/0000\-00");
                    ficha.RazaoSocial  = fornNacional8.TIPO_PJPF_ID == 3 ? fornNacional8.NOME : fornNacional8.RAZAO_SOCIAL;
                    ficha.NomeFantasia = fornNacional8.NOME_FANTASIA;
                    //ficha.CNAE = fornNacional8.CNAE;
                    ficha.InscricaoEstadual  = fornNacional8.INSCR_ESTADUAL;
                    ficha.InscricaoMunicipal = fornNacional8.INSCR_MUNICIPAL;
                    ficha.TipoFornecedor     = (int)fornNacional8.TIPO_PJPF_ID;
                }
                else
                {
                    FORNECEDORBASE fornNacional = solicitacao.FORNECEDORBASE;
                    ficha.CategoriaNome = fornNacional.WFD_PJPF_CATEGORIA.DESCRICAO;
                    ficha.CNPJ_CPF      = fornNacional.PJPF_TIPO == 3
                        ? Convert.ToUInt64(fornNacional.CPF).ToString(@"000\.000\.000\-00")
                        : Convert.ToUInt64(fornNacional.CNPJ).ToString(@"00\.000\.000\/0000\-00");
                    ficha.RazaoSocial = fornNacional.PJPF_TIPO == 3
                        ? fornNacional.NOME
                        : fornNacional.RAZAO_SOCIAL;
                    ficha.NomeFantasia = fornNacional.NOME_FANTASIA;
                    //ficha.CNAE = fornNacional.CNAE;
                    ficha.InscricaoEstadual  = fornNacional.INSCR_ESTADUAL;
                    ficha.InscricaoMunicipal = fornNacional.INSCR_MUNICIPAL;
                    ficha.TipoFornecedor     = fornNacional.PJPF_TIPO;
                }
            }
        }
Esempio n. 3
0
        public ActionResult Index(FichaCadastralWebForLinkVM model)
        {
            try
            {
                int solicitacaoId             = model.ID;
                List <PerguntaVM> perguntaVms = (from questionario in model.Questionarios.QuestionarioDinamicoList
                                                 from aba in questionario.AbaList
                                                 from pergunta in aba.PerguntaList
                                                 select pergunta).ToList();

                List <WFD_INFORM_COMPL> informacaoComplementarList = perguntaVms
                                                                     .Where(x => x.Resposta != null || x.DominioListId != 0)
                                                                     .Select(x => new WFD_INFORM_COMPL()
                {
                    SOLICITACAO_ID = solicitacaoId,
                    PERG_ID        = x.Id,
                    RESPOSTA       = string.IsNullOrEmpty(x.Resposta) ? x.DominioListId.ToString() : x.Resposta,
                    ID             = x.RespostaId
                }).ToList();

                _informacaoComplementarBP.InsertAll(informacaoComplementarList);
                return(RedirectToAction("index", new { idSolicitacao = solicitacaoId }));
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                ViewBag.Message = ex.Message;
                return(View(new FichaCadastralWebForLinkVM()));
            }
        }
        public ActionResult Salvar(FichaCadastralWebForLinkVM model)
        {
            _solicitacaoModificacaoContatoService.IncluirSolicitacao(model.ContratanteID, model.ID, (int)Geral.PegaAuthTicket("UsuarioId"),
                                                                     _fluxoService.BuscarPorTipoEContratante((int)EnumTiposFluxo.ModificacaoDadosContato, model.ContratanteID).ID);


            var solicitacao            = CriarSolicitacao(model, (int)EnumTiposFluxo.ModificacaoDadosContato);
            var solicitacoesModContato = Mapper.Map <List <DadosContatoVM>, List <SolicitacaoModificacaoDadosContato> >(model.DadosContatos.ToList());

            solicitacoesModContato.Select(x =>
            {
                x.SOLICITACAO_ID = solicitacao.ID;
                x.CONTRATANTE_ID = model.ContratanteID;
                x.PJPF_ID        = model.ID;
                return(x);
            }).ToList();

            _solicitacaoModificacaoContatoService.InserirSolicitacoes(solicitacoesModContato);

            int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId");

            _tramiteService.AtualizarTramite(solicitacao.CONTRATANTE_ID, solicitacao.ID, solicitacao.FLUXO_ID, (int)EnumPapeisWorkflow.Solicitante, (int)EnumStatusTramite.Aprovado, usuarioId);

            var dadosContatosFinalizados = _fornecedorContatosService.ListarPorContratantePJPFId(model.ContratanteFornecedorID);

            return(PartialView("_FichaCadastral_Contatos", Mapper.Map <List <FORNECEDOR_CONTATOS>, List <DadosContatoVM> >(dadosContatosFinalizados)));
        }
        private void CriarSolicitacaoDocumento(FichaCadastralWebForLinkVM model)
        {
            var solicitacao = CriarSolicitacaoDocumentos(model, (int)EnumTiposFluxo.ModificacaoDocumentos);

            foreach (var item in model.SolicitacaoFornecedor.Documentos.Where(x => x.AtualizarDocOutrosContratantes == true).ToArray())
            {
                if (item.DescricaoDocumentoId_CH > 0)
                {
                    var pjpfs = _fornecedorDocumentoService.BuscarDocumentoOutrosContratantes(model.ContratanteID, model.PJPFID, item.DescricaoDocumentoId_CH);

                    foreach (var subitem in pjpfs)
                    {
                        FichaCadastralWebForLinkVM modelOutroContratante = new FichaCadastralWebForLinkVM();
                        modelOutroContratante.ContratanteID                    = subitem.CONTRATANTE_ID;
                        modelOutroContratante.PJPFID                           = subitem.PJPF_ID;
                        modelOutroContratante.SolicitacaoFornecedor            = new SolicitacaoFornecedorVM();
                        modelOutroContratante.SolicitacaoFornecedor.Documentos = new List <SolicitacaoDocumentosVM>();

                        SolicitacaoDocumentosVM doc = new SolicitacaoDocumentosVM();
                        doc.NomeArquivo          = item.NomeArquivo;
                        doc.Arquivo              = item.Arquivo;
                        doc.PorValidade          = item.PorValidade;
                        doc.DescricaoDocumentoId = item.DescricaoDocumentoId;
                        doc.ListaDocumentosID    = item.ListaDocumentosID;
                        doc.SolicitacaoID        = item.SolicitacaoID;

                        modelOutroContratante.SolicitacaoFornecedor.Documentos.Add(doc);

                        CriarSolicitacaoDocumentos(modelOutroContratante, (int)EnumTiposFluxo.ModificacaoDocumentos);
                    }
                }
            }
        }
Esempio n. 6
0
        public ActionResult CriarPreCadastro(FichaCadastralWebForLinkVM modelo, string ServicosSelecionados, string MateriaisSelecionados, int acaoTxt)
        {
            int validacao = 0;

            modelo.FornecedoresUnspsc = new List <FornecedorUnspscVM>();
            modelo.DocumentoEditavel  = true;
            try
            {
                if (!string.IsNullOrEmpty(modelo.CNPJ_CPF))
                {
                    modelo.CNPJ_CPF = modelo.CNPJ_CPF.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", "");
                }

                switch (acaoTxt)
                {
                //Cadastro sem Solicitacao
                case 1:
                    validacao = IncluirPjpfBaseAlterarFichaModel(modelo, ServicosSelecionados, MateriaisSelecionados, validacao, acaoTxt);
                    if (validacao != 0)
                    {
                        return(Json(new
                        {
                            url = Url.Action("PreCadastroLst", "PreCadastroFornecedor", new PreCadastroListaVM(null, "Pré-cadastro incluído com sucesso"))
                        }));
                    }
                    break;

                //Cadastro com Solicitacao
                case 2:
                    validacao = IncluirPjpfBaseAlterarFichaModel(modelo, ServicosSelecionados, MateriaisSelecionados, validacao, acaoTxt);
                    if (validacao != 0)
                    {
                        return(Json(new
                        {
                            url = Url.Action("CriarSolicitacao", "PreCadastroFornecedor", new { chaveurl = Cripto.Criptografar(string.Format("id={0}", validacao), Key) })
                        }));
                    }
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }
            modelo.DadosBancarios     = new List <DadosBancariosVM>();
            modelo.DadosContatos      = new List <DadosContatoVM>();
            modelo.DadosEnderecos     = new List <DadosEnderecosVM>();
            modelo.FornecedoresUnspsc = new List <FornecedorUnspscVM>();
            modelo.IsPjpfBaseProprio  = false;
            modelo.IsPjpfProprio      = false;
            modelo.DocumentoEditavel  = true;
            return(PartialView("~/Views/PreCadastroFornecedor/_PreCadastro_FichaCadastral.cshtml", modelo));
        }
Esempio n. 7
0
 public InclusaoLinkExternoVM(int idContratante, string chave, string url)
 {
     FichaCadastral          = new FichaCadastralWebForLinkVM(idContratante, CasosPreCadastroEnum.CadastradoOutroContratante);
     FichaCadastral.ChaveUrl = url;
     IdContratante           = idContratante;
     Chave          = chave;
     isValidarSenha = false;
     Link           = url;
     isCNPJ         = true;
 }
Esempio n. 8
0
        public ActionResult FornecedoresBloqueioFrm(string chaveurl)
        {
            int fornecedorID  = 0;
            int contratanteID = 0;
            FichaCadastralWebForLinkVM ficha = new FichaCadastralWebForLinkVM();

            try
            {
                if (!string.IsNullOrEmpty(chaveurl))
                {
                    List <ParametroCriptografia> param = Cripto.DescriptografarUrl(chaveurl, Key);
                    Int32.TryParse(param.First(p => p.Name == "FornecedorID").Value, out fornecedorID);
                    Int32.TryParse(param.First(p => p.Name == "ContratanteID").Value, out contratanteID);
                }

                if (fornecedorID != 0)
                {
                    var contratantePjpf = Db.WFD_CONTRATANTE_PJPF
                                          .Include("Contratante")
                                          .Include("Fornecedor")
                                          .Where(c => c.PJPF_ID == fornecedorID).ToList();

                    var contratante = contratantePjpf.FirstOrDefault(x => x.CONTRATANTE_ID == contratanteID).WFD_CONTRATANTE;
                    var fornecedor  = contratantePjpf.FirstOrDefault(x => x.CONTRATANTE_ID == contratanteID).WFD_PJPF;

                    ficha.DadosContatos = new List <DadosContatoVM>();
                    ficha.Solicitacao   = new SolicitacaoVM
                    {
                        Fluxo = new FluxoVM()
                    };

                    if (fornecedor != null)
                    {
                        CriarEntidadePartialDadosCadastro(fornecedorID, fornecedor, contratante, ficha);
                        ficha.ContratanteFornecedorID = contratantePjpf.FirstOrDefault(x => x.CONTRATANTE_ID == contratanteID).ID;
                        ficha.TipoFornecedor          = (int)fornecedor.TIPO_PJPF_ID;

                        var fluxoId = _fluxoService.BuscarPorTipoEContratante((int)EnumTiposFluxo.BloqueioFornecedor, contratanteID).ID;
                        ficha.Solicitacao.Fluxo.ID = fluxoId;
                    }

                    ViewBag.BloqueioMotivoQualidade = _bloqueioService.ListarTodosPorCodigoFuncaoBloqueio();
                    ViewBag.QtdGrupoEmpresa         = (int)Db.WFD_GRUPO.Count(x => x.WFD_CONTRATANTE.Any(y => y.ID == contratanteID));
                    ViewBag.ChaveUrl = chaveurl;
                    return(View(ficha));
                }
                return(RedirectToAction("Alerta", "Home"));
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }

            return(View(ficha));
        }
        public ActionResult AprovacaoFrm(FichaCadastralWebForLinkVM model, int ContratanteID, int SolicitacaoID, int FluxoID, int PapelID, string btnAcao, int[] DocumentoID, string[] Documento, HttpPostedFileBase[] file, string[] DataValidade, bool[] ExigeValidade, int[] Banco, string[] Agencia, string[] Digito, string[] ContaCorrente, string[] ContaCorrenteDigito, int[] ContatoID, string[] NomeContato, string[] Email, string[] Telefone, string[] Celular, string NomeEmpresa, string Estilo, bool?SolicitaFichaCadastral, bool?SolicitaDocumentos, string motivoReprovao, string ccCliente, string ccGrupoEmpresa)
        {
            try
            {
                SOLICITACAO solicitacao = _solicitacaoService.BuscarPorIdIncluindoFluxo(SolicitacaoID);

                int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId");
                ViewBag.Bancos = _bancoService.ListarTodosPorNome();
                ViewBag.BloqueioMotivoQualidade = _tipoBloqueioRoboService.ListarTodosPorCodigoFuncaoBloqueio();
                ViewBag.TipoEndereco            = new SelectList(_enderecoService.ListarTodosTiposEnderecosPorNome(), "ID", "NM_TP_ENDERECO");
                ViewBag.UF = new SelectList(_enderecoService.ListarTodosPorNome(), "UF_SGL", "UF_NM");

                switch (btnAcao)
                {
                case "modificar":
                    var motivoReprovacao = string.IsNullOrEmpty(motivoReprovao) ? string.Empty : motivoReprovao;
                    _solicitacaoService.AlterarAprovacao(SolicitacaoID, ContratanteID, FluxoID, motivoReprovacao, usuarioId);
                    return(RedirectToAction("AprovacaoLst", "Aprovacao", new
                    {
                        MensagemSucesso = string.Format("Modificação da solicitação Nº {0} realizada com sucesso!", SolicitacaoID)
                    }));

                case "aprovar":
                    _tramite.AtualizarTramite(ContratanteID, SolicitacaoID, FluxoID, PapelID, 2, usuarioId);
                    return(RedirectToAction("AprovacaoLst", "Aprovacao", new
                    {
                        MensagemSucesso = string.Format("Aprovação da solicitação Nº {0} realizada com sucesso!", SolicitacaoID)
                    }));

                case "executado":
                    int?grupoId = (int?)Geral.PegaAuthTicket("Grupo");
                    _aprovacaoService.FinalizarSolicitacao(grupoId, solicitacao.Fluxo.FLUXO_TP_ID, SolicitacaoID);
                    _tramite.AtualizarTramite(ContratanteID, SolicitacaoID, FluxoID, PapelID, 2, usuarioId);
                    return(RedirectToAction("AprovacaoLst", "Aprovacao", new
                    {
                        MensagemSucesso = string.Format("Aprovação da solicitação {0} realizada com sucesso!", SolicitacaoID)
                    }));

                case "reprovar":
                    _tramite.AtualizarTramite(ContratanteID, SolicitacaoID, FluxoID, PapelID, 3, usuarioId);
                    return(RedirectToAction("AprovacaoLst", "Aprovacao", new
                    {
                        MensagemSucesso = string.Format("Reprovação da solicitação Nº {0} realizada com sucesso!", SolicitacaoID)
                    }));
                }

                return(View(model));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(model));
            }
        }
Esempio n. 10
0
        private int IncluirPjpfBaseAlterarFichaModel(FichaCadastralWebForLinkVM modelo, string ServicosSelecionados, string MateriaisSelecionados, int validacao, int acao)
        {
            ////UNSPSC
            modelo.FornecedoresUnspsc = PreencheModelUnspsc(modelo.PJPFID, ServicosSelecionados, MateriaisSelecionados, modelo.SolicitacaoID);

            validacao                = IncluirDadosTabelaPjPfBase(modelo, acao);
            ViewBag.ExibirFicha      = true;
            modelo.PjpfBaseId        = validacao;
            ViewBag.RetSucessoBancos = validacao != 0 ? 1 : -1;
            modelo.DocumentoEditavel = validacao == 0;
            return(validacao);
        }
Esempio n. 11
0
 public static void PopularEndereco(FichaCadastralWebForLinkVM ficha, Fornecedor fornecedor)
 {
     //ficha.Bairro = fornecedor.BAIRRO;
     //ficha.Cep = fornecedor.CEP;
     //ficha.Cidade = fornecedor.CIDADE;
     //ficha.Complemento = fornecedor.COMPLEMENTO;
     //ficha.Endereco = fornecedor.ENDERECO;
     //ficha.Numero = fornecedor.NUMERO;
     //ficha.Pais = fornecedor.PAIS;
     //ficha.Estado = fornecedor.UF;
     Mapper.Map <FichaCadastralWebForLinkVM>(fornecedor);
 }
        private SOLICITACAO CriarSolicitacao(FichaCadastralWebForLinkVM model, int tipoFluxoId)
        {
            SOLICITACAO solicitacao = new SOLICITACAO();

            PopularSolicitacaoEmAprovacao(model.ContratanteID,
                                          model.ID,
                                          (int)Geral.PegaAuthTicket("UsuarioId"),
                                          _fluxoService.BuscarPorTipoEContratante(tipoFluxoId, model.ContratanteID).ID,
                                          solicitacao);

            return(_solicitacaoService.InserirSolicitacao(solicitacao));
        }
Esempio n. 13
0
        public ActionResult FornecedoresDesBloqueioFrm(string chaveurl)
        {
            int fornecedorID  = 0;
            int contratanteID = 0;
            FichaCadastralWebForLinkVM ficha = new FichaCadastralWebForLinkVM();

            try
            {
                if (!string.IsNullOrEmpty(chaveurl))
                {
                    List <ParametroCriptografia> param = Cripto.DescriptografarUrl(chaveurl, Key);
                    Int32.TryParse(param.First(p => p.Name == "FornecedorID").Value, out fornecedorID);
                    Int32.TryParse(param.First(p => p.Name == "ContratanteID").Value, out contratanteID);
                }

                if (fornecedorID != 0)
                {
                    var contratantePjpf = Db.WFD_CONTRATANTE_PJPF
                                          .Include("Contratante")
                                          .Include("Fornecedor")
                                          .FirstOrDefault(c => c.PJPF_ID == fornecedorID &&
                                                          c.CONTRATANTE_ID == contratanteID);

                    if (contratantePjpf.WFD_PJPF != null)
                    {
                        CriarEntidadePartialDadosCadastro(fornecedorID, contratantePjpf.WFD_PJPF, contratantePjpf.WFD_CONTRATANTE, ficha);
                        ficha.ContratanteFornecedorID = contratantePjpf.ID;
                        ficha.TipoFornecedor          = (int)contratantePjpf.WFD_PJPF.TIPO_PJPF_ID;

                        var fluxoId = _fluxoBP.BuscarPorTipoEContratante((int)EnumTiposFluxo.DesbloqueioFornecedor, contratanteID).ID;
                        ficha.Solicitacao.Fluxo.ID = fluxoId;
                    }

                    var bloq = Db.WFD_SOL_BLOQ.Include("TipoDeFuncaoDuranteBloqueio").FirstOrDefault(x => x.SOLICITACAO_ID == contratantePjpf.PJPF_STATUS_ID_SOL);

                    ViewBag.BloqueioMotivoQualidade = _funcaoBloqueioBP.ListarTodosPorCodigoFuncaoBloqueio();
                    ViewBag.BloqueioEscolhidoId     = bloq.BLQ_QUALIDADE_FUNCAO_BQL_ID;
                    ViewBag.BloqueioEscolhido       = bloq.TipoDeFuncaoDuranteBloqueio.FUNCAO_BLOQ_DSC;
                    ViewBag.QtdGrupoEmpresa         = (int)Db.WFD_GRUPO.Count(x => x.WFD_CONTRATANTE.Any(y => y.ID == contratanteID));
                    ViewBag.ChaveUrl = chaveurl;
                    return(View(ficha));
                }

                return(RedirectToAction("Alerta", "Home"));
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }

            return(View(ficha));
        }
Esempio n. 14
0
        public ActionResult Salvar(FichaCadastralWebForLinkVM model)
        {
            try
            {
                SOLICITACAO solicitacao = new SOLICITACAO();
                solicitacao.FLUXO_ID              = _fluxoService.BuscarPorTipoEContratante((int)EnumTiposFluxo.ModificacaoEndereco, model.ContratanteID).ID;
                solicitacao.SOLICITACAO_DT_CRIA   = DateTime.Now;
                solicitacao.SOLICITACAO_STATUS_ID = (int)EnumStatusTramite.EmAprovacao; // EM APROVACAO
                solicitacao.USUARIO_ID            = (int)Geral.PegaAuthTicket("UsuarioId");
                solicitacao.PJPF_ID = model.ID;

                if (model.ContratanteID != 0)
                {
                    solicitacao.CONTRATANTE_ID = model.ContratanteID;
                }

                var solicitacoesModEndereco = Mapper.Map <List <DadosEnderecosVM>, List <SOLICITACAO_MODIFICACAO_ENDERECO> >(model.DadosEnderecos.ToList());

                if (solicitacoesModEndereco.Any())
                {
                    _solicitacaoModificacaoEnderecoService.InserirSolicitacoes(solicitacoesModEndereco, solicitacao);
                }

                var papelAtual = _papelService.BuscarPorContratanteETipoPapel(solicitacao.CONTRATANTE_ID, (int)EnumTiposPapel.Solicitante).ID;

                int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId");
                _tramiteService.AtualizarTramite(solicitacao.CONTRATANTE_ID, solicitacao.ID, solicitacao.FLUXO_ID, papelAtual, (int)EnumStatusTramite.Aprovado, usuarioId);

                PersistirDadosEnderecoEmMemoria();

                string chaveUrl = "";

                if (model.ControllerOrigem == "Fornecedores")
                {
                    chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoEnderecos=1", model.PJPFID, model.ContratanteID), Key);
                }

                return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl }));
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                string chaveUrl = "";

                if (model.ControllerOrigem == "Fornecedores")
                {
                    chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoEnderecos=-1", model.PJPFID, model.ContratanteID), Key);
                }

                return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl }));
            }
        }
Esempio n. 15
0
 public static void PopularEndereco(FichaCadastralWebForLinkVM ficha, SolicitacaoCadastroFornecedor solicitacaoCadastroFornecedor)
 {
     //ficha.Bairro = solicitacaoCadastroFornecedor.BAIRRO;
     //ficha.Cep = solicitacaoCadastroFornecedor.CEP;
     //ficha.Cidade = solicitacaoCadastroFornecedor.CIDADE;
     //ficha.Complemento = solicitacaoCadastroFornecedor.COMPLEMENTO;
     //ficha.Endereco = solicitacaoCadastroFornecedor.ENDERECO;
     //ficha.Numero = solicitacaoCadastroFornecedor.NUMERO;
     //ficha.Pais = solicitacaoCadastroFornecedor.PAIS;
     //ficha.Estado = solicitacaoCadastroFornecedor.UF;
     //ficha.TipoLogradouro = solicitacaoCadastroFornecedor.TP_LOGRADOURO;
     Mapper.Map <FichaCadastralWebForLinkVM>(solicitacaoCadastroFornecedor);
 }
Esempio n. 16
0
        public ActionResult Cancelar(int contratanteFornecedorID)
        {
            var contratantePjpf = _contratantePjPfService.BuscarPjpfPorContratanteComEndereco(contratanteFornecedorID);
            var pjpf            = contratantePjpf.WFD_PJPF;
            var dadosEnderecos  = contratantePjpf.WFD_PJPF_ENDERECO.ToList();

            FichaCadastralWebForLinkVM ficha = new FichaCadastralWebForLinkVM();

            ficha = Mapper.Map <Fornecedor, FichaCadastralWebForLinkVM>(pjpf);
            ficha.DadosEnderecos = Mapper.Map <List <FORNECEDOR_ENDERECO>, List <DadosEnderecosVM> >(dadosEnderecos);

            return(PartialView("_FichaCadastral_DadosEnderecos", ficha));
        }
Esempio n. 17
0
        public ActionResult Editar(int contratanteFornecedorID)
        {
            var contratantePjpf = _contratantePjPfService.BuscarPjpfPorContratanteComEndereco(contratanteFornecedorID);
            var pjpf            = contratantePjpf.WFD_PJPF;
            var dadosEnderecos  = contratantePjpf.WFD_PJPF_ENDERECO.ToList();

            FichaCadastralWebForLinkVM ficha = new FichaCadastralWebForLinkVM();

            ficha = Mapper.Map <Fornecedor, FichaCadastralWebForLinkVM>(pjpf);
            ficha.DadosEnderecos = Mapper.Map <List <FORNECEDOR_ENDERECO>, List <DadosEnderecosVM> >(dadosEnderecos);
            PersistirDadosEnderecoEmMemoria();
            return(PartialView("~/Views/Fornecedores/_FichaCadastral_DadosEnderecos_Editavel.cshtml", ficha));
        }
        /// <summary>
        /// Se ele já existir em Fornecedor será exibido bloqueado TRUE: Editavel - False:Bloqueado.
        /// <para>Se não ele será exibido o primeiro da lista que contém este Id de Contratante.</para>
        /// </summary>
        /// <param name="cnpjUsuario">cnpj/cpf do Usuario logado</param>
        /// <param name="fornecedor">Entidade PJPF de fornecedor</param>
        /// <param name="isEdicao">Se bloqueará edição</param>
        /// <returns></returns>
        public FichaCadastralWebForLinkVM PopularFichaCadastral(Fornecedor fornecedor, bool isEdicao, int idContratante, CasosPreCadastroEnum preCadastroEnum)
        {
            FichaCadastralWebForLinkVM fichaCadastral = Mapper.Map <FichaCadastralWebForLinkVM>(fornecedor);

            fichaCadastral.ContratanteID     = idContratante;
            fichaCadastral.HabilitaEdicao    = isEdicao;
            fichaCadastral.IsPjpfProprio     = preCadastroEnum == CasosPreCadastroEnum.CadastradoProprio;
            fichaCadastral.IsPjpfBaseProprio = false;
            PopularFichaCadastral(preCadastroEnum, fichaCadastral);
            fichaCadastral.FornecedoresUnspsc =
                Mapper.Map <List <FORNECEDOR_UNSPSC>, List <FornecedorUnspscVM> >(fornecedor.FornecedorServicoMaterialList.ToList());
            return(fichaCadastral);
        }
        public ActionResult FornecedoresEstrangeiroFrm(FichaCadastralWebForLinkVM model)
        {
            PersistirDadosEmMemoria();

            model.Solicitacao.ID = model.SolicitacaoFornecedor.SolicitacaoCriacaoID.HasValue ? model.SolicitacaoFornecedor.SolicitacaoCriacaoID.Value : 0;

            if (FinalizarFichaCadastral(model))
            {
                return(RedirectToAction("FornecedoresLst", "Fornecedores", new { MensagemSucesso = string.Format("Solicitação Nº {0} de Criação de Fornecedor Estrangeiro realizada com Sucesso!", model.Solicitacao.ID) }));
            }

            return(View(model));
        }
Esempio n. 20
0
        public ActionResult CriarPreCadastro()
        {
            int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId");
            FichaCadastralWebForLinkVM modelo = new FichaCadastralWebForLinkVM(contratanteId, CasosPreCadastroEnum.CadastradoPorContratante);

            modelo.DocumentoEditavel = true;

            if (modelo == null)
            {
                return(HttpNotFound());
            }

            return(View(modelo));
        }
Esempio n. 21
0
        public static void PopularDadosReceita(FichaCadastralWebForLinkVM ficha, Fornecedor fornNacional)
        {
            //ficha.CNPJ_CPF = fornNacional.TIPO_PJPF_ID == 3
            //    ? Convert.ToUInt64(fornNacional.CPF).ToString(@"000\.000\.000\-00")
            //    : Convert.ToUInt64(fornNacional.CNPJ).ToString(@"00\.000\.000\/0000\-00");
            //ficha.RazaoSocial = fornNacional.TIPO_PJPF_ID != 3
            //    ? fornNacional.RAZAO_SOCIAL
            //    : fornNacional.NOME;
            //ficha.NomeFantasia = fornNacional.NOME_FANTASIA;
            //ficha.Nome = fornNacional.NOME;
            //ficha.CNAE = fornNacional.CNAE;
            //ficha.InscricaoEstadual = fornNacional.INSCR_ESTADUAL;
            //ficha.InscricaoMunicipal = fornNacional.INSCR_MUNICIPAL;

            Mapper.Map <FichaCadastralWebForLinkVM>(fornNacional);
        }
        public static void AtualizacaoUnspsc(this AprovacaoController controller, FichaCadastralWebForLinkVM ficha, SOLICITACAO solicitacao)
        {
            Fornecedor fornecedor = solicitacao.Fornecedor;

            ficha.TipoFornecedor       = (int)fornecedor.TIPO_PJPF_ID;
            ficha.ContratanteID        = solicitacao.CONTRATANTE_ID;
            ficha.Solicitacao.Fluxo.ID = solicitacao.FLUXO_ID;
            ficha.CNPJ_CPF             = fornecedor.TIPO_PJPF_ID == 3 ? Convert.ToUInt64(fornecedor.CPF).ToString(@"000\.000\.000\-00") : Convert.ToUInt64(fornecedor.CNPJ).ToString(@"00\.000\.000\/0000\-00");
            ficha.RazaoSocial          = fornecedor.TIPO_PJPF_ID == 3 ? fornecedor.NOME : fornecedor.RAZAO_SOCIAL;
            ficha.NomeFantasia         = fornecedor.NOME_FANTASIA;
            //ficha.CNAE = fornecedor.CNAE;
            ficha.InscricaoEstadual  = fornecedor.INSCR_ESTADUAL;
            ficha.InscricaoMunicipal = fornecedor.INSCR_MUNICIPAL;

            ficha.SolicitacaoFornecedor.Solicitacao = true;
        }
        //public void PreparaModal(ref FichaCadastralWebForLinkVM model)
        public void PreparaModal(FichaCadastralWebForLinkVM model)
        {
            int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId");

            model.TipoFuncionalidade = EnumTiposFuncionalidade.ReenviarFicha;

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

            Preenchermodelo(contratanteId, model, configEmail, DateTime.Today.ToShortDateString());

            model.TipoFuncionalidade = EnumTiposFuncionalidade.ReenviarFicha;
            model.NomeFuncionalidade = "REENVIAR FICHA CADASTRAL";

            model.Mensagem = model.MensagemImportacao.Mensagem;
            model.Assunto  = model.MensagemImportacao.Assunto;
        }
Esempio n. 24
0
        public ActionResult FornecedoresDiretoFrm(string chaveurl)
        {
            var solicitacaoId = 0;

            try
            {
                if (!string.IsNullOrEmpty(chaveurl))
                {
                    List <ParametroCriptografia> param = Cripto.DescriptografarUrl(chaveurl, Key);
                    Int32.TryParse(param.First(p => p.Name == "SolicitacaoID").Value, out solicitacaoId);
                }

                if (solicitacaoId != 0)
                {
                    var solicitacao = _solicitacaoService.BuscarPorIdComFornecedoresDireto(solicitacaoId);
                    var ficha       = new FichaCadastralWebForLinkVM();

                    if (solicitacao != null)
                    {
                        //if (!solicitacao.SolicitacaoDeDocumentos.Any())
                        //    solicitacao.SolicitacaoDeDocumentos = CriarSolicitacoesDocumentos(solicitacao.ID, solicitacao.SolicitacaoCadastroFornecedor.First().WFD_PJPF_CATEGORIA.ListaDeDocumentosDeFornecedor);

                        PreencherFichaCadastral(solicitacao, ficha, 10);

                        #region Preenchimento Específico

                        ficha.TipoPreenchimento = (int)EnumTiposPreenchimento.Contratante;

                        #endregion

                        PersistirDadosEmMemoria();
                        PersistirDadosEnderecoEmMemoria();

                        return(View(ficha));
                    }
                    return(RedirectToAction("Alerta", "Home"));
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                ViewBag.ChaveConferida = true;
            }

            return(View());
        }
Esempio n. 25
0
        public ActionResult Incluir(string chaveurl)
        {
            /*
             * List<ParametroCriptografia> param = Cripto.DescriptografarUrl(chaveurl, Key);
             * int idContratante;
             * Int32.TryParse(param.First(p => p.Name == "idContratante").Value, out idContratante);
             * InclusaoLinkExternoVM modelo = new InclusaoLinkExternoVM()
             * {
             *  Chave = param.First(p => p.Name == "idChave").Value,
             *  IdContratante = idContratante
             * };
             */

            FichaCadastralWebForLinkVM ficha = new FichaCadastralWebForLinkVM();

            return(View(ficha));
        }
        public ActionResult FornecedoresEstrangeiroFrm(string chaveurl)
        {
            int solicitacaoID = 0;

            if (!string.IsNullOrEmpty(chaveurl))
            {
                List <ParametroCriptografia> param = Cripto.DescriptografarUrl(chaveurl, Key);
                Int32.TryParse(param.First(p => p.Name == "SolicitacaoID").Value, out solicitacaoID);
            }

            try
            {
                if (solicitacaoID > 0)
                {
                    SOLICITACAO solicitacao = _solicitacaoService.BuscarPorIdComFornecedoresDireto(solicitacaoID);

                    FichaCadastralWebForLinkVM ficha = new FichaCadastralWebForLinkVM();

                    if (solicitacao != null)
                    {
                        PreencherFichaCadastral(solicitacao, ficha, 10);

                        #region Preenchimento Específico
                        ficha.TipoFornecedor    = (int)EnumTiposFornecedor.EmpresaEstrangeira;
                        ficha.TipoPreenchimento = (int)EnumTiposPreenchimento.Contratante;
                        #endregion

                        PersistirDadosEmMemoria();
                        PersistirDadosEnderecoEmMemoria();

                        return(View(ficha));
                    }
                }
                else
                {
                    return(RedirectToAction("Alerta", "Home"));
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }

            return(View());
        }
        public ActionResult FornecedoresModificacaoDadosGeraisFrm(string chaveurl)
        {
            int fornecedorId            = 0;
            int fornecedorContratanteID = 0;

            ViewBag.ChaveUrl = chaveurl;

            try
            {
                if (!string.IsNullOrEmpty(chaveurl))
                {
                    List <ParametroCriptografia> param = Cripto.DescriptografarUrl(chaveurl, Key);
                    Int32.TryParse(param.First(p => p.Name == "id").Value, out fornecedorId);
                    Int32.TryParse(param.First(p => p.Name == "contratanteid").Value, out fornecedorContratanteID);
                }

                if (fornecedorId != 0)
                {
                    Fornecedor  fornecedor  = _fornecedorService.BuscarPorIdModificacaoFornecedor(fornecedorId);
                    Contratante contratante = fornecedor.WFD_CONTRATANTE_PJPF.FirstOrDefault(c => c.CONTRATANTE_ID == fornecedorContratanteID).WFD_CONTRATANTE;

                    FichaCadastralWebForLinkVM ficha = new FichaCadastralWebForLinkVM();
                    if (fornecedor != null)
                    {
                        CriarEntidadePartialDadosCadastro(fornecedorId, fornecedor, contratante, ficha);
                    }

                    ViewBag.OutrosDadosVisao     = new SelectList(_visaoService.ListarTodos(), "ID", "VISAO_NM");
                    ViewBag.OutrosDadosGrupo     = new SelectList(new List <TIPO_GRUPO>(), "ID", "GRUPO_NM");
                    ViewBag.OutrosDadosDescricao = new SelectList(new List <TIPO_DESCRICAO>(), "ID", "DESCRICAO_NM");

                    return(View(ficha));
                }
                else
                {
                    return(RedirectToAction("Alerta", "Home"));
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }

            return(View());
        }
        public ActionResult SalvarQuestionarioDinamico(FichaCadastralWebForLinkVM model)
        {
            var solicitacaoId = model.SolicitacaoID;

            var solicitacao = CriarSolicitacao(model, (int)EnumTiposFluxo.ModificacaoQuestionarioDinamico);

            foreach (var item in model.Questionarios.QuestionarioDinamicoList)
            {
                var questionario = item;
                List <SalvaInformacaComplementarVM> respostaList = (
                    from aba in questionario.AbaList
                    from pergunta in aba.PerguntaList
                    select new SalvaInformacaComplementarVM
                {
                    PerguntaId = pergunta.Id,
                    Resposta = model.SolicitacaoID != null ? pergunta.Resposta : pergunta.RespostaFornecedor,
                    SolicitacaoId = solicitacao.ID,
                    RespostaId = model.SolicitacaoID != null ? pergunta.RespostaId : pergunta.RespostaFornecedorId
                }
                    ).ToList();
                _informacaoComplementarService.InsertAll(Mapper.Map <List <WFD_INFORM_COMPL> >(respostaList));
            }
            int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId");

            _tramiteService.AtualizarTramite(solicitacao.CONTRATANTE_ID, solicitacao.ID, solicitacao.FLUXO_ID, (int)EnumPapeisWorkflow.Solicitante, (int)EnumStatusTramite.Aprovado, usuarioId);

            var papelAtual = _papelService.BuscarPorContratanteETipoPapel(model.ContratanteID, (int)EnumTiposPapel.Solicitante).ID;

            return(PartialView("_FichaCadastral_QuestionarioDinamico", new RetornoQuestionario <QuestionarioVM>()
            {
                QuestionarioDinamicoList =
                    Mapper.Map <List <QuestionarioDinamico>, List <QuestionarioVM> >(
                        _cadastroUnicoService.BuscarQuestionarioDinamico(new QuestionarioDinamicoFiltrosDTO()
                {
                    ContratanteId = model.ContratanteID,
                    PapelId = papelAtual,
                    CategoriaId = model.CategoriaId,
                    Alteracao = false,
                    SolicitacaoId = solicitacao.ID,
                    ContratantePJPFId = model.ContratanteFornecedorID
                })
                        ),
            }));
        }
        public ActionResult SalvarUnspsc(FichaCadastralWebForLinkVM model, string ServicosSelecionados, string MateriaisSelecionados)
        {
            //UNSPSC
            model.FornecedoresUnspsc = new List <FornecedorUnspscVM>();
            FornecedorUnspscVM unspscVM = new FornecedorUnspscVM();

            var unspscs = _unspscBP.BuscarListaPorID(ServicosSelecionados.Split(new Char[] { '|' }), MateriaisSelecionados.Split(new Char[] { '|' }));

            model.FornecedoresUnspsc = unspscVM.PreencheModelUnspsc(model.PJPFID, model.SolicitacaoID, unspscs);

            var unspsscs = Mapper.Map <List <FornecedorUnspscVM>, List <FORNECEDOR_UNSPSC> >(model.FornecedoresUnspsc.ToList());

            int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId");

            pjpfUnspscService.GravaUnspscNoPjPf(unspsscs, model.PJPFID, model.ContratanteID, usuarioId);
            PersistirDadosEmMemoria();

            return(PartialView("_FichaCadastral_ServicosMaterias", model.FornecedoresUnspsc));
        }
        public ActionResult SalvarDocumentos(FichaCadastralWebForLinkVM model)
        {
            try
            {
                if (model.AtualizacaoDocumento)
                {
                    AtualizarSolicitacaoDocumentos(model, (int)EnumTiposFluxo.ModificacaoDocumentos, model.ID);
                }
                else
                {
                    CriarSolicitacaoDocumento(model);
                }

                string chaveUrl = "";

                if (model.ControllerOrigem == "Documento")
                {
                    chaveUrl = Cripto.Criptografar(String.Format("SolicitacaoID=0&FornecedorID={0}&ContratanteID={1}&RetSucessoDocs=1", model.PJPFID, model.ContratanteID), Key);
                }
                else if (model.ControllerOrigem == "Fornecedores")
                {
                    chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoDocs=1", model.PJPFID, model.ContratanteID), Key);
                }

                return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl }));
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                string chaveUrl = "";

                if (model.ControllerOrigem == "Documento")
                {
                    chaveUrl = Cripto.Criptografar(String.Format("SolicitacaoID=0&FornecedorID={0}&ContratanteID={1}&RetSucessoDocs=-1", model.PJPFID, model.ContratanteID), Key);
                }
                else if (model.ControllerOrigem == "Fornecedores")
                {
                    chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoDocs=-1", model.PJPFID, model.ContratanteID), Key);
                }

                return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl }));
            }
        }