public APOLICE_PROCESSAMENTO_DADOS UpdatePolicyProcessData(string policyProposalIdentifier, int policyProcessIdentifier, EnumPolicyProcessDataStatus status, string errorCode = "", string errorDescription = "", decimal?endorsementValue = null) { var policyProcessData = Context.PolicyProcessData.FirstOrDefault(p => (p.DS_PROPOSTA == policyProposalIdentifier || p.DS_APOLICE == policyProposalIdentifier) && p.CD_APOLICE_PROCESSAMENTO == policyProcessIdentifier && p.NR_STATUS == EnumPolicyProcessDataStatus.PendingCancelationConfirmation.ToInt()); if (policyProcessData == null) { throw new Exception($"Não foi possível encontrar um registro na tabela APOLICE_PROCESSAMENTO_DADOS correspondente a DS_PROPOSTA/DS_APOLICE: {policyProposalIdentifier}"); } policyProcessData.NR_STATUS = status.ToInt(); if (!errorCode.isNullOrEmpty()) { policyProcessData.CD_ERRO = errorCode; } if (!errorDescription.isNullOrEmpty()) { policyProcessData.DS_ERRO = errorDescription; } if (endorsementValue != null) { policyProcessData.VL_PREMIO = endorsementValue.Value; } Context.PolicyProcessData.Update(policyProcessData); Context.SaveChanges(); return(policyProcessData); }
internal static int ToInt(this EnumPolicyProcessDataStatus policyProcessDataStatus) => (int)policyProcessDataStatus;
public APOLICE_PROCESSAMENTO_DADOS CreatePolicyProcessData(APOLICE_PROCESSAMENTO policyProcess, EnumProcessType processType, string dsProposal, string dsPolicy, string dsIdentifier, EnumPolicyProcessDataStatus policyProcessDataStatus = EnumPolicyProcessDataStatus.PendingProcess, string customerDocument = "", string vehicleChassi = "") { try { policyProcess.NR_REGISTROS++; var policyProcessData = new APOLICE_PROCESSAMENTO_DADOS { APOLICE_PROCESSAMENTO = policyProcess, DS_PROPOSTA = dsProposal, DS_APOLICE = dsPolicy, DS_CI = dsIdentifier, NR_TIPO_REGISTRO = processType.ToInt(), NR_STATUS = policyProcessDataStatus.ToInt(), NR_CNPJ_CPF = customerDocument, DS_CHASSI = vehicleChassi, DT_CRIACAO = DateTime.Now }; Context.PolicyProcessData.Add(policyProcessData); Context.SaveChanges(); Logs.Add($"Registro na tabela APOLICE_PROCESSAMENTO_DADOS criado. ID:{policyProcess.CD_APOLICE_PROCESSAMENTO}"); Logs.Add($"Campo NR_REGISTROS incrementado na tabela APOLICE_PROCESSAMENTO. ID:{policyProcess.CD_APOLICE_PROCESSAMENTO} NR_REGISTROS_ATUALIZADO:{policyProcess.NR_REGISTROS}"); return(policyProcessData); } catch (Exception ex) { Logs.Add($"[Exception] A aplicação gerou uma exceção não tratada ao tentar criar um registro na tabela APOLICE_PROCESSAMENTO_DADOS.", EnumLog.Error); Logs.Add($"- [ExceptionMessage] - {ex.Message}", EnumLog.Error); if (ex.InnerException != null) { Logs.Add($"- [InnerException] - {ex.InnerException.Message}", EnumLog.Error); } Logs.Add($"- [StackTrace] - {ex.StackTrace}", EnumLog.Error); return(null); } }