/// <summary> /// Inclusão de contratante Individual ou Fornecedor-Contratante /// </summary> public void IncluirFornecedorIndividual(AdesaoContratante contratante) { CONTRATANTE contratanteAncora = new CONTRATANTE(); contratanteAncora.TIPO_CADASTRO_ID = (int)EnumTiposFornecedor.EmpresaNacional; contratanteAncora.TIPO_CONTRATANTE_ID = (int)EnumTipoContratante.FornecedorIndividual; contratanteAncora.DATA_CADASTRO = DateTime.Now; contratanteAncora.DATA_NASCIMENTO = DateTime.Now; contratanteAncora.ATIVO = true; contratanteAncora.ATIVO_DT = DateTime.Now; //contratanteAncora.CNPJ = cnpj; //contratanteAncora.RAZAO_SOCIAL = razaoSocial; //contratanteAncora.NOME_FANTASIA = nomeFantasia; //contratanteAncora.COD_WEBFORMAT = codigoWebformat; //contratanteAncora.CONTRANTE_COD_ERP = codigoErp; contratanteAncora.ESTILO = "Azul"; _contratante.Inserir(contratanteAncora); var papeis = _papelRepository.BuscarPorContratanteIdETipoPapelId(1, 50); contratanteAncora.WFL_PAPEL.Add(new WFL_PAPEL { PAPEL_NM = papeis.PAPEL_NM, PAPEL_SGL = papeis.PAPEL_SGL, PAPEL_TP_ID = papeis.PAPEL_TP_ID }); contratanteAncora.WAC_PERFIL.Add(new Perfil { PERFIL_DSC = "Administrador do Sistema", PERFIL_NM = "Administrador" }); contratanteAncora.WAC_PERFIL.Add(new Perfil { PERFIL_DSC = "Usuário do Sistema", PERFIL_NM = "Usuário" }); }
private CONTRATANTE CriarContratante(string documento, SolicitacaoCadastroFornecedor solicitacaoCadastroFornecedor) { CONTRATANTE contratanteAncora = new CONTRATANTE() { TIPO_CADASTRO_ID = (int)EnumTiposFornecedor.EmpresaNacional, TIPO_CONTRATANTE_ID = (int)EnumTipoContratante.FornecedorIndividual, DATA_CADASTRO = DateTime.Now, DATA_NASCIMENTO = solicitacaoCadastroFornecedor.DT_NASCIMENTO, NOME_FANTASIA = solicitacaoCadastroFornecedor.NOME_FANTASIA, RAZAO_SOCIAL = solicitacaoCadastroFornecedor.RAZAO_SOCIAL, CNPJ = documento, ATIVO = true, ATIVO_DT = DateTime.Now, ESTILO = "Azul" }; var papel = _papelRepository.BuscarPorContratanteIdETipoPapelId(1, 50); contratanteAncora.WFL_PAPEL.Add(new WFL_PAPEL { PAPEL_NM = papel.PAPEL_NM, PAPEL_SGL = papel.PAPEL_SGL, PAPEL_TP_ID = papel.PAPEL_TP_ID }); contratanteAncora.WAC_PERFIL.Add(new Domain.Models.Perfil { PERFIL_DSC = "Administrador do Sistema", PERFIL_NM = "Administrador" }); contratanteAncora.WAC_PERFIL.Add(new Domain.Models.Perfil { PERFIL_DSC = "Usuário do Sistema", PERFIL_NM = "Usuário" }); return(contratanteAncora); }
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); }
/* * 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); }
/// <summary> /// CN.02 Pré - Configurar a Aplicação (Contratante) /// Os valores das tabelas abaixo são definidos pelo CONTRATANTE e devem ser especificadas nas implantações. /// Estes valores determinarão como a aplicação funcionará conforme as regras parametrizadas pelo Contratado. /// </summary> public void IncluirContratanteAncora(AdesaoContratante contratante) { //Incluir Contratante CONTRATANTE ancora = new CONTRATANTE(); ancora.TIPO_CADASTRO_ID = (int)contratante.TipoEmpresa; ancora.TIPO_CONTRATANTE_ID = (int)contratante.TipoContratante; ancora.DATA_CADASTRO = DateTime.Now; ancora.ATIVO = true; ancora.ATIVO_DT = DateTime.Now; ancora.CNPJ = contratante.Documento; ancora.RAZAO_SOCIAL = contratante.RazaoSocial; ancora.NOME_FANTASIA = contratante.NomeFantasia; ancora.COD_WEBFORMAT = contratante.CodigoWebformat; ancora.CONTRANTE_COD_ERP = contratante.CodigoErp; ancora.ESTILO = contratante.CodigoErp; //• WFD_CONTRATANTE_CONFIG - Define dados particulares do contratante(Manualmente) CONTRATANTE_CONFIGURACAO config = _contratanteConfig.BuscarPorId(1); ancora.WFD_CONTRATANTE_CONFIG = new CONTRATANTE_CONFIGURACAO() { SOLICITA_DOCS = config.SOLICITA_DOCS, SOLICITA_FICHA_CAD = config.SOLICITA_FICHA_CAD, LOGOTIPO = config.LOGOTIPO, TERMO_ACEITE = config.TERMO_ACEITE, ROBO_CICLO_ATU = config.ROBO_CICLO_ATU, ROBO_DT_PROX_EXEC = config.ROBO_DT_PROX_EXEC, BLOQUEIO_MANUAL = config.BLOQUEIO_MANUAL, BLOQUIEO_MANUAL_PRAZO = config.BLOQUIEO_MANUAL_PRAZO, TOTAL_TENTATIVA_ROBO = config.TOTAL_TENTATIVA_ROBO, NIVEIS_CATEGORIA = config.NIVEIS_CATEGORIA, QTD_ROBO_SIMULTANEA = config.QTD_ROBO_SIMULTANEA, PRAZO_ENTREGA_FICHA = config.PRAZO_ENTREGA_FICHA, FORNECEDOR_CARGA = config.FORNECEDOR_CARGA, FORNECEDOR_RETORNO = config.FORNECEDOR_RETORNO, CLIENTE_CARGA = config.CLIENTE_CARGA, CLIENTE_RETORNO = config.CLIENTE_RETORNO, CONTRATANTE_ID = 0 }; //• WFD_CONTRATANTE_CONFIG_EMAIL - Define os emails que o contratante envia (Manualmente) var contratanteConfiguracaoEmails = _contratanteConfigEmail.ListarTodosPorIdContratante(1); contratanteConfiguracaoEmails.ForEach(x => { ancora.WFD_CONTRATANTE_CONFIG_EMAIL.Add( new CONTRATANTE_CONFIGURACAO_EMAIL { ASSUNTO = x.ASSUNTO, CORPO = x.CORPO, EMAIL_TP_ID = x.EMAIL_TP_ID }); }); //• WFD_CONTRATANTE_FUNCAO - Define quais funções o contratante tem acesso.Se o contratante não for associado a uma função nesta tabela, // esta função não parecerá na tela de cadastro de novos perfis. (Manualmente) List <FUNCAO> funcao = _funcao.Listar().Where(x => x.ID == 7 || x.FUNCAO_PAI == 7).ToList(); ancora.WAC_FUNCAO = funcao; //• WFD_CONTRATANTE_LOG – Não é usado //• WFD_CONTRATANTE_ORG_COMPRAS – Define as organizações de compras que um contratante pode ter. //é necessário ao menos uma organização(Manualmente). var organizacoesDeCompras = _contratanteOrgCompras.ListarTodosPorIdContratante(1); organizacoesDeCompras.ForEach(x => { ancora.WFD_CONTRATANTE_ORG_COMPRAS.Add( new CONTRATANTE_ORGANIZACAO_COMPRAS { ORG_COMPRAS_COD = x.ORG_COMPRAS_COD, ORG_COMPRAS_DSC = x.ORG_COMPRAS_DSC }); }); //• WFD_TIPO_DOCUMENTOS – Grupo de documentos que o contratante e o fornecedor irão usar para armazenar seus arquivos. //Inicialmente será populada com a tabela WFD_TIPO_DOCUMENTOS_CH Manualmente. var tipoDocumentos = _tipoDocumentoRepository.Listar(x => x.Valido(x) && x.CONTRATANTE_ID == 1, e => e.DESCRICAO).ToList(); tipoDocumentos.ForEach(x => { ancora.WFD_TIPO_DOCUMENTOS.Add( new TIPO_DOCUMENTOS { ATIVO = x.ATIVO, DESCRICAO = x.DESCRICAO, TIPO_DOCUMENTOS_CH_ID = x.TIPO_DOCUMENTOS_CH_ID, }); }); //• WFD_DESCRICAO_DOCUMENTOS – São os documentos do grupo de documentos que o contratante e o fornecedor usarão //para armazenar seus arquivos.Inicialmente será populada com a tabela WFD_DESCRICAO_DOCUMENTOS_CH Manualmente. var descricaoDocumentos = _descricaoDocumentoRepository.Listar(e => e.ATIVO && e.CONTRATANTE_ID == 1).ToList(); descricaoDocumentos.ForEach(x => { ancora.WFD_DESCRICAO_DOCUMENTOS.Add( new WFD_DESCRICAO_DOCUMENTOS { ATIVO = x.ATIVO, DESCRICAO = x.DESCRICAO, DESCRICAO_DOCUMENTOS_CH_ID = x.DESCRICAO_DOCUMENTOS_CH_ID, TIPO_DOCUMENTOS_ID = x.TIPO_DOCUMENTOS_ID }); }); //• WFD_GRUPO – Define o grupo de empresas que o contratante faz parte. //Se o contratante não tive grupo é necessário criar ao menos um grupo pra ele. (Manualmente) //• WFD_GRUPO_CONTRATANTE – Associa os contratantes ao grupo de empresa. var grupos = _grupoRepository.BuscarPorId(1); ancora.WFD_GRUPO.Add(new GRUPO { GRUPO_NM = contratante.Grupo }); //• WFD_PJPF_CATEGORIA – Inicialmente serão as categorias armazenadas na tabela WFD_PJPF_CATEGORIA_CH (Manualmente). var categorias = _categoriaFornecedorRepository.ListarPorContratanteId(1); categorias.ForEach(x => { ancora.WFD_PJPF_CATEGORIA.Add(new FORNECEDOR_CATEGORIA { ATIVO = x.ATIVO, CATEGORIA_PAI_ID = x.CATEGORIA_PAI_ID, CODIGO = x.CODIGO, DESCRICAO = x.DESCRICAO, ISENTO_CONTATOS = x.ISENTO_CONTATOS, ISENTO_DADOSBANCARIOS = x.ISENTO_DADOSBANCARIOS, ISENTO_DOCUMENTOS = x.ISENTO_DOCUMENTOS, PJPF_CATEGORIA_CH_ID = x.PJPF_CATEGORIA_CH_ID, QIC_QUESTIONARIO_CATEGORIA = x.QIC_QUESTIONARIO_CATEGORIA }); }); //• WFD_USUARIO – Necessário criar um usuário Administrador Manualmente para o novo contratante. ancora.WFD_USUARIO.Add(new Domain.Models.USUARIO { ATIVO = true, CONTA_TENTATIVA = 0, DAT_NASCIMENTO = DateTime.Now, DT_CRIACAO = DateTime.Now, EXPIRA_EM_DIAS = 0, PRIMEIRO_ACESSO = true, CPF_CNPJ = contratante.UsuarioAdministrador.Documento, PRINCIPAL = contratante.UsuarioAdministrador.Administrador, CARGO = contratante.UsuarioAdministrador.Cargo, EMAIL = contratante.UsuarioAdministrador.Email, LOGIN = contratante.UsuarioAdministrador.Login, SENHA = "1000:GOVDjUgvS4PqbgHkr6Q3uRmFXy5EFPD5:V+GLrEZIIoGcY1h0gwFMVR+AiPdcSHy9", NOME = contratante.UsuarioAdministrador.Nome, }); //• WFL_FLUXO – Define todos os fluxos que o contratante âncora terá no sistema. //Inicialmente copiar os fluxos do contratante CH manualmente. var fluxos = _fluxo.BuscarPorContratanteId(1); fluxos.ForEach(x => { ancora.WFL_FLUXO.Add(new FLUXO { FLUXO_NM = x.FLUXO_NM, CONTRATANTE_ID = x.CONTRATANTE_ID, APLICACAO_ID = x.APLICACAO_ID, PAPEL_INI_FLUXO = x.PAPEL_INI_FLUXO, FLUXO_TP_ID = x.FLUXO_TP_ID }); }); //• WFL_FLUXO_SEQ_PRE_REQUIS – por enquanto não é usado. //• WFL_USUARIO_PAPEL – Associar o usuário Administrador aos papeis necessários ou a todos. var papeis = _papelRepository.ListarPorContratanteId(1); papeis.ForEach(x => { ancora.WFL_PAPEL.Add(new WFL_PAPEL { PAPEL_NM = x.PAPEL_NM, PAPEL_SGL = x.PAPEL_SGL, PAPEL_TP_ID = 50 }); }); //• WAC_PERFIL - É preciso criar um perfil Administrador Inicial (Manualmente) var perfis = _perfilRepository.ListarPorContratanteId(1); perfis.ForEach(x => { ancora.WAC_PERFIL.Add(new Perfil { PERFIL_DSC = x.PERFIL_DSC, PERFIL_NM = x.PERFIL_NM }); }); //• WFD_CONTRATANTE - Necessário Criar o Contratante(Manualmente) _contratante.Inserir(ancora); _unitOfWok.Finalizar(); //• WFL_FLUXO_SEQUENCIA – Define a sequência que cada Fluxo irá seguir no workflow. //Inicialmente copiar do contratante CH Manualmente. var fluxosContratantenovo = _fluxo.BuscarPorContratanteId(ancora.ID); fluxosContratantenovo.ForEach(y => { var fluxoSequenciais = _fluxoSequencia.ListarPorContratanteIdEFluxoTipoId(1, y.FLUXO_TP_ID); fluxoSequenciais.ForEach(x => { ancora.WFL_FLUXO_SEQUENCIA.Add(new FLUXO_SEQUENCIA { CONTRATANTE_ID = ancora.ID, FLUXO_ID = y.ID, SEQUENCIA = x.SEQUENCIA, PAPEL_ID_INI = x.PAPEL_ID_INI, PAPEL_ID_FIM = x.PAPEL_ID_FIM, FLUXO_ETAPA_NM = x.FLUXO_ETAPA_NM, FLUXO_ETAPA_DSC = x.FLUXO_ETAPA_DSC, FLUXO_SEQ_ANTERIOR = x.FLUXO_SEQ_ANTERIOR, GRUPO_ORIGEM = x.GRUPO_ORIGEM, GRUPO_DESTINO = x.GRUPO_DESTINO, EXECUCAO_MANUAL = x.EXECUCAO_MANUAL, APROV_SEM_ROBO = x.APROV_SEM_ROBO, BLOQ_INATIVO_RECEITA = x.BLOQ_INATIVO_RECEITA, }); }); }); //contratanteAncora.WFL_FLUXO_SEQUENCIA = fluxoSequenciais; _contratante.Alterar(ancora); _unitOfWok.Finalizar(); ancora.USUARIO_ID = ancora.WFD_USUARIO.FirstOrDefault().ID; _contratante.Alterar(ancora); _unitOfWok.Finalizar(); }