public ActionResult PhysicianTestReview(PhysicianTestReviewListModelFilter filter = null, int pageNumber = 1) { var filterValidator = IoC.Resolve <PhysicianTestReviewListModelFilterValidator>(); var result = filterValidator.Validate(filter); if (result.IsValid) { int totalRecords = 0; var model = _physicianEvaluationService.GetPhysicianTestReview(pageNumber, _pageSize, filter, out totalRecords); if (model == null) { model = new PhysicianTestReviewListModel(); } model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.EventId, filter.FromDate, filter.ToDate, filter.DateType, filter.PhysicianId, filter.PodId, filter.IsRetailEvent, filter.IsCorporateEvent, filter.IsPublicEvent, filter.IsPrivateEvent }); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); return(View(model)); } var propertyNames = result.Errors.Select(e => e.PropertyName).Distinct(); var htmlString = propertyNames.Aggregate("", (current, property) => current + (result.Errors.Where(e => e.PropertyName == property).FirstOrDefault().ErrorMessage + "<br />")); return(View(new PhysicianTestReviewListModel { Filter = filter, FeedbackMessage = FeedbackMessageModel.CreateFailureMessage(htmlString) })); }
public PhysicianTestReviewListModel Create(IEnumerable <long> physicianIds, IEnumerable <OrderedPair <long, string> > physiciansIdNamePair, IEnumerable <PhysicianTestReviewStats> physicianTestReviewStatses) { var model = new PhysicianTestReviewListModel(); var physicianTestReviews = new List <PhysicianTestReviewViewModel>(); physicianIds.ToList().ForEach(pid => { var physicianName = physiciansIdNamePair.Where(p => p.FirstValue == pid).First().SecondValue; var testCountPairs = physicianTestReviewStatses.Where(ptrs => ptrs.PhysicianId == pid).First().TestCountPairs; physicianTestReviews.Add(new PhysicianTestReviewViewModel { PhysicianId = pid, PhysicianName = physicianName, TestIdCountPairs = testCountPairs }); }); model.Collection = physicianTestReviews; return(model); }