public ActionResult Compartilhar()
        {
            int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId");
            WFD_CONTRATANTE_PJPF fornecedor = _ContratantefornecedorService.BuscaFichaCadastralPagante(contratanteId);

            return(View(FichaCadastralTesteVM.ViewModelToView(fornecedor)));
        }
Example #2
0
        public static FichaCadastralTesteVM ViewModelToView(WFD_CONTRATANTE_PJPF model)
        {
            Contratante contratante = model.WFD_CONTRATANTE;
            Fornecedor  fornecedor  = contratante.WFD_PJPF.FirstOrDefault();
            var         ficha       = new FichaCadastralTesteVM();

            //Dados Gerais
            ficha.DadosGerais = DadosGeraisTesteVM.ModelToViewModel(contratante, fornecedor);
            //Enderecos
            if (fornecedor.ROBO != null)
            {
                ficha.EnderecoList.Add(EnderecoTesteVM.ModelToViewModel(fornecedor.ROBO));
                ficha.RoboReceita         = RoboReceitaTesteVM.ModelToViewModel(fornecedor.ROBO);
                ficha.RoboSintegra        = RoboSintegraTesteVM.ModelToViewModel(fornecedor.ROBO);
                ficha.RoboSimplesNacional = RoboSimplesNacionalTesteVM.ModelToViewModel(fornecedor.ROBO);
                ficha.RoboCorreios        = RoboCorreiosTesteVM.ModelToViewModel(fornecedor.ROBO);
                ficha.RoboSuframa         = RoboSuframaTesteVM.ModelToViewModel(fornecedor.ROBO);
            }
            if (model.WFD_PJPF_ENDERECO.Any())
            {
                ficha.EnderecoList.AddRange(EnderecoTesteVM.ModelToViewModel(model.WFD_PJPF_ENDERECO));
            }
            //Contatos
            if (model.WFD_PJPF_CONTATOS.Any())
            {
                ficha.ContatoList = ContatoTesteVM.ModelToViewModel(model.WFD_PJPF_CONTATOS);
            }
            //Banco
            if (model.BancoDoFornecedor.Any())
            {
                ficha.BancarioList = BancarioTesteVM.ModelToViewModel(model.BancoDoFornecedor);
            }

            //Serviços
            var servicos = fornecedor.FornecedorServicoMaterialList.Where(x => x.T_UNSPSC.UNSPSC_COD > 70000000);

            if (servicos.Any())
            {
                ficha.ServicoList = ServicoTesteVM.ViewToViewModel(servicos.OrderBy(x => x.T_UNSPSC.UNSPSC_DSC).ToList());
            }

            //Materiais
            var materiais = fornecedor.FornecedorServicoMaterialList.Where(x => x.T_UNSPSC.UNSPSC_COD < 70000000);

            if (materiais.Any())
            {
                ficha.MaterialList = MaterialTesteVM.ViewToViewModel(materiais.OrderBy(x => x.T_UNSPSC.UNSPSC_DSC).ToList());
            }

            return(ficha);
        }
