public int AddClaim(TPAClaim claim, ClaimServiceType[] servicesIds, int[] symptomsIds)
        {
            int claimId = AddClaim(claim);

            AddClaimServices(claimId, servicesIds);
            AddClaimSymptoms(claimId, symptomsIds);
            return(claimId);
        }
        public int AddClaim(TPAClaim claim)
        {
            var obj = new
            {
                Action_Type = 101, // TODO: not sure if this is correct
                //ID = claim.ID,
                ClaimNo             = claim.ClaimNo,
                PlanID              = claim.PlanID,
                PolicyCode          = claim.PolicyCode,
                CompanyID           = claim.CompanyID,
                CompanyName         = claim.CompanyName,
                PolicyHolderID      = claim.PolicyHolderID,
                TerritoryID         = claim.TerritoryID,
                ProviderID          = claim.ProviderID,
                VisitTypeID         = claim.VisitTypeID,
                VisitDate           = DateTime.Now, // TODO: need to pass correct value
                DoctorSpecialityID  = claim.DoctorSpecialityID,
                ProviderNotes       = claim.ProviderNotes,
                AuditorNotes        = claim.AuditorNotes,
                StatusID            = claim.StatusID,
                CreatedOn           = DateTime.Now, // TODO: need to pass correct value
                CreatedBy           = claim.CreatedBy,
                UpdatedOn           = DateTime.Now, // TODO: need to pass correct value
                UpdatedBy           = claim.UpdatedBy,
                EntryDate           = DateTime.Now, // TODO: need to pass correct value
                ConfinementType     = claim.ConfinementType,
                AdmissionDate       = DateTime.Now, // TODO: need to pass correct value
                ExitDate            = DateTime.Now, // TODO: need to pass correct value
                InvoiceNumber       = claim.InvoiceNumber,
                AdditionalInfo      = claim.AdditionalInfo,
                PaymentBy           = claim.PaymentBy,
                PaymentType         = claim.PaymentType,
                ClaimType           = claim.ClaimType,
                TotalReservedAmount = claim.TotalReservedAmount,
                TotalAmountToBePaid = claim.TotalAmountToBePaid,
                AttachmentId        = claim.AttachmentId
            };
            DynamicParameters dynamicParameters = new DynamicParameters(obj);

            dynamicParameters.Add("@ID", dbType: DbType.Int32, direction: ParameterDirection.Output);
            return(QueryExecutor.ExecuteWithReturnValue <int>(StoreProcedures.usp_SaveUpdateClaim.ToString(), "ID", dynamicParameters, CommandType.StoredProcedure));
        }