Exemplo n.º 1
0
        /// <summary>
        /// Update Claim DeDucatble Data from Genius
        /// </summary>
        /// <param name="claimHeader">Claim Header</param>
        /// <param name="genericDataItems">Generic Data Items</param>
        /// <param name="policyRefData">Policy Ref Data</param>
        /// <param name="policyRefs">Policy Refs</param>
        private void UpdateClaimDeductibleData(ClaimHeader claimHeader, IEnumerable<IGenericDataItem> genericDataItems, ClaimGenericDataItem policyRefData, string[] policyRefs)
        {
           foreach (IGenericDataItem genericData in genericDataItems)
            {
                if (claimHeader.PolicyAmountCurrencyCodeField.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyAmountCurrencyCode = genericData.CurrencyCode;
                }

                if (genericData.CustomNumeric01 == 1 && claimHeader.PolicyDeductible01Field.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyDeductible01 = genericData.CustomNumeric02; // Deductible amount
                    claimHeader.IsDeductible01PaidByInsurer = genericData.CustomBoolean03; // Funded
                    claimHeader.CustomBoolean12 = genericData.CustomBoolean02; // Adjustable
                }
                else if (genericData.CustomNumeric01 == 2 && claimHeader.PolicyDeductible02Field.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyDeductible02 = genericData.CustomNumeric02; // Deductible amount
                    claimHeader.IsDeductible02PaidByInsurer = genericData.CustomBoolean03; // Funded
                    claimHeader.CustomBoolean12 = genericData.CustomBoolean02; // Adjustable
               }
                else if (genericData.CustomNumeric01 == 3 && claimHeader.PolicyDeductible03Field.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyDeductible03 = genericData.CustomNumeric02; // Deductible amount
                    claimHeader.IsDeductible03PaidByInsurer = genericData.CustomBoolean03; // Funded
                    claimHeader.CustomBoolean12 = genericData.CustomBoolean02; // Adjustable
               }
                else if (genericData.CustomNumeric01 == 4 && claimHeader.PolicyDeductible04Field.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyDeductible04 = genericData.CustomNumeric02; // Deductible amount
                    claimHeader.IsDeductible04PaidByInsurer = genericData.CustomBoolean03; // Funded
                    claimHeader.CustomBoolean12 = genericData.CustomBoolean02; // Adjustable
                }
                else if (genericData.CustomNumeric01 == 5 && claimHeader.PolicyDeductible05Field.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyDeductible05 = genericData.CustomNumeric02; // Deductible amount
                    claimHeader.IsDeductible05PaidByInsurer = genericData.CustomBoolean03;
                    claimHeader.CustomBoolean12 = genericData.CustomBoolean02; // Adjustable
                }

                // copy Policy refs
                if (policyRefData != null)
                {
                    if (genericData.CustomNumeric01 == 1)
                    {
                        policyRefData.CustomCode01 = genericData.CustomCode04;   // UI Label = Deductiple Type 1; GDT - AND4
                        if (genericData.CustomBoolean03.GetValueOrDefault(false) && genericData.CustomNumeric03 != null)
                        {
                            policyRefData.CustomReference01 = policyRefs[(int)genericData.CustomNumeric03 - 1];   // UI Label = Deductiple Pol Ref 1; GDT - AND4
                        }
                    }
                    else if (genericData.CustomNumeric01 == 2)
                    {
                        policyRefData.CustomCode02 = genericData.CustomCode04;   // UI Label = Deductiple Type 2; GDT - AND4
                        if (genericData.CustomBoolean03.GetValueOrDefault(false) && genericData.CustomNumeric03 != null)
                        {
                            policyRefData.CustomReference02 = policyRefs[(int)genericData.CustomNumeric03 - 1];   // UI Label = Deductiple Pol Ref 2; GDT - AND4
                        }
                    }
                    else if (genericData.CustomNumeric01 == 3)
                    {
                        policyRefData.CustomCode03 = genericData.CustomCode04;   // UI Label = Deductiple Type 3; GDT - AND4
                        if (genericData.CustomBoolean03.GetValueOrDefault(false) && genericData.CustomNumeric03 != null)
                        {
                            policyRefData.CustomReference03 = policyRefs[(int)genericData.CustomNumeric03 - 1];   // UI Label = Deductiple Pol Ref 3; GDT - AND4
                        }
                    }
                    else if (genericData.CustomNumeric01 == 4)
                    {
                        policyRefData.CustomCode04 = genericData.CustomCode04;   // UI Label = Deductiple Type 4; GDT - AND4
                        if (genericData.CustomBoolean03.GetValueOrDefault(false) && genericData.CustomNumeric03 != null)
                        {
                            policyRefData.CustomReference04 = policyRefs[(int)genericData.CustomNumeric03 - 1];   // UI Label = Deductiple Pol Ref 4; GDT - AND4
                        }
                    }
                    else if (genericData.CustomNumeric01 == 5)
                    {
                        policyRefData.CustomCode05 = genericData.CustomCode04;   // UI Label = Deductiple Type 5; GDT - AND4
                        if (genericData.CustomBoolean03.GetValueOrDefault(false) && genericData.CustomNumeric03 != null)
                        {
                            policyRefData.CustomReference05 = policyRefs[(int)genericData.CustomNumeric03 - 1];   // UI Label = Deductiple Pol Ref 5; GDT - AND4
                        }
                    }
                }
            }
        }
        private void UpdateClaimDeductibleData(ClaimHeader claimHeader, IEnumerable<IGenericDataItem> genericDataItems, ClaimGenericDataItem policyRefData, string[] policyRefs)
        {
            Logger.InfoFormat("Updating E&D data\r\n[\r\n\t{{ClaimReference:{0}}}\r\n]", claimHeader.ClaimReference);
            foreach (IGenericDataItem genericData in genericDataItems)
            {
                if (claimHeader.PolicyAmountCurrencyCodeField.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyAmountCurrencyCode = genericData.CurrencyCode;
                }

                if (genericData.CustomNumeric01 == 1 && claimHeader.PolicyDeductible01Field.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyDeductible01 = genericData.CustomNumeric02; // Deductible amount
                    claimHeader.IsDeductible01PaidByInsurer = genericData.CustomBoolean03; // Funded
                    claimHeader.CustomBoolean12 = genericData.CustomBoolean02; // Adjustable
                }
                else if (genericData.CustomNumeric01 == 2 && claimHeader.PolicyDeductible02Field.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyDeductible02 = genericData.CustomNumeric02; // Deductible amount
                    claimHeader.IsDeductible02PaidByInsurer = genericData.CustomBoolean03; // Funded
                    claimHeader.CustomBoolean12 = genericData.CustomBoolean02; // Adjustable
                }
                else if (genericData.CustomNumeric01 == 3 && claimHeader.PolicyDeductible03Field.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyDeductible03 = genericData.CustomNumeric02; // Deductible amount
                    claimHeader.IsDeductible03PaidByInsurer = genericData.CustomBoolean03; // Funded
                    claimHeader.CustomBoolean12 = genericData.CustomBoolean02; // Adjustable
                }
                else if (genericData.CustomNumeric01 == 4 && claimHeader.PolicyDeductible04Field.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyDeductible04 = genericData.CustomNumeric02; // Deductible amount
                    claimHeader.IsDeductible04PaidByInsurer = genericData.CustomBoolean03; // Funded
                    claimHeader.CustomBoolean12 = genericData.CustomBoolean02; // Adjustable
                }
                else if (genericData.CustomNumeric01 == 5 && claimHeader.PolicyDeductible05Field.IsInUse.GetValueOrDefault(false))
                {
                    claimHeader.PolicyDeductible05 = genericData.CustomNumeric02; // Deductible amount
                    claimHeader.IsDeductible05PaidByInsurer = genericData.CustomBoolean03;
                    claimHeader.CustomBoolean12 = genericData.CustomBoolean02; // Adjustable
                }

                // copy Policy refs
                if (policyRefData != null)
                {
                    if (genericData.CustomNumeric01 == 1)
                    {
                        policyRefData.CustomCode01 = genericData.CustomCode04;
                        if (genericData.CustomBoolean03.GetValueOrDefault(false) && genericData.CustomNumeric03 != null)
                        {
                            policyRefData.CustomReference01 = policyRefs[(int)genericData.CustomNumeric03 - 1];
                        }
                    }
                    else if (genericData.CustomNumeric01 == 2)
                    {
                        policyRefData.CustomCode02 = genericData.CustomCode04;
                        if (genericData.CustomBoolean03.GetValueOrDefault(false) && genericData.CustomNumeric03 != null)
                        {
                            policyRefData.CustomReference02 = policyRefs[(int)genericData.CustomNumeric03 - 1];
                        }
                    }
                    else if (genericData.CustomNumeric01 == 3)
                    {
                        policyRefData.CustomCode03 = genericData.CustomCode04;
                        if (genericData.CustomBoolean03.GetValueOrDefault(false) && genericData.CustomNumeric03 != null)
                        {
                            policyRefData.CustomReference03 = policyRefs[(int)genericData.CustomNumeric03 - 1];
                        }
                    }
                    else if (genericData.CustomNumeric01 == 4)
                    {
                        policyRefData.CustomCode04 = genericData.CustomCode04;
                        if (genericData.CustomBoolean03.GetValueOrDefault(false) && genericData.CustomNumeric03 != null)
                        {
                            policyRefData.CustomReference04 = policyRefs[(int)genericData.CustomNumeric03 - 1];
                        }
                    }
                    else if (genericData.CustomNumeric01 == 5)
                    {
                        policyRefData.CustomCode05 = genericData.CustomCode04;
                        if (genericData.CustomBoolean03.GetValueOrDefault(false) && genericData.CustomNumeric03 != null)
                        {
                            policyRefData.CustomReference05 = policyRefs[(int)genericData.CustomNumeric03 - 1];
                        }
                    }
                }
            }
        }