Example #3
0
        public static NovaFichaCadastralVM ModelToViewModel(WFD_CONTRATANTE_PJPF ficha)
        {
            var model = new NovaFichaCadastralVM();

            model.ContratanteId = ficha.CONTRATANTE_ID;
            model.FornecedorId  = ficha.PJPF_ID;
            model.DadosEndereco.AddRange(ficha.WFD_PJPF_ENDERECO.Select(x => new NovoDadosEnderecoVM
            {
                Endereco = x.ENDERECO,
                Cidade   = x.CIDADE
            }).ToList());

            model.DadosEndereco.Add(new NovoDadosEnderecoVM {
                Pais = "Brasil"
            });
            return(model);
        }
        // GET: Fornecedor
        public ActionResult Index()
        {
            Fornecedor                 solicitacao           = _solicitacaoBp.Buscar(x => x.ID == 39);
            WFD_CONTRATANTE_PJPF       contratanteFornecedor = solicitacao.WFD_CONTRATANTE_PJPF.FirstOrDefault(x => x.CONTRATANTE_ID == 10);
            FornecedorFichaCadastralVM retorno = AutoMapper.Mapper.Map <FornecedorFichaCadastralVM>(contratanteFornecedor);

            DividirMateriaisServicos(retorno.Unspsc);
            var modelo = new FornecedorFichaCadastralVM(retorno.Gerais, retorno.DadosRobo, retorno.Enderecos,
                                                        retorno.Bancarios, retorno.Contatos, retorno.Documentos, retorno.Unspsc,
                                                        retorno.InformacaoComplementares)
            {
                Id                      = retorno.Id,
                IdContratante           = retorno.IdContratante,
                IdContratanteFornecedor = retorno.IdContratanteFornecedor,
                IdPjPf                  = retorno.IdPjPf,
                IdPjPfBase              = retorno.IdPjPfBase,
                IdSolicitacao           = retorno.IdSolicitacao
            };

            return(View(modelo));
        }
        public void IncluirFornecedorIndividual(string documento)
        {
            SolicitacaoCadastroFornecedor solicitacaoCadastroFornecedor = _solicitacaoCadastroRepository.Buscar(x => x.CNPJ == documento || x.CPF == documento);
            SOLICITACAO solicitacao    = solicitacaoCadastroFornecedor.WFD_SOLICITACAO;
            ROBO        roboFornecedor = solicitacaoCadastroFornecedor.WFD_PJPF_ROBO;

            Domain.Models.Fornecedor fornecedor = new Domain.Models.Fornecedor
            {
                CONTRATANTE_ID  = solicitacao.CONTRATANTE_ID,
                TIPO_PJPF_ID    = solicitacaoCadastroFornecedor.PJPF_TIPO,
                RAZAO_SOCIAL    = solicitacaoCadastroFornecedor.RAZAO_SOCIAL,
                NOME_FANTASIA   = solicitacaoCadastroFornecedor.NOME_FANTASIA,
                NOME            = solicitacaoCadastroFornecedor.NOME,
                CNPJ            = solicitacaoCadastroFornecedor.CNPJ,
                CPF             = solicitacaoCadastroFornecedor.CPF,
                CNAE            = solicitacaoCadastroFornecedor.CNAE,
                INSCR_ESTADUAL  = solicitacaoCadastroFornecedor.INSCR_ESTADUAL,
                INSCR_MUNICIPAL = solicitacaoCadastroFornecedor.INSCR_MUNICIPAL,
                ENDERECO        = solicitacaoCadastroFornecedor.ENDERECO,
                NUMERO          = solicitacaoCadastroFornecedor.NUMERO,
                COMPLEMENTO     = solicitacaoCadastroFornecedor.COMPLEMENTO,
                BAIRRO          = solicitacaoCadastroFornecedor.BAIRRO,
                CIDADE          = solicitacaoCadastroFornecedor.CIDADE,
                UF    = solicitacaoCadastroFornecedor.UF,
                CEP   = solicitacaoCadastroFornecedor.CEP,
                PAIS  = solicitacaoCadastroFornecedor.PAIS,
                ATIVO = true,
            };
            if (roboFornecedor != null && solicitacaoCadastroFornecedor.PJPF_TIPO != 2)
            {
                fornecedor.ROBO_ID = roboFornecedor.ID;
            }

            #region Unspsc
            foreach (var item in solicitacao.WFD_SOL_UNSPSC)
            {
                fornecedor.FornecedorServicoMaterialList.Add(new FORNECEDOR_UNSPSC
                {
                    SOLICITACAO_ID = solicitacao.ID,
                    UNSPSC_ID      = item.UNSPSC_ID,
                    DT_INCLUSAO    = DateTime.Now,
                    WFD_PJPF       = fornecedor
                });
            }
            #endregion

            WFD_CONTRATANTE_PJPF contratanteFornecedor = new WFD_CONTRATANTE_PJPF
            {
                CATEGORIA_ID       = solicitacaoCadastroFornecedor.CATEGORIA_ID,
                CONTRATANTE_ID     = solicitacao.CONTRATANTE_ID,
                PJPF_ID            = fornecedor.ID,
                PJPF_COD_ERP       = solicitacaoCadastroFornecedor.COD_PJPF_ERP,
                PJPF_STATUS_ID     = 1,
                PJPF_STATUS_ID_SOL = solicitacao.ID,
                TP_PJPF            = 2
            };

            #region Bancos
            foreach (var item in solicitacao.WFD_SOL_MOD_BANCO)
            {
                contratanteFornecedor.WFD_PJPF_BANCO.Add(new FORNECEDOR_BANCO
                {
                    CONTRATANTE_PJPF_ID = contratanteFornecedor.ID,
                    BANCO_ID            = item.BANCO_ID,
                    AGENCIA             = item.AGENCIA,
                    AG_DV        = item.AG_DV,
                    CONTA        = item.CONTA,
                    CONTA_DV     = item.CONTA_DV,
                    ATIVO        = true,
                    DATA_UPLOAD  = item.DATA_UPLOAD,
                    NOME_ARQUIVO = item.NOME_ARQUIVO,
                    ARQUIVO_ID   = item.ARQUIVO_ID
                });
            }
            #endregion

            #region Endereços
            foreach (var solicitacaoModificacaoEndereco in solicitacao.WFD_SOL_MOD_ENDERECO)
            {
                contratanteFornecedor.WFD_PJPF_ENDERECO.Add(new FORNECEDOR_ENDERECO
                {
                    BAIRRO              = solicitacaoModificacaoEndereco.BAIRRO,
                    CEP                 = solicitacaoModificacaoEndereco.CEP,
                    CIDADE              = solicitacaoModificacaoEndereco.CIDADE,
                    COMPLEMENTO         = solicitacaoModificacaoEndereco.COMPLEMENTO,
                    ENDERECO            = solicitacaoModificacaoEndereco.ENDERECO,
                    NUMERO              = solicitacaoModificacaoEndereco.NUMERO,
                    PAIS                = solicitacaoModificacaoEndereco.PAIS,
                    T_UF                = solicitacaoModificacaoEndereco.T_UF,
                    TP_ENDERECO_ID      = solicitacaoModificacaoEndereco.TP_ENDERECO_ID,
                    UF                  = solicitacaoModificacaoEndereco.UF,
                    CONTRATANTE_PJPF_ID = contratanteFornecedor.ID
                });
            }
            #endregion

            #region Contatos

            foreach (var item in solicitacao.WFD_SOL_MOD_CONTATO)
            {
                contratanteFornecedor.WFD_PJPF_CONTATOS.Add(new FORNECEDOR_CONTATOS
                {
                    CONTRAT_ORG_COMPRAS_ID = solicitacao.WFD_CONTRATANTE.WFD_CONTRATANTE_ORG_COMPRAS.First().ID,
                    CONTRATANTE_PJPF_ID    = contratanteFornecedor.ID,
                    NOME     = item.NOME,
                    EMAIL    = item.EMAIL,
                    CELULAR  = item.CELULAR,
                    TELEFONE = item.TELEFONE
                });
            }

            #endregion

            #region Documentos
            if (solicitacaoCadastroFornecedor.PJPF_TIPO != 2)
            {
                foreach (SOLICITACAO_DOCUMENTOS item in solicitacao.WFD_SOL_DOCUMENTOS)
                {
                    if (item.ARQUIVO_ID != null)
                    {
                        contratanteFornecedor.WFD_PJPF_DOCUMENTOS.Add(new FORNECEDOR_DOCUMENTOS
                        {
                            CONTRATANTE_PJPF_ID    = contratanteFornecedor.ID,
                            ARQUIVO_ID             = item.ARQUIVO_ID,
                            DATA_VENCIMENTO        = item.DATA_VENCIMENTO,
                            DESCRICAO_DOCUMENTO_ID = item.DESCRICAO_DOCUMENTO_ID,
                            LISTA_DOCUMENTO_ID     = item.LISTA_DOCUMENTO_ID,
                            OBRIGATORIO            = item.OBRIGATORIO,
                            EXIGE_VALIDADE         = item.EXIGE_VALIDADE,
                            PERIODICIDADE_ID       = item.PERIODICIDADE_ID,
                            SOLICITACAO_ID         = solicitacao.ID,
                            PJPF_ID = fornecedor.ID
                        });
                    }
                }
            }
            #endregion

            #region Informações Complementares
            foreach (var item in solicitacao.WFD_INFORM_COMPL)
            {
                contratanteFornecedor.WFD_PJPF_INFORM_COMPL.Add(new FORNECEDOR_INFORM_COMPL
                {
                    PERG_ID             = item.PERG_ID,
                    RESPOSTA            = item.RESPOSTA,
                    CONTRATANTE_PJPF_ID = contratanteFornecedor.ID
                });
            }
            #endregion


            CONTRATANTE contratanteAncora = CriarContratante(documento, solicitacaoCadastroFornecedor);

            fornecedor.WFD_CONTRATANTE_PJPF.Add(contratanteFornecedor);
            contratanteAncora.WFD_CONTRATANTE_PJPF.Add(contratanteFornecedor);

            _fornecedorRepository.Inserir(fornecedor);
            _contratanteRepository.Inserir(contratanteAncora);
            _unitOfWork.Finalizar();
            CriacaoUsuarioPadrao(documento, solicitacao.WFD_SOL_MOD_CONTATO.FirstOrDefault().EMAIL);
        }
Example #6
0
        /*
         * public void IncluirNovoContratante(string nome, string documento)
         * {
         *  WFD_CONTRATANTE contratante = new WFD_CONTRATANTE()
         *  {
         *      ATIVO = true,
         *      ATIVO_DT = DateTime.Now,
         *      CNPJ = documento,
         *      COD_WEBFORMAT = "",
         *      CONTRANTE_COD_ERP = "",
         *      DATA_CADASTRO = DateTime.Now,
         *      DATA_NASCIMENTO = null,
         *      ESTILO = "Azul",
         *      EXTENSAO_IMAGEM = ".png",
         *      NOME_FANTASIA = "",
         *      RAZAO_SOCIAL = "",
         *      TIPO_CADASTRO_ID = 1,
         *      TIPO_CONTRATANTE_ID = 1
         *  };
         *  //18.306.371/0001-61
         *  WFD_PJPF fornecedor = new WFD_PJPF()
         *  {
         *      RAZAO_SOCIAL = "",
         *      CNPJ = "",
         *      CPF = "",
         *      TELEFONE = "",
         *      ATIVO = true,
         *      NOME = "",
         *      NOME_FANTASIA = "",
         *      CNAE = "",
         *      INSCR_ESTADUAL = "",
         *      INSCR_MUNICIPAL = "",
         *      ENDERECO = "",
         *      NUMERO = "",
         *      COMPLEMENTO = "",
         *      CEP = "",
         *      BAIRRO = "",
         *      CIDADE = "",
         *      UF = "",
         *      PAIS = "",
         *      EMAIL = "",
         *      RF_SIT_CADASTRAL_CNPJ = "",
         *      IBGE_COD = "",
         *      SINT_IE_COD = "",
         *      SINT_IE_SITU_CADASTRAL = "",
         *      SIMPLES_NACIONAL_SITUACAO = "",
         *      SUFRAMA_SIT_CADASTRAL = "",
         *      SUFRAMA_INSCRICAO = "",
         *      TIPO_PJPF_ID = "",
         *      SITUACAO_ID = "",
         *      ROBO_ID = "",
         *      RF_SIT_CADASTRAL_CNPJ_DT = "",
         *      RF_CONSULTA_DTHR = "",
         *      SINT_DTHR_CONSULTA = "",
         *      SINT_IE_SITU_CADASTRAL_DT = "",
         *      SUFRAMA_SIT_CADASTRAL_VALIDADE = "",
         *      DT_NASCIMENTO = "",
         *      DT_ATUALIZACAO_UNSPSC = "",
         *      T_UF = new T_UF(),
         *      WFD_PJPF_ROBO = ,
         *      WFD_CONTRATANTE_PJPF = ,
         *      WFD_PJPF_CONTRATANTE_ORG_COMPRAS = ,
         *      WFD_PJPF_DOCUMENTOS = ,
         *      WFD_PJPF_ROBO_LOG = ,
         *      WFD_PJPF_UNSPSC = ,
         *      WFD_SOL_MOD_ENDERECO = ,
         *      WFD_SOLICITACAO = ,
         *      WFD_CONTRATANTE = contratante
         *  };
         *
         *  WFD_CONTRATANTE_PJPF contratantePjpf = new WFD_CONTRATANTE_PJPF();
         * }
         * public void IncluirNovoFornecedorIndividual(string nome, string documento)
         * {
         *  //12.310.142/0001-34
         *
         * }
         * //23.048.843/0001-63
         * public void IncluirFornecedor(string nome, string documento, bool prequalificado, string contratante)
         * {
         *  WFD_CONTRATANTE contratanteCH = Processo.Contratante.Buscar(x => x.NOME_FANTASIA.Contains(contratante) && x.RAZAO_SOCIAL.Contains(contratante));
         *  CriarNovoFornecedor(nome, documento, prequalificado, contratanteCH);
         * }
         * public void IncluirFornecedor(string nome, string documento, bool prequalificado)
         * {
         *  WFD_CONTRATANTE contratanteCH = Processo.Contratante.Buscar(x => x.ID == 1);
         *  CriarNovoFornecedor(nome, documento, prequalificado, contratanteCH);
         * }
         */
        public void CriarNovoFornecedor(string nome, string documento, bool prequalificado, CONTRATANTE contratanteCH)
        {
            Fornecedor fornecedor = new Fornecedor
            {
                CONTRATANTE_ID = contratanteCH.ID,
                TIPO_PJPF_ID   = 2,
                RAZAO_SOCIAL   = nome,
                NOME_FANTASIA  = nome,
                NOME           = nome,
                CNPJ           = documento,
                ENDERECO       = "Rua José Domingues",
                NUMERO         = "198",
                BAIRRO         = "Centro",
                CIDADE         = "Rio de Janeiro",
                UF             = "RJ",
                CEP            = "20745-366",
                PAIS           = "BRASIL",
                ATIVO          = true,
            };
            WFD_CONTRATANTE_PJPF contratanteBuscado = _contratanteFornecedor.Buscar(x => x.ID == 33);
            WFD_CONTRATANTE_PJPF contratantePjPf    = new WFD_CONTRATANTE_PJPF
            {
                CATEGORIA_ID       = contratanteBuscado.CATEGORIA_ID,
                CONTRATANTE_ID     = contratanteCH.ID,
                PJPF_COD_ERP       = "E5452",
                PJPF_STATUS_ID     = contratanteBuscado.PJPF_STATUS_ID,
                PJPF_STATUS_ID_SOL = contratanteBuscado.PJPF_STATUS_ID_SOL,
                TP_PJPF            = contratanteBuscado.TP_PJPF,
            };

            //Bancos
            int[] idsBanco = new[] { 46, 48 };
            List <FORNECEDOR_BANCO> listaBancosBuscados = _bancoFornecedorRepository.Listar(x => idsBanco.Contains(x.ID)).ToList();

            foreach (var banco in listaBancosBuscados)
            {
                contratantePjPf.WFD_PJPF_BANCO.Add(new FORNECEDOR_BANCO
                {
                    BANCO_ID            = banco.BANCO_ID,
                    AGENCIA             = banco.AGENCIA,
                    AG_DV               = banco.AG_DV,
                    CONTA               = banco.CONTA,
                    CONTA_DV            = banco.CONTA_DV,
                    ATIVO               = banco.ATIVO,
                    CONTRATANTE_PJPF_ID = contratantePjPf.ID,
                    ARQUIVO_ID          = banco.ARQUIVO_ID,
                    NOME_ARQUIVO        = banco.NOME_ARQUIVO,
                    DATA_UPLOAD         = banco.DATA_UPLOAD,
                    T_BANCO             = banco.T_BANCO
                });
            }
            //Contatos
            int[] idsContatos = new[] { 44, 45 };
            List <FORNECEDOR_CONTATOS> listaContatosBuscados = _contatoFornecedorRepository.Listar(x => idsContatos.Contains(x.ID)).ToList();

            foreach (var contato in listaContatosBuscados)
            {
                contratantePjPf.WFD_PJPF_CONTATOS.Add(new FORNECEDOR_CONTATOS
                {
                    CONTRAT_ORG_COMPRAS_ID = contato.CONTRAT_ORG_COMPRAS_ID,
                    NOME                = contato.NOME,
                    EMAIL               = contato.EMAIL,
                    TELEFONE            = contato.TELEFONE,
                    CELULAR             = contato.CELULAR,
                    CONTRATANTE_PJPF_ID = contratantePjPf.ID,
                    TP_CONTATO_ID       = contato.TP_CONTATO_ID,
                    WFD_T_TP_CONTATO    = contato.WFD_T_TP_CONTATO,
                });
            }
            //Endereços
            int[] idsEnderecos = new[] { 44, 45 };
            List <FORNECEDOR_ENDERECO> listaEnderecosBuscados = _enderecoFornecedorRepository.Listar(x => idsEnderecos.Contains(x.ID)).ToList();

            foreach (var endereco in listaEnderecosBuscados)
            {
                contratantePjPf.WFD_PJPF_ENDERECO.Add(new FORNECEDOR_ENDERECO
                {
                    TP_ENDERECO_ID      = endereco.TP_ENDERECO_ID,
                    ENDERECO            = endereco.ENDERECO,
                    NUMERO              = endereco.NUMERO,
                    COMPLEMENTO         = endereco.COMPLEMENTO,
                    CEP                 = endereco.CEP,
                    BAIRRO              = endereco.BAIRRO,
                    CIDADE              = endereco.CIDADE,
                    UF                  = endereco.UF,
                    PAIS                = endereco.PAIS,
                    CONTRATANTE_PJPF_ID = contratantePjPf.ID,
                    T_UF                = endereco.T_UF,
                });
            }

            fornecedor.WFD_CONTRATANTE_PJPF.Add(contratantePjPf);
            //Robô
            if (prequalificado)
            {
                fornecedor.WFD_PJPF_ROBO = _roboRepository.Buscar(x => x.ID == 1040);

                /*
                 * WFD_PJPF_ROBO roboBuscado = _roboFornecedorRepository.Buscar(x => x.ID == 890);
                 * fornecedor.WFD_PJPF_ROBO = new WFD_PJPF_ROBO
                 * {
                 *  ROBO_DT_EXEC = roboBuscado.ROBO_DT_EXEC,
                 *  SOLICITACAO_ID = roboBuscado.SOLICITACAO_ID,
                 *  CPF = roboBuscado.CPF,
                 *  CNPJ = documento,
                 *  RECEITA_FEDERAL_RAZAO_SOCIAL = roboBuscado.RECEITA_FEDERAL_RAZAO_SOCIAL,
                 *  RF_NOME_FANTASIA = roboBuscado.RF_NOME_FANTASIA,
                 *  RF_NOME = roboBuscado.RF_NOME,
                 *  RF_LOGRADOURO = roboBuscado.RF_LOGRADOURO,
                 *  RF_NUMERO = roboBuscado.RF_NUMERO,
                 *  RF_COMPLEMENTO = roboBuscado.RF_COMPLEMENTO,
                 *  RF_BAIRRO = roboBuscado.RF_BAIRRO,
                 *  RF_MUNICIPIO = roboBuscado.RF_MUNICIPIO,
                 *  RF_UF = roboBuscado.RF_UF,
                 *  RF_CEP = roboBuscado.RF_CEP,
                 *  RF_SIT_CADASTRAL_CNPJ = "ATIVA",
                 *  RF_SIT_CADSTRAL_CNPJ_DT = roboBuscado.RF_SIT_CADSTRAL_CNPJ_DT,
                 *  RF_SIT_ESPECIAL_CNPJ = roboBuscado.RF_SIT_ESPECIAL_CNPJ,
                 *  RF_SIT_ESPECIAL_CNPJ_DT = roboBuscado.RF_SIT_ESPECIAL_CNPJ_DT,
                 *  RF_MOTIVO_CNPJ_SITU_CADASTRAL = roboBuscado.RF_MOTIVO_CNPJ_SITU_CADASTRAL,
                 *  RF_CNPJ_DT_ABERTURA = roboBuscado.RF_CNPJ_DT_ABERTURA,
                 *  RF_CNAE_COD_PRINCIPAL = roboBuscado.RF_CNAE_COD_PRINCIPAL,
                 *  RF_CNAE_DSC_PRINCIPAL = roboBuscado.RF_CNAE_DSC_PRINCIPAL,
                 *  RF_CNAE_COD_OUTROS = roboBuscado.RF_CNAE_COD_OUTROS,
                 *  RF_CNAE_DSC_OUTROS = roboBuscado.RF_CNAE_DSC_OUTROS,
                 *  RF_MATRIZ_FILIAL = roboBuscado.RF_MATRIZ_FILIAL,
                 *  RF_COD_NATUREZA_JURIDICA = roboBuscado.RF_COD_NATUREZA_JURIDICA,
                 *  RF_DSC_NATUREZA_JURIDICA = roboBuscado.RF_DSC_NATUREZA_JURIDICA,
                 *  RF_CONSULTA_DTHR = roboBuscado.RF_CONSULTA_DTHR,
                 *  IBGE_COD = roboBuscado.IBGE_COD,
                 *  SINTEGRA_ERRO_ORIGINAL = roboBuscado.SINTEGRA_ERRO_ORIGINAL,
                 *  SINT_IE_QTD = roboBuscado.SINT_IE_QTD,
                 *  SINT_IE_MULTIPLA = roboBuscado.SINT_IE_MULTIPLA,
                 *  SINT_IE_MULTIPLA_CODIGOS = roboBuscado.SINT_IE_MULTIPLA_CODIGOS,
                 *  SINT_IE_MULTIPLA_SITUACAO = roboBuscado.SINT_IE_MULTIPLA_SITUACAO,
                 *  SINT_IE_COD = roboBuscado.SINT_IE_COD,
                 *  SINT_CONSULTA_DTHR = roboBuscado.SINT_CONSULTA_DTHR,
                 *  SINT_IE_SITU_CADASTRAL = "HABILITADO",
                 *  SINT_IE_SITU_CADSTRAL_DT = roboBuscado.SINT_IE_SITU_CADSTRAL_DT,
                 *  SINT_INCLUSAO_DT = roboBuscado.SINT_INCLUSAO_DT,
                 *  SINT_BAIXA_DT = roboBuscado.SINT_BAIXA_DT,
                 *  SINT_BAIXA_MOTIVO = roboBuscado.SINT_BAIXA_MOTIVO,
                 *  SINT_EMAIL = roboBuscado.SINT_EMAIL,
                 *  SINT_REGIME_APURACAO = roboBuscado.SINT_REGIME_APURACAO,
                 *  SINT_ENQUADRAMENTO_FISCAL = roboBuscado.SINT_ENQUADRAMENTO_FISCAL,
                 *  SINT_TEL = roboBuscado.SINT_TEL,
                 *  SINT_CAD_PROD_RURAL = roboBuscado.SINT_CAD_PROD_RURAL,
                 *  SINT_COMPLEMENTO = roboBuscado.SINT_COMPLEMENTO,
                 *  SINT_RAZAO_SOCIAL = roboBuscado.SINT_RAZAO_SOCIAL,
                 *  SINT_CNPJ = roboBuscado.SINT_CNPJ,
                 *  SINT_BAIRRO = roboBuscado.SINT_BAIRRO,
                 *  SINT_LOGRADOURO = roboBuscado.SINT_LOGRADOURO,
                 *  SINT_NUMERO = roboBuscado.SINT_NUMERO,
                 *  SINT_CEP = roboBuscado.SINT_CEP,
                 *  SINT_MUNICIPIO = roboBuscado.SINT_MUNICIPIO,
                 *  SINT_UF = roboBuscado.SINT_UF,
                 *  SINT_ATIVIDADE_PRINCIPAL = roboBuscado.SINT_ATIVIDADE_PRINCIPAL,
                 *  SIMPLES_NACIONAL_SITUACAO = roboBuscado.SIMPLES_NACIONAL_SITUACAO,
                 *  SN_SITUACAO_SIMEI = roboBuscado.SN_SITUACAO_SIMEI,
                 *  SN_PERIODOS_ANTERIORES = roboBuscado.SN_PERIODOS_ANTERIORES,
                 *  SN_SIMEI_PERIODOS_ANTERIORES = roboBuscado.SN_SIMEI_PERIODOS_ANTERIORES,
                 *  SN_AGENDAMENTOS = roboBuscado.SN_AGENDAMENTOS,
                 *  SN_RAZAO_SOCIAL = roboBuscado.SN_RAZAO_SOCIAL,
                 *  CORREIOS_TP_LOGRADOURO = roboBuscado.CORREIOS_TP_LOGRADOURO,
                 *  CORR_LOGRADOURO = roboBuscado.CORR_LOGRADOURO,
                 *  CORR_COMPLEMENTO = roboBuscado.CORR_COMPLEMENTO,
                 *  CORR_BAIRRO = roboBuscado.CORR_BAIRRO,
                 *  CORR_BAIRRO_COMPL = roboBuscado.CORR_BAIRRO_COMPL,
                 *  CORR_UF = roboBuscado.CORR_UF,
                 *  CORR_MUNICIPIO = roboBuscado.CORR_MUNICIPIO,
                 *  CORR_CEP = roboBuscado.CORR_CEP,
                 *  SUFRAMA_ERRO_MENSAGEM = roboBuscado.SUFRAMA_ERRO_MENSAGEM,
                 *  SUFRAMA_SIT_CADASTRAL = roboBuscado.SUFRAMA_SIT_CADASTRAL,
                 *  SUFRAMA_INSCRICAO = roboBuscado.SUFRAMA_INSCRICAO,
                 *  SUFRAMA_TEL = roboBuscado.SUFRAMA_TEL,
                 *  SUFRAMA_SIT_CADASTRAL_VALIDADE = roboBuscado.SUFRAMA_SIT_CADASTRAL_VALIDADE,
                 *  SUFRAMA_INCENTIVOS = roboBuscado.SUFRAMA_INCENTIVOS,
                 *  SUFRAMA_EMAIL = roboBuscado.SUFRAMA_EMAIL,
                 *  RF_CERTIFICADO_HTML = roboBuscado.RF_CERTIFICADO_HTML,
                 *  SINT_CERTIFICADO_HTML = roboBuscado.SINT_CERTIFICADO_HTML,
                 *  SN_CONSULTA_DTHR = roboBuscado.SN_CONSULTA_DTHR,
                 *  SUFRAMA_CONSULTA_DTHR = roboBuscado.SUFRAMA_CONSULTA_DTHR,
                 *  CORR_CONSULTA_DTHR = roboBuscado.CORR_CONSULTA_DTHR,
                 *  RF_CONTADOR_TENTATIVA = roboBuscado.RF_CONTADOR_TENTATIVA,
                 *  SINT_CONTADOR_TENTATIVA = roboBuscado.SINT_CONTADOR_TENTATIVA,
                 *  SN_CONTADOR_TENTATIVA = roboBuscado.SN_CONTADOR_TENTATIVA,
                 *  SUFRAMA_CONTADOR_TENTATIVA = roboBuscado.SUFRAMA_CONTADOR_TENTATIVA,
                 *  CORR_CONTADOR_TENTATIVA = roboBuscado.CORR_CONTADOR_TENTATIVA,
                 *  SUFRAMA_CERTIFICADO_HTML = roboBuscado.SUFRAMA_CERTIFICADO_HTML,
                 *  CORR_CERTIFICADO_HTML = roboBuscado.CORR_CERTIFICADO_HTML,
                 *  RF_CODE_ROBO = roboBuscado.RF_CODE_ROBO,
                 *  SINT_CODE_ROBO = roboBuscado.SINT_CODE_ROBO,
                 *  SN_CODE_ROBO = roboBuscado.SN_CODE_ROBO
                 * };
                 */
            }
            //UNSPSC

            //int[] idUnspsc = new[] { 110, 111, 112 };
            int[] idUnspsc = new[] { 4795, 4797, 4800, 4807, 5952 };
            List <FORNECEDOR_UNSPSC> unspscBuscado = _unspscFornecedorRepository.Listar(x => idUnspsc.Contains(x.ID)).ToList();

            foreach (var unspsc in unspscBuscado)
            {
                unspsc.PJPF_ID = fornecedor.ID;
                fornecedor.FornecedorServicoMaterialList.Add(unspsc);
            }
            _fornecedorRepository.Inserir(fornecedor);
        }
        public ActionResult Ficha()
        {
            WFD_CONTRATANTE_PJPF fornecedor = _ContratantefornecedorService.BuscaFichaCadastralPagante(13);

            return(View(FichaCadastralTesteVM.ViewModelToView(fornecedor)));
        }
Example #8
0
        public ActionResult FornecedoresExpandirFrm(FichaCadastralWebForLinkVM model, int Empresa, int Organizacao, int FluxoID, int[] DocumentoID, string[] NomeDocumento, int?[] ArquivoID, int[] BancoOrdem, int[] BancoID, int[] Banco, string[] Agencia, string[] Digito, string[] ContaCorrente, string[] ContaCorrenteDigito, int?UsarContato, int[] ContatoID, string[] NomeContato, string[] Email, string[] Telefone, string[] Celular)
        {
            int?usuarioId = (int?)Geral.PegaAuthTicket("UsuarioId");

            List <int> contratantesForn = Db.WFD_CONTRATANTE_PJPF.Where(c => c.PJPF_ID == model.ID).Select(cc => cc.CONTRATANTE_ID).ToList();

            List <Contratante> contratantes = Db.Contratante.Where(c => c.WFD_USUARIO1.Any(u => u.ID == usuarioId) && !contratantesForn.Contains(c.ID)).ToList();
            int contID = contratantes.FirstOrDefault(c => c.ID == Empresa).ID;

            ViewBag.Empresa         = new SelectList(contratantes, "ID", "RAZAO_SOCIAL", Empresa);
            ViewBag.Organizacao     = new SelectList(_organizacaoComprasBP.ListarTodosPorIdContratante(contID), "ID", "ORG_COMPRAS_DSC");
            ViewBag.Bancos          = _bancoBP.ListarTodosPorNome();
            ViewBag.EscolherContato = true;
            ViewBag.UsarContato     = UsarContato;

            model.Expansao    = new ExpansaoVM();
            model.Solicitacao = new SolicitacaoVM
            {
                Fluxo = new FluxoVM
                {
                    ID = FluxoID
                }
            };

            if (UsarContato == null)
            {
                ModelState.AddModelError("ContatosValidation", "Informe contato que deseja utilizar!");
            }

            //VERIFICA DADOS DE CONTATOS
            model.DadosContatos = new List <DadosContatoVM>();
            for (int i = 0; i < ContatoID.Length; i++)
            {
                model.DadosContatos.Add(new DadosContatoVM
                {
                    ContatoID    = ContatoID[i],
                    NomeContato  = (i < NomeContato.Length) ? NomeContato[i] : "",
                    EmailContato = (i < Email.Length) ? Email[i] : "",
                    Telefone     = (i < Telefone.Length) ? Telefone[i] : "",
                    Celular      = (i < Celular.Length) ? Celular[i] : "",
                });

                if (ContatoID[i] == UsarContato)
                {
                    if (string.IsNullOrEmpty(Email[i]))
                    {
                        ModelState.AddModelError("ContatosValidation", "Informe o email!");
                    }
                }
            }

            // VERIFICA DADOS BANCARIOS
            bool dadosBancariosCompleto = true;

            model.DadosBancarios = new List <DadosBancariosVM>();
            for (int i = 0; i < Banco.Length; i++)
            {
                bool temDadosBancario = false;

                if ((Banco[i] != 0))
                {
                    temDadosBancario = true;
                }
                if ((!string.IsNullOrEmpty(Agencia[i])))
                {
                    temDadosBancario = true;
                }
                if ((!string.IsNullOrEmpty(Digito[i])))
                {
                    temDadosBancario = true;
                }
                if ((!string.IsNullOrEmpty(ContaCorrente[i])))
                {
                    temDadosBancario = true;
                }
                if ((!string.IsNullOrEmpty(ContaCorrenteDigito[i])))
                {
                    temDadosBancario = true;
                }

                model.DadosBancarios.Add(new DadosBancariosVM
                {
                    BancoSolicitacaoID = BancoID[i],
                    Banco               = (i < Banco.Length) ? Banco[i] : 0,
                    Agencia             = (i < Agencia.Length) ? Agencia[i] : "",
                    Digito              = (i < Digito.Length) ? Digito[i] : "",
                    ContaCorrente       = (i < ContaCorrente.Length) ? ContaCorrente[i] : "",
                    ContaCorrenteDigito = (i < ContaCorrenteDigito.Length) ? ContaCorrenteDigito[i] : ""
                });

                if (temDadosBancario)
                {
                    if ((Banco[i] == 0))
                    {
                        dadosBancariosCompleto = false;
                    }
                    if ((string.IsNullOrEmpty(Agencia[i])))
                    {
                        dadosBancariosCompleto = false;
                    }
                    if (Agencia[i].Length < 4)
                    {
                        dadosBancariosCompleto = false;
                    }
                    if ((string.IsNullOrEmpty(ContaCorrente[i])))
                    {
                        dadosBancariosCompleto = false;
                    }
                }
            }
            if (!dadosBancariosCompleto)
            {
                ModelState.AddModelError("DadosBancariosValidation", "Dado Bancário Incompleto!");
            }
            if (model.DadosBancarios.Count == 0)
            {
                ModelState.AddModelError("DadosBancariosValidation", "Informe ao menos um Dado Bancário!");
            }

            //VERIFICA ANEXOS
            model.SolicitacaoFornecedor = new SolicitacaoFornecedorVM()
            {
                Solicitacao = false,
                Documentos  = new List <SolicitacaoDocumentosVM>()
            };
            if (DocumentoID != null)
            {
                for (int i = 0; i < DocumentoID.Length; i++)
                {
                    SolicitacaoDocumentosVM solicitacaoDocumentosvm = new SolicitacaoDocumentosVM()
                    {
                        ID        = DocumentoID[i],
                        Documento = NomeDocumento[i],
                        ArquivoID = ArquivoID[i]
                    };
                    model.SolicitacaoFornecedor.Documentos.Add(solicitacaoDocumentosvm);
                }
            }

            ModelState.Remove("SolicitacaoFornecedor.Assunto");
            ModelState.Remove("SolicitacaoFornecedor.DescricaoSolicitacao");

            if (ModelState.IsValid)
            {
                try
                {
                    WFD_CONTRATANTE_PJPF fornecedor = Db.WFD_CONTRATANTE_PJPF.Include("Fornecedor")
                                                      .Include("WFD_PJPF_CATEGORIA")
                                                      .FirstOrDefault(f => f.PJPF_ID == model.ID && f.CONTRATANTE_ID == model.ContratanteFornecedorID);
                    string codigoCategoria         = fornecedor.WFD_PJPF_CATEGORIA.CODIGO;
                    FORNECEDOR_CATEGORIA categoria = Db.WFD_PJPF_CATEGORIA.FirstOrDefault(c => c.CONTRATANTE_ID == Empresa && c.CODIGO == codigoCategoria);

                    SOLICITACAO solicitacao = new SOLICITACAO();
                    PopularSolicitacaoEmAprovacao(Empresa, model.ID, usuarioId, FluxoID, solicitacao);

                    Db.Entry(solicitacao).State = EntityState.Added;
                    Db.SaveChanges();

                    SolicitacaoCadastroFornecedor solforn = new SolicitacaoCadastroFornecedor
                    {
                        SOLICITACAO_ID         = solicitacao.ID,
                        EhExpansao             = true,
                        EXPANSAO_PARA_CONTR_ID = Empresa,
                        CATEGORIA_ID           = categoria.ID,
                        ORG_COMPRAS_ID         = Organizacao
                    };

                    for (int i = 0; i < BancoID.Length; i++)
                    {
                        solforn.WFD_SOLICITACAO.SolicitacaoModificacaoDadosBancario.Add(
                            new SolicitacaoModificacaoDadosBancario()
                        {
                            BANCO_PJPF_ID = BancoID[i] != 0 ? (int?)BancoID[i] : null,
                            BANCO_ID      = (Banco[i] != 0) ? Banco[i] : 0,
                            AGENCIA       = (string.IsNullOrEmpty(Agencia[i]) || String.IsNullOrWhiteSpace(Agencia[i])) ? null : Agencia[i],
                            AG_DV         = (string.IsNullOrEmpty(Digito[i]) || String.IsNullOrWhiteSpace(Digito[i])) ? null : Digito[i],
                            CONTA         = (string.IsNullOrEmpty(ContaCorrente[i]) || String.IsNullOrWhiteSpace(ContaCorrente[i])) ? null : ContaCorrente[i],
                            CONTA_DV      = (string.IsNullOrEmpty(ContaCorrenteDigito[i]) || String.IsNullOrWhiteSpace(ContaCorrenteDigito[i])) ? null : ContaCorrenteDigito[i]
                        });
                    }
                    for (int i = 0; i < ContatoID.Length; i++)
                    {
                        if (ContatoID[i] == UsarContato)
                        {
                            solforn.WFD_SOLICITACAO.SolicitacaoModificacaoDadosContato.Add(new SolicitacaoModificacaoDadosContato
                            {
                                EMAIL    = Email[i],
                                NOME     = NomeContato[i],
                                TELEFONE = Mascara.RemoverMascaraTelefone(Telefone[i]),
                                CELULAR  = Celular[i]
                            });
                        }
                    }

                    solforn.OBSERVACAO = model.Observacao;

                    Db.Entry(solforn).State = EntityState.Added;
                    Db.SaveChanges();

                    _tramite.AtualizarTramite(Empresa, solicitacao.ID, FluxoID, 1, 2, null);

                    return(RedirectToAction("FornecedoresLst", "Fornecedores", new { MensagemSucesso = string.Format("Solicitação {0} de Expansão realizado com Sucesso!", solicitacao.ID) }));
                }
                catch (Exception ex)
                {
                    Log.Error(ex);
                }
            }

            return(View(model));
        }
Example #9
0
        public void SolicitacaoParaFornecedor(int idSolicitacaoCadastro)
        {
            var solicitacaoCadastro = _solicitacaoCadastroFornecedorRepository.Buscar(x => x.ID == idSolicitacaoCadastro);

            #region Fornecedor e Robô
            Fornecedor fornecedor = new Fornecedor
            {
                TIPO_PJPF_ID    = 2,                           //Fornecedor
                ROBO_ID         = solicitacaoCadastro.ROBO_ID, //Seguir o Robo
                CONTRATANTE_ID  = solicitacaoCadastro.WFD_SOLICITACAO.CONTRATANTE_ID,
                RAZAO_SOCIAL    = solicitacaoCadastro.RAZAO_SOCIAL,
                CNPJ            = solicitacaoCadastro.CNPJ,
                CPF             = solicitacaoCadastro.CPF,
                ATIVO           = true,
                NOME            = solicitacaoCadastro.NOME,
                NOME_FANTASIA   = solicitacaoCadastro.NOME_FANTASIA,
                CNAE            = solicitacaoCadastro.CNAE,
                INSCR_ESTADUAL  = solicitacaoCadastro.INSCR_ESTADUAL,
                INSCR_MUNICIPAL = solicitacaoCadastro.INSCR_MUNICIPAL,
                ENDERECO        = solicitacaoCadastro.ENDERECO,
                NUMERO          = solicitacaoCadastro.NUMERO,
                COMPLEMENTO     = solicitacaoCadastro.COMPLEMENTO,
                CEP             = solicitacaoCadastro.CEP,
                BAIRRO          = solicitacaoCadastro.BAIRRO,
                CIDADE          = solicitacaoCadastro.CIDADE,
                UF            = solicitacaoCadastro.UF,
                PAIS          = solicitacaoCadastro.PAIS,
                DT_NASCIMENTO = solicitacaoCadastro.DT_NASCIMENTO,
                //TELEFONE = "",
                //EMAIL = "",
                //RF_SIT_CADASTRAL_CNPJ = "",
                //IBGE_COD = "",
                //SINT_IE_COD = ,
                //SINT_IE_SITU_CADASTRAL = ,
                //SIMPLES_NACIONAL_SITUACAO = ,
                //SUFRAMA_SIT_CADASTRAL = ,
                //SUFRAMA_INSCRICAO = ,
                //SITUACAO_ID =  ,
                //RF_SIT_CADASTRAL_CNPJ_DT = ,
                //RF_CONSULTA_DTHR = ,
                //SINT_DTHR_CONSULTA =  ,
                //SINT_IE_SITU_CADASTRAL_DT = ,
                //SUFRAMA_SIT_CADASTRAL_VALIDADE = ,
                //DT_ATUALIZACAO_UNSPSC = ,
            };
            #endregion

            #region ContratanteFornecedor
            WFD_CONTRATANTE_PJPF contratanteFornecedor = new WFD_CONTRATANTE_PJPF()
            {
                CONTRATANTE_ID  = solicitacaoCadastro.WFD_SOLICITACAO.CONTRATANTE_ID,
                PJPF_ID         = fornecedor.ID,
                TP_PJPF         = 2,
                PJPF_COD_ERP    = "FRN01",
                CATEGORIA_ID    = solicitacaoCadastro.CATEGORIA_ID,
                CRIA_USUARIO_ID = solicitacaoCadastro.WFD_SOLICITACAO.USUARIO_ID,
                PJPF_STATUS_ID  = 1,
                CRIA_DT         = DateTime.Now,
                PJPF_STATUS_DT  = DateTime.Now,
                //PJPF_STATUS_TP_SOL = ,
                //PJPF_STATUS_ID_SOL = ,
            };
            #endregion
            fornecedor.WFD_CONTRATANTE_PJPF.Add(contratanteFornecedor);

            _fornecedorRepository.Inserir(fornecedor);
        }