public ActionResult CreateAddress(string addyType, int churchId) { AddressInfoVm info = null; var partialView = string.Empty; switch (addyType.ToLower()) { case "address": info = new AddressVm(); partialView = "_Address.cshtml"; break; case "email": info = new EmailVm(); partialView = "_Email.cshtml"; break; case "phone": info = new PhoneVm(); partialView = "_Phone.cshtml"; break; } info.Id = new Random().Next(-100, -1); info.IdentityId = churchId; return(PartialView("/Views/Shared/AddressInfo/" + partialView, info)); }
private static PhoneListVm MapToPhoneListVm(this List <Phone> phones, List <KeyValuePair <int, string> > phoneTypes) { Func <Phone, bool> func = null; PhoneListVm phoneListVm = new PhoneListVm(); KeyValuePair <int, string> keyValuePair = phoneTypes.FirstOrDefault <KeyValuePair <int, string> >(); phoneListVm.AdditionalPhones = new List <PhoneVm>(); phoneListVm.DefaultPhoneTypeName = keyValuePair.Value; phoneListVm.DefaultPhoneTypeId = new long?((long)keyValuePair.Key); if (phones != null && phones.Any <Phone>()) { Phone listingTypePhone = phones.FirstOrDefault <Phone>((Phone p) => { long?phoneTypeId = p.PhoneTypeId; long key = (long)keyValuePair.Key; return(phoneTypeId.GetValueOrDefault() == key & phoneTypeId.HasValue); }); if (listingTypePhone != null) { phoneListVm.DefaultPhoneId = listingTypePhone.Id; phoneListVm.DefaultPhoneNumber = listingTypePhone.Number; } List <Phone> phones1 = phones; Func <Phone, bool> func1 = func; if (func1 == null) { Func <Phone, bool> func2 = (Phone m) => { long?id = m.Id; long?defaultPhoneId = phoneListVm.DefaultPhoneId; return(!(id.GetValueOrDefault() == defaultPhoneId.GetValueOrDefault() & id.HasValue == defaultPhoneId.HasValue)); }; Func <Phone, bool> func3 = func2; func = func2; func1 = func3; } foreach (Phone phone in phones1.Where <Phone>(func1)) { PhoneVm additionalPhone = new PhoneVm() { Id = phone.Id, PhoneTypeId = phone.PhoneTypeId, Number = phone.Number, PhoneTypes = phoneTypes.ToSelectListItemList(phone.PhoneTypeId) }; phoneListVm.AdditionalPhones.Add(additionalPhone); } } if (!phoneListVm.AdditionalPhones.Any <PhoneVm>()) { PhoneVm emptyAdditionalPhone = new PhoneVm() { PhoneTypes = phoneTypes.ToSelectListItemList() }; phoneListVm.AdditionalPhones.Add(emptyAdditionalPhone); } return(phoneListVm); }
public ActionResult AddPhone() { var model = new PhoneVm(AppCache.Instance); return(PartialView("_Phone", model)); }