public PartialViewResult DisplayFinishHistogram(SimpleFilterViewModel model) { var filter = new RaceFilterViewModel(model); var viewModel = GetEstimatedTime(filter); return(PartialView("_FinishHistogram", viewModel)); }
public ActionResult Compare(SimpleFilterViewModel model) { RaceFilterViewModel filter; //the following is a workaround for some flawed javascript that doesn't always pass the params we need if (String.IsNullOrEmpty(model.Races)) { var simple = SimpleFilterViewModel.Create(Request.UrlReferrer.Query); if (!String.IsNullOrEmpty(model.selectedAthletes)) { simple.selectedAthletes = model.selectedAthletes; return(RedirectToAction("Compare", simple)); } //this is to keep from a null exception filter = new RaceFilterViewModel(simple); } else { filter = new RaceFilterViewModel(model); } var viewmodel = new TriathletesCompareViewModel(); viewmodel.Filter = filter; //order them from fastest to slowest so the view can know who was first,second, last, etc. viewmodel.Triathletes = _DBContext.Triathletes.Include("RequestContext.Race").OrderBy(t => t.Finish) .Where(t => filter.SelectedAthleteIds.Contains(t.TriathleteId)); viewmodel.Stats = GetStats(viewmodel.Triathletes.ToList()); return(View("~/Views/Triathletes/Compare.cshtml", viewmodel)); }
//called from one controller to another public ActionResult ViewResults(SimpleFilterViewModel model) { CurrentFilter = model; //save for race sort var filter = new RaceFilterViewModel(model); return(DisplayResultsView(filter)); }
public PartialViewResult DisplaySwimTime(SimpleFilterViewModel model) { model.ClearDuration(); //we do this just in case they have values from the duration filters on the page var filter = new RaceFilterViewModel(model); var modelView = GetEstimatedTime(filter); modelView.Filter = filter; return(PartialView("_EstSwim", modelView)); }
/// <summary> /// Called while paging through athletes. We need to return just the partial view of athletes /// </summary> /// <param name="page"></param> /// <param name="model"></param> /// <returns></returns> // public PartialViewResult DisplayPagedRaces(int page, string sortOrder, SimpleFilterViewModel model) { var filter = new RaceFilterViewModel(model, sortOrder); page = page > 0 ? page : 1; filter.AvailableRaces = filter.AvailableRaces.ToPagedList(page, _PageSize); //max xx per page return(PartialView("~/Views/Shared/_OnePageOfRaces.cshtml", filter)); }
//search all athletes we have by name and return details of all their races public PartialViewResult AthleteSearchAllByName(string athletes) { if (athletes == "0") { var simple = SimpleFilterViewModel.Create(Request.UrlReferrer.Query); return(DisplayPagedAthletes(1, simple)); } return(PartialView("_SearchResults-All", DoSearchAllByName(athletes))); }
//search athletes by id public PartialViewResult AthleteSearch(string SelectedAthleteId) { if (SelectedAthleteId == "0") { var simple = SimpleFilterViewModel.Create(Request.UrlReferrer.Query); return(DisplayPagedAthletes(1, simple)); } return(PartialView("_SearchResults-Race", DoSearchById(SelectedAthleteId))); }
public ActionResult GetAthlete(string raceId) { if (String.IsNullOrEmpty(raceId)) { return(new HttpNotFoundResult()); } var simpleModel = SimpleFilterViewModel.Create(); simpleModel.Races = raceId; return(RedirectToAction("ViewResults", "TriStatsSummary", simpleModel)); }
//called from actions links in the Action Bar using the GET verb public ActionResult Display(SimpleFilterViewModel simpleFilter) { CurrentFilter = simpleFilter;//save for sort //the following is a workaround for some flawed javascript that doesn't always pass the params we need if (String.IsNullOrEmpty(simpleFilter.Races)) { var parms = HttpUtility.ParseQueryString(Request.UrlReferrer.Query); simpleFilter.Races = parms["RaceId"]; } var viewModel = new RaceFilterViewModel(simpleFilter); return(DisplayResultsView(viewModel)); }
/// <summary> /// Given the bike range, provide estimates for run /// </summary> /// <param name="model"></param> /// <returns></returns> public PartialViewResult DisplayBikeRun(SimpleFilterViewModel model) { model.runhightimevalue = null; //clear the values that we want to ignore in this hypothetical (everything but bike) model.runlowtimevalue = null; model.swimhightimevalue = null; model.swimlowtimevalue = null; var filter = new RaceFilterViewModel(model); var modelView = GetEstimatedTime(filter); modelView.SelectedSplit = "BikeRun"; //this value gets used by the generic _finishHistogram modelView.Filter = filter; return(PartialView("_GivenBikeRangeRun", modelView)); }
// <summary> /// Given the run range, provide estimates. /// </summary> /// <param name="model"></param> /// <returns></returns> public PartialViewResult DisplayRunFinish(SimpleFilterViewModel model) { model.bikehightimevalue = null; //clear the values that we want to ignore in this hypothetical (everything but run) model.bikelowtimevalue = null; model.swimhightimevalue = null; model.swimlowtimevalue = null; var filter = new RaceFilterViewModel(model); var modelView = GetEstimatedTime(filter); modelView.Filter = filter; modelView.SelectedSplit = "RunFinish";//this value gets used by the generic _finishHistogram and also Hypotheth/Index to distinguish the Divs return(PartialView("_GivenRunRangeFinish", modelView)); }
public ActionResult DisplayStats(FilterViewModel filterModel) { if (filterModel.selectedRaceIds == null) { return(new HttpNotFoundResult()); } var simpleModel = SimpleFilterViewModel.Create(filterModel); if (filterModel.selectedRaceIds.Count() > 1) { return(RedirectToAction("ViewResults", "CompareRaces", simpleModel)); } else { return(RedirectToAction("ViewResults", "TriStatsSummary", simpleModel)); } }
/// <summary> /// Called while paging through athletes. We need to return just the partial view of athletes /// </summary> /// <param name="page"></param> /// <param name="model"></param> /// <returns></returns> // public PartialViewResult DisplayPagedAthletes(int page, SimpleFilterViewModel model) { var filter = new RaceFilterViewModel(model); page = page > 0 ? page : 1; int pageSize = 20; var athletes = GetFilteredAthletes(GetAllAthletesForRaces(filter), filter); var onePageOfAthletes = athletes.ToPagedList(page, pageSize); //max xx per page var viewmodel = new TriathletesViewModel(); viewmodel.TotalCount = athletes.Count; viewmodel.Triathletes = onePageOfAthletes; viewmodel.Filter = filter; return(PartialView("~/Views/Shared/_OnePageOfAthletesImproved.cshtml", viewmodel)); }
/// <summary>The setup tree view options.</summary> /// <param name="vm">The SimpleFilterViewModel.</param> /// <param name="model">The model.</param> public void SetupTreeViewOptions(SimpleFilterViewModel vm, ProcessEdit model) { if (model == null || vm == null || vm.SelectedMember == null) { return; } var propertyDefinition = (FieldPathPropertyDefinition)vm.SelectedMember.ItemPropertyDefinition; var columnType = propertyDefinition.ColumnType; if (columnType != ColumnTypes.TreeView || string.IsNullOrEmpty(propertyDefinition.ReferencedProcessSystemName)) { return; } IsPublished = false; IsRefCrossRef = true; CrossRefDisplayFieldsList = propertyDefinition.ReferencedFieldSystemName; CrossRefFieldName = propertyDefinition.SystemName; RefCrossRefFieldName = propertyDefinition.LinkFieldSystemName; CrossRefAllowMultiple = propertyDefinition.AllowMultiple; CrossRefProcessName = propertyDefinition.ReferencedProcessSystemName; }
/// <summary>The setup cross ref options. Called from Process Builder.</summary> /// <param name="vm">The SimpleFilterViewModel.</param> /// <param name="model">The model.</param> public void SetupCrossRefOptions(SimpleFilterViewModel vm, ProcessEdit model) { if (vm == null || model == null || vm.SelectedMember == null) { return; } var propertyDefinition = (FieldPathPropertyDefinition)vm.SelectedMember.ItemPropertyDefinition; if (propertyDefinition.ColumnType != ColumnTypes.Reference && propertyDefinition.ColumnType != ColumnTypes.MultiReference) { return; } IsPublished = false; if (propertyDefinition.PropertyName == Constants.CurrentStateGuidColumnName) { var states = new CustomInfoList(); states.AddRange( model.StateList.OrderBy(s => s.Name).Select(state => new StateInfoClass { Id = state.Id, Name = state.Name, Guid = state.Guid })); FilteringProcessSystemName = null; CrossRefDisplayFieldsList = Constants.Name; CrossRefItems = states; CrossRefProcessName = Constants.StateProcessName; CrossRefAllowMultiple = false; return; } CrossRefFieldName = propertyDefinition.SystemName; CrossRefDisplayFieldsList = propertyDefinition.ReferencedFieldSystemName; CrossRefAllowMultiple = propertyDefinition.AllowMultiple; CrossRefProcessName = propertyDefinition.ReferencedProcessSystemName; }
/// <summary>The setup cross ref options. Called from Search List.</summary> /// <param name="vm">The SimpleFilterViewModel.</param> /// <param name="processSystemName">The process system name.</param> public void SetupCrossRefOptions(SimpleFilterViewModel vm, string processSystemName) { if (vm == null || vm.SelectedMember == null) { return; } var propertyDefinition = (FieldPathPropertyDefinition)vm.SelectedMember.ItemPropertyDefinition; if (propertyDefinition.ColumnType != ColumnTypes.Reference && propertyDefinition.ColumnType != ColumnTypes.MultiReference) { return; } IsPublished = true; CrossRefFieldName = propertyDefinition.SystemName; CrossRefDisplayFieldsList = propertyDefinition.ReferencedFieldSystemName; CrossRefAllowMultiple = propertyDefinition.AllowMultiple; CrossRefProcessName = propertyDefinition.ReferencedProcessSystemName; }
/// <summary> /// The clean up. /// </summary> public void CleanUp() { filter = null; IsStaticValue = true; this.IsUdp = false; IsSystemVariable = false; IsProcessField = false; UserDefinedCaption = null; DefaultValue = null; Value.ProvidedValue = DefaultValue; SelectedProcessField = null; SelectedSystemVariable = null; SelectedSystemParameters = null; CrossRefProcessName = null; CrossRefFieldName = null; CrossRefDisplayFieldsList = null; CrossRefAllowMultiple = false; CrossRefItems = null; RefCrossRefFieldName = null; IsRefCrossRef = false; FilteringProcessSystemName = null; ShowProcessFields = false; ShowUdPs = false; ShowSystemParameters = true; }
//called from actions links in the Action Bar public ActionResult DisplayPacing(SimpleFilterViewModel model) { var filter = new RaceFilterViewModel(model); return(DisplayResultsView(filter, "Pacing")); }
//called from actions links in the Action Bar public ActionResult DisplayQuartiles(SimpleFilterViewModel model) { var filter = new RaceFilterViewModel(model); return(DisplayResultsView(filter, "Quartiles")); }
/// <summary> /// Executes the filter options. /// </summary> /// <param name="o">The o.</param> private void ExecuteFilterOptions(SimpleFilterViewModel o) { if (o.SelectedMember == null) { return; } var propertyDefinition = (FieldPathPropertyDefinition)o.SelectedMember.ItemPropertyDefinition; var filteringProcessSystemName = propertyDefinition.DeclaringProcessSystemName; FilterOptionsVM.Value.CleanUp(); FilterOptionsVM.Value.ShowUdPs = true; FilterOptionsVM.Value.ShowSystemParameters = o.MemberType != typeof(ApprovalStates) && (propertyDefinition.SystemName != Constants.CurrentStateColumnName); FilterOptionsVM.Value.Filter = o; FilterOptionsVM.Value.FilteringProcessSystemName = filteringProcessSystemName; FilterOptionsVM.Value.SetupCrossRefOptions(o, ProcessSystemName); FilterOptionsVM.Value.SetupReverseCrossRefOptions(o, ProcessSystemName); FilterOptionsVM.Value.SetupTreeViewOptions(o, ProcessSystemName); ThePopupFactory.Value.Popup() .SetCustomViewModel(FilterOptionsVM.Value) .SetIsModal(true) .SetIsChild(true) .SetCaption("Filter Options") .SetPosition(PopupPosition.Center) .Show(() => { if (FilterOptionsVM.Value.IsStaticValue) { DynamicDataFilterBehavior.SetSystemValue(o.Descriptor, null); o.TriggerChange(); } else if (FilterOptionsVM.Value.IsUdp) { var val = FilterValue.CreateUdp(FilterOptionsVM.Value.UserDefinedCaption, o.Member, FilterOptionsVM.Value.DefaultValue); DynamicDataFilterBehavior.SetSystemValue(o.Descriptor, val); o.TriggerChange(); } else if (FilterOptionsVM.Value.IsSystemVariable) { var val = FilterValue.CreateSystemVariable(FilterOptionsVM.Value.SelectedSystemVariable.Caption, FilterOptionsVM.Value.SelectedSystemVariable.Value); DynamicDataFilterBehavior.SetSystemValue(o.Descriptor, val); o.TriggerChange(); //o.Value = val.ToString(); //if (!(o.MemberType == typeof(IInfoClass) && !(val is IInfoClass))) //{ // o.Value = val.ToString(); //} } }); }