예제 #1
0
        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;
예제 #3
0
        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);
            }
        }