コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }