Advertisement
Guest User

Untitled

a guest
Jul 18th, 2012
783
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. How to pass an entire Model to PagedListPager
  2. @Html.PagedListPager(Model.SearchResults,
  3. Page => Url.Action("Index", new RouteValueDictionary() {
  4. { "Page", Page },
  5. { "blah", Model.blah },
  6. { "blah1", Model.blah1 },
  7. { "blah2", Model.blah2 },
  8. { "blah3", Model.blah3 },
  9. { "blah4", Model.blah4 }
  10. }),
  11. PagedListRenderOptions.PageNumbersOnly)
  12.  
  13. namespace search.Views.Property
  14. {
  15. public class PropertyController : AsyncController
  16. {
  17. ICamaService _service = null;
  18.  
  19. [Inject]
  20. public PropertyController(ICamaService service)
  21. {
  22. _service = service;
  23. }
  24.  
  25.  
  26. public ActionResult Results(SearchViewModel Model, int? page, int? size)
  27. {
  28.  
  29. if (Model == null)
  30. {
  31. Model = new SearchViewModel();
  32. }
  33.  
  34. TryUpdateModel(Model);
  35.  
  36.  
  37.  
  38.  
  39.  
  40. var results = _service.GetProperties();
  41.  
  42.  
  43. var yearBuiltFrom = Model.YearBuiltFrom ?? 1800;
  44. var yearBuiltTo = Model.YearBuiltTo ?? 9999;
  45.  
  46. var SqFtFrom = Model.SqftFrom ?? 0;
  47. var SqFtTo = Model.SqftTo ?? 1000000000;
  48.  
  49.  
  50. var SaleAmountFrom = Model.SaleAmountFrom ?? 0;
  51. var SaleAmountTo = Model.SaleAmountTo ?? 1000000000;
  52.  
  53. var SalesFrom = Model.SalesFrom ?? new DateTime(1800, 1, 1);
  54. var SalesTo = Model.SalesTo ?? new DateTime(9999, 12, 31);
  55.  
  56. var LandAreaFrom = Model.LandAreaFrom ?? 0;
  57. var LandAreaTo = Model.LandAreaTo ?? 1000000000;
  58.  
  59.  
  60.  
  61. //filter results here
  62.  
  63.  
  64.  
  65.  
  66. results = results.Distinct().OrderBy(x => x.STRAP);
  67.  
  68. var searchResults = results.ToPagedList(page ?? 1, size ?? 10);
  69.  
  70.  
  71. if (searchResults.Count() == 1)
  72. {
  73. var strap = searchResults.FirstOrDefault().STRAP;
  74.  
  75. return RedirectToRoute("Details", new { id = strap });
  76. }
  77. else
  78. {
  79. return View(searchResults);
  80. }
  81.  
  82. }
  83.  
  84.  
  85. public ActionResult Search()
  86. {
  87. var Model = new SearchViewModel();
  88.  
  89.  
  90. Model.WaterfrontOptions = new MultiSelectList(new Dictionary<String,String> {
  91. ... },"Value","Key");
  92.  
  93.  
  94. Model.ZipCodeOptions = new MultiSelectList(new Dictionary<String, String>{
  95. ...
  96. }, "Value", "Key");
  97.  
  98. //TODO: Generate various list of values!
  99. //Model.ZipCodeOptions = ne;
  100.  
  101. Model.PropertyFeatureOptions = new MultiSelectList(_service.GetLookupListExtraFeatures()
  102. , "Value", "Key");
  103.  
  104. return View(Model);
  105. }
  106.  
  107.  
  108. public ViewResult Details(string id)
  109. {
  110. var parcel = _service.GetProperty(id);
  111. //var delineated_district = ;
  112. var viewModel = new PropertyViewModel();
  113.  
  114. Mapper.Map(parcel, viewModel);
  115.  
  116. viewModel.NEXT_ID = _service.GetNextStrap(id);
  117. viewModel.PREV_ID = _service.GetPrevStrap(id);
  118.  
  119. //viewModel.SITUS = parcel.Buildings.Where(x => x.NUM == 1).FirstOrDefault().SITUS;
  120.  
  121. viewModel.DELINEATED_DISTRICT = _service.GetDelineatedDistrict(parcel);
  122.  
  123.  
  124. return View(viewModel);
  125. }
  126.  
  127.  
  128. public ViewResult Building(string id, string bldnum)
  129. {
  130. var building = (from c in _service.GetProperty(id).Buildings
  131. where c.NUM.ToString() == bldnum
  132. select c).FirstOrDefault();
  133.  
  134. var ViewModel = new BuildingViewModel();
  135.  
  136. Mapper.Map(building,ViewModel);
  137.  
  138. return View(ViewModel);
  139. }
  140.  
  141.  
  142. }
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement