/// <summary> /// gets the plan corresponding to the plan selected and returns it /// </summary> /// <param name="identifier"></param> /// <returns></returns> public List <Service> ShowPlanDetails(string identifier) { var planToShow = Mgr.GetPlanByType(identifier); if (planToShow == null) { throw new NullReferenceException(); } return(planToShow.ServiceCosts); }
public InsurancePlan CurrentDetails() { if (!this.MultiplePlans) { return(Mgr.GetPlanByType(CurrentPlan.Type)); } else { return(null); } }
/// <summary> /// Pick a plan and attach it to an PrimaryEnrollee based on it's identifier /// </summary> /// <param name="type"></param> public int PickPlan(string type) { if (this.PrimaryEnrollee == null) { throw new ArgumentException("There is no enrollee"); } var planPicked = Mgr.GetPlanByType(type); if (planPicked != null) { var enrolleePlan = new EnrolleePlan(this.PrimaryEnrollee, planPicked); enrolleePlan.Plan = planPicked; enrolleePlan.PrimaryEnrollee = insertId; enrolleePlan.PlanNum = (int)Mgr.SaveEnrolleePlan(enrolleePlan); return(enrolleePlan.PlanNum); } else { throw new IndexOutOfRangeException(); } }
/// <summary> /// Gets the number percent, max pay, or copayment /// </summary> /// <param name="name"></param> /// <param name="type"></param> /// <param name="isPercent"></param> /// <param name="isMaxPay"></param> /// <returns></returns> public double GetNum(string name, string type, bool isPercent, bool isMaxPay) { var plan = Mgr.GetPlanByType(type); double retVal = 0; if (plan != null && !(isPercent && isMaxPay)) { switch (name) { case "Plan Year Max Benefit": retVal = plan.PYMB; break; case "Out of Pocket Maximum Per Enrollee": retVal = plan.OPMIndividual; break; case "Out of Pocket Maximum Per Family": retVal = plan.OPMFamily; break; case "Annual Plan Deductible": retVal = plan.APD; break; case "Primary Enrollee Fee": retVal = plan.PrimaryFee; break; case "Primary Enrollee Change Fee": retVal = plan.PrimaryChangeFee; break; case "Dependent Enrollee Fee": retVal = plan.DependentFee; break; case "Dependent Enrollee Change Fee": retVal = plan.DependentChangeFee; break; default: for (int i = 0; i < plan.ServiceCosts.Count(); i++) { if (plan.ServiceCosts[i].Name.Equals(name)) { if (isPercent) { retVal = plan.ServiceCosts[i].PercentCoverage; } else if (isMaxPay) { retVal = plan.ServiceCosts[i].InNetMax.Item1; } else { retVal = plan.ServiceCosts[i].RequiredCopayment; } } } break; } } return(retVal); }
/// <summary> /// Get one plan from Mgr /// </summary> /// <param name="name"></param> /// <returns></returns> public InsurancePlan GetPlan(String name) { return(Mgr.GetPlanByType(name)); }
/// <summary> /// Get the details of a plan that a user selected /// </summary> /// <param name="type">Selected plan</param> /// <returns></returns> public InsurancePlan PlanDetails(string type) { return(Mgr.GetPlanByType(type)); }