Exemple #1
0
        public List <MedicalVendor> GetByFilter(int pageNumber, int pageSize, MedicalVendorListModelFilter filter, out int totalRecords)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var linqMetaData = new LinqMetaData(adapter);

                if (filter == null)
                {
                    totalRecords = linqMetaData.MedicalVendorProfile.Count();
                    return(_medicalVendorFactory.CreateMedicalVendors(linqMetaData.MedicalVendorProfile.TakePage(pageNumber, pageSize)));
                }

                var query = from mv in linqMetaData.MedicalVendorProfile
                            join o in linqMetaData.Organization on mv.OrganizationId equals o.OrganizationId
                            orderby o.Name
                            select new { mv, o };

                if (!string.IsNullOrEmpty(filter.Name))
                {
                    query = query.Where(q => q.o.Name.Contains(filter.Name));
                }

                totalRecords = query.Count();
                return(_medicalVendorFactory.CreateMedicalVendors(query.OrderBy(q => q.o.Name).TakePage(pageNumber, pageSize).Select(q => q.mv).ToArray()));
            }
        }
Exemple #2
0
        public ActionResult Index(MedicalVendorListModelFilter filter = null, int pageNumber = 1)
        {
            int totalRecords;
            var model = _organizationService.GetMedicalVendorlistModel(pageNumber, _pageSize, filter, out totalRecords);

            if (model == null)
            {
                model = new MedicalVendorListModel();
            }
            model.Filter = filter;

            var currentAction          = ControllerContext.RouteData.Values["action"].ToString();
            Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.Name });

            model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc);

            return(View(model));
        }
Exemple #3
0
        public MedicalVendorListModel GetMedicalVendorlistModel(int pageNumber, int pageSize, MedicalVendorListModelFilter filter, out int totalRecords)
        {
            var medicalVendors = _medicalVendorRepository.GetByFilter(pageNumber, pageSize, filter, out totalRecords);

            if (medicalVendors.IsNullOrEmpty())
            {
                return(null);
            }
            var organizationIds = medicalVendors.Select(mv => mv.Id).ToArray();
            var organizations   = _organizationRepository.GetOrganizations(organizationIds);
            var orgListModels   = GetOrganizationListModel(organizations);
            var contracts       = _medicalVendorRepository.GetAllContracts();

            return(_medicalVendorListModelFactory.Create(medicalVendors, orgListModels, contracts));
        }