public HospitalFacilityListModel Create(IEnumerable <HospitalFacility> hospitalFacilities, OrganizationListModel orgListModel, IEnumerable <OrderedPair <long, string> > contracts, IEnumerable <OrderedPair <long, long> > hospitalPartnerIdHospitalFacilityIdPairs) { var model = new HospitalFacilityListModel(); var basicModels = new HospitalFacilityViewModel[hospitalFacilities.Count()]; var index = 0; foreach (var hospitalFacility in hospitalFacilities) { long parentHospitalPartnerId = 0; if (hospitalPartnerIdHospitalFacilityIdPairs != null && hospitalPartnerIdHospitalFacilityIdPairs.Any()) { parentHospitalPartnerId = hospitalPartnerIdHospitalFacilityIdPairs.Where(hphf => hphf.SecondValue == hospitalFacility.Id).Select(hphf => hphf.FirstValue).SingleOrDefault(); } basicModels[index++] = new HospitalFacilityViewModel() { Contract = contracts.Where(c => c.FirstValue == hospitalFacility.Id).Select(c => c.SecondValue).FirstOrDefault(), OrganizationBasicInfoModel = orgListModel.Organizations.FirstOrDefault(o => o.Id == hospitalFacility.Id), ParentHospitalPartner = parentHospitalPartnerId > 0 ? orgListModel.Organizations.First(o => o.Id == parentHospitalPartnerId).Name : string.Empty }; } model.HospitalFacilities = basicModels; return(model); }
public ActionResult Index(HospitalFacilityListModelFilter filter, int pageNumber = 1) { int totalRecords; var model = _organizationService.GetHospitalFacilityListModel(pageNumber, _pageSize, filter, out totalRecords); if (model == null) { model = new HospitalFacilityListModel(); } model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.Name, filter.ParentHospitalPartnerId }); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); return(View(model)); }