public async Task <string> GetTruDatPremium(PremiumSprocParameters psp) { string ret = string.Empty; try { var returnPost = await asyncRestClientQALib.PostAsync <string, PremiumSprocParameters>($"/TruDatCalculate/TruDatCalculates/TruDatPremium", psp).ConfigureAwait(false); ret = returnPost?.Value; } catch (Exception ex) { BillingTestCommon.log.Fatal(ex); } return(ret); }
public async Task <decimal> GetPremium(EnrollmentParameters iep) { decimal ret = 0; PremiumSprocParameters psp = new PremiumSprocParameters(); List <PetParameters> pets = (List <PetParameters>)iep.Pets; try { psp.AgeId = (int)pets[0].AgeId; psp.BreedId = pets[0].BreedId; psp.ClinicId = pets[0].HospitalId == null ? 0 : (int)pets[0].HospitalId; psp.CountryId = 0; psp.Deductible = pets[0].Deductible; psp.Gender = pets[0].Gender == LegacyPlatform.Constants.Gender.Male ? 'M' : 'F'; psp.IsRenewal = false; psp.PetFoodId = 0; psp.PolicyVersionId = int.Parse(await GetPolicyVersionForState(iep.StateId)); psp.PromoCode = pets[0].PromoCode; if (pets[0].Riders?.Count > 0) { foreach (SelectedPolicyOption r in pets[0].Riders) { psp.SelectedPolicyOptions += $"{r.Name} "; ret += r.Cost; } } psp.SpayedNeuteredStatus = pets[0].SpayedNeutered ? 1 : 0; psp.SpecieId = (int)pets[0].Species; psp.UserId = 0; psp.VersionId = int.Parse(await new QALibRestClient().GetEnginVersionForState(iep.StateId)); psp.WorkingPets = (pets[0].IsWorkingPet ? 1 : 0).ToString(); psp.Zipcode = iep.PostalCode; var dec = await GetTruDatPremium(psp); ret += System.Math.Round(decimal.Parse(dec), 2); } catch (Exception ex) { BillingTestCommon.log.Fatal(ex); ret = 0; } return(ret); }