public static void BindOptions <T>(this BaseReferenceData referenceData, Expression <Func <T, object> > property, IList <ReferenceData> items) where T : class { List <SelectListItem> selectListItems = new List <SelectListItem>(); if (items != null) { foreach (ReferenceData currentItem in items) { selectListItems.Add(new SelectListItem { Text = currentItem.Description, Value = currentItem.Id }); } } referenceData.BindOptions <T>(property, selectListItems); }
public BaseReferenceData CreateReferenceData() { BaseReferenceData referenceData = new BaseReferenceData(); referenceData.BindOptions <BicycleQuote>(m => m.Question.BikeDetails.Type, ReferenceDataService.GetBicycleTypes()); referenceData.BindOptions <BicycleQuote>(v => v.PolicyDetail.Contact.DateOfBirth, DateReferenceData.CreateRestrictedAgeDate()); List <SelectListItem> paymentMethods = new List <SelectListItem> { new SelectListItem { Value = "1", Text = "Credit Card" } }; List <SelectListItem> paymentFrequency = new List <SelectListItem> { new SelectListItem { Value = "1", Text = "Annual" } }; referenceData.BindOptions <BicycleQuote>(p => p.PolicyPayment.PaymentDetails.PaymentMethod, paymentMethods); referenceData.BindOptions <BicycleQuote>(p => p.PolicyPayment.PaymentDetails.PaymentFrequency, paymentFrequency); return(referenceData); }