public string PagingMessage(RouteValueDictionaryWrapper routeValueDictionaryWrapper) { return(string.Format("Showing {0} - {1} of {2}" , RecordStart(routeValueDictionaryWrapper).ToString(CultureInfo.InvariantCulture) , RecordEnd(routeValueDictionaryWrapper).ToString(CultureInfo.InvariantCulture) , RecordCount.ToString(CultureInfo.InvariantCulture))); }
public override void ViewModelCreated(DynamicPropertyMetadata dynamicPropertyMetadata, IDictionary <string, object> controlParameters) { base.ViewModelCreated(dynamicPropertyMetadata, controlParameters); var dynamicForiegnKeyPropertyMetadata = (DynamicForiegnKeyPropertyMetadata)dynamicPropertyMetadata; string selectedValue = ""; if (RouteValueDictionaryWrapper.ContainsKey(dynamicPropertyMetadata.PropertyName)) { selectedValue = RouteValueDictionaryWrapper.GetValue(dynamicPropertyMetadata.PropertyName).ToString(); } if (LabelText == PropertyName) { LabelText = dynamicForiegnKeyPropertyMetadata.ComplexEntityPropertyMetadata.PropertyName; } Type = dynamicForiegnKeyPropertyMetadata.ComplexDynamicEntityMetadata.EntityType; DataTextField = dynamicForiegnKeyPropertyMetadata.ComplexDynamicEntityMetadata.DefaultProperty.PropertyName; DataValueField = dynamicForiegnKeyPropertyMetadata.ComplexDynamicEntityMetadata.KeyProperty.PropertyName; if (controlParameters.ContainsKey("NullText")) { NullText = controlParameters["NullText"].ToString(); } else { NullText = "Select Item"; } SelectedValue = selectedValue; SelectList = _selectListItemManager.GetSelectListItems(Type, DataValueField, DataTextField, SelectedValue, NullText); }
public DynamicIndexFiltersViewModel(string typeName, RouteValueDictionaryWrapper routeValueDictionaryWrapper, IEnumerable <DynamicFilterViewModel> dynamicFilterViewModels) : this() { TypeName = typeName; RouteValueDictionaryWrapper = routeValueDictionaryWrapper; FilterPropertyViewModels = dynamicFilterViewModels.ToList(); ShowSearch = FilterPropertyViewModels.Any(); }
public IEnumerable GetItems(DynamicEntityMetadata dynamicEntityMetadata, RouteValueDictionaryWrapper routeValueDictionaryWrapper) { var page = int.Parse(routeValueDictionaryWrapper.GetValue("Page").ToString()); var pageSize = int.Parse(routeValueDictionaryWrapper.GetValue("PageSize").ToString()); return(_dynamicRepository.GetItems(dynamicEntityMetadata.EntityTypeFunction()(), Filters, page, pageSize, _requestManager.OrderBy(), dynamicEntityMetadata.ListIncludes().ToArray())); }
public virtual IQueryable Filter(IQueryable qry) { if (RouteValueDictionaryWrapper.ContainsKey(QueryStringName)) { return(qry.DynamicWhere(PropertyName, RouteValueDictionaryWrapper.GetValue(QueryStringName))); } return(qry); }
public override void ViewModelCreated(DynamicPropertyMetadata dynamicPropertyMetadata, IDictionary <string, object> controlParameters) { base.ViewModelCreated(dynamicPropertyMetadata, controlParameters); if (RouteValueDictionaryWrapper.ContainsKey(QueryStringName)) { FilterValue = RouteValueDictionaryWrapper.GetValue(QueryStringName).ToString(); } }
public void ValidatePagingParameters(RouteValueDictionaryWrapper routeValueDictionaryWrapper) { var page = int.Parse(routeValueDictionaryWrapper.GetValue("Page").ToString()); if (RecordStart(routeValueDictionaryWrapper) > RecordEnd(routeValueDictionaryWrapper) & page > 1) { routeValueDictionaryWrapper.SetValue("Page", page - 1); } }
public DynamicTableHeaderViewModel(DynamicPropertyIndexViewModel dynamicPropertyIndexViewModel, RouteValueDictionaryWrapper routeValueDictionaryWrapper, string typeName) { DisplayName = dynamicPropertyIndexViewModel.DisplayName; SortExpression = dynamicPropertyIndexViewModel.SortExpression; AllowSort = dynamicPropertyIndexViewModel.AllowSort; TypeName = typeName; RouteValueDictionaryWrapper = routeValueDictionaryWrapper; ViewModelPropertyName = dynamicPropertyIndexViewModel.ViewModelPropertyName; PropertyName = dynamicPropertyIndexViewModel.PropertyName; }
public static RouteValueDictionaryWrapper Clone(this RouteValueDictionaryWrapper routeValueDictionaryWrapper) { var result = new RouteValueDictionaryWrapper(); foreach (var kvp in routeValueDictionaryWrapper.GetRouteValueDictionary()) { result.Add(kvp.Key, kvp.Value); } return(result); }
private long RecordStart(RouteValueDictionaryWrapper routeValueDictionaryWrapper) { if (RecordCount == 0) { return(0); } var page = int.Parse(routeValueDictionaryWrapper.GetValue("Page").ToString()); var pageSize = int.Parse(routeValueDictionaryWrapper.GetValue("PageSize").ToString()); return(page * pageSize - pageSize + 1); }
public string GetReturnUrl(string action, string controllerName, RouteValueDictionaryWrapper routeValueDictionaryWrapper, bool removeNestedReturnUrl = false) { var routeValueDictionary = routeValueDictionaryWrapper; if (removeNestedReturnUrl) { routeValueDictionary = routeValueDictionaryWrapper.Clone(); routeValueDictionary.Remove("ReturnUrl"); } return(_urlManager.Url.Action(action, controllerName, routeValueDictionary.GetRouteValueDictionary())); }
private long RecordEnd(RouteValueDictionaryWrapper routeValueDictionaryWrapper) { var page = int.Parse(routeValueDictionaryWrapper.GetValue("Page").ToString()); var pageSize = int.Parse(routeValueDictionaryWrapper.GetValue("PageSize").ToString()); var result = page * (long)pageSize; if (result > RecordCount) { result = RecordCount; } return(result); }
public static RouteValueDictionaryWrapper CloneAndAddPage(this RouteValueDictionaryWrapper routeValueDictionaryWrapper, int pagesToAdd) { var result = routeValueDictionaryWrapper.Clone(); var page = int.Parse(result.GetValue("Page").ToString()); page = page + pagesToAdd; if (page < 1) { page = 1; } result.SetValue("Page", page); return(result); }
public static RouteValueDictionaryWrapper ToRouteValues(this FormCollection formCollection) { var routeValueDictionaryWrapper = new RouteValueDictionaryWrapper(); foreach (var key in formCollection.AllKeys) { if (key == "__RequestVerificationToken") { continue; } routeValueDictionaryWrapper.SetValue(key, formCollection[key]); } return(routeValueDictionaryWrapper); }
public static RouteValueDictionaryWrapper ToRouteValues(this IDictionary <string, object> queryString) { if (queryString == null || queryString.Keys.Count == 0) { return(new RouteValueDictionaryWrapper()); } var routeValueDictionaryWrapper = new RouteValueDictionaryWrapper(); foreach (string key in queryString.Keys) { routeValueDictionaryWrapper.Add(key, queryString[key]); } return(routeValueDictionaryWrapper); }
public override void ViewModelCreated(DynamicPropertyMetadata dynamicPropertyMetadata, IDictionary <string, object> controlParameters) { base.ViewModelCreated(dynamicPropertyMetadata, controlParameters); //set filtervalue if it exists in the route if (RouteValueDictionaryWrapper.ContainsKey(QueryStringName)) { DateTime result; if (DateTime.TryParse(RouteValueDictionaryWrapper.GetValue(QueryStringName).ToString(), out result)) { FilterValue = result; } } //set filtervalue to default value if it does not exist in the route if (!FilterValue.HasValue && controlParameters.ContainsKey("AddDays") && controlParameters["AddDays"] is int) { var addDays = (int)controlParameters["AddDays"]; FilterValue = DateTime.Now.AddDays(addDays); } }
public static RouteValueDictionaryWrapper ToRouteValues(this NameValueCollection queryString) { if (queryString == null || queryString.HasKeys() == false) { return(new RouteValueDictionaryWrapper()); } if (queryString.AllKeys.Distinct().Count() != queryString.AllKeys.Count()) { throw new Exception("ToRouteValues method was called with duplicate querystring key values"); } var routeValues = new RouteValueDictionaryWrapper(); foreach (string key in queryString.AllKeys) { routeValues.Add(key, queryString[key]); } return(routeValues); }
public string GetFilterMessage(DynamicEntityMetadata dynamicEntityMetadata, RouteValueDictionaryWrapper routeValueDictionaryWrapper) { var sb = new StringBuilder(); foreach (var filter in GetDynamicFilters(dynamicEntityMetadata, routeValueDictionaryWrapper)) { if (routeValueDictionaryWrapper.ContainsKey(filter.QueryStringName)) { if (sb.Length == 0) { sb.Append("Filtered By " + filter.PropertyName); } else { sb.Append(", " + filter.PropertyName); } } } return(sb.ToString()); }
public override void ViewModelCreated(DynamicPropertyMetadata dynamicPropertyMetadata, IDictionary <string, object> controlParameters) { base.ViewModelCreated(dynamicPropertyMetadata, controlParameters); var nullText = "Select..."; if (controlParameters.ContainsKey("NullText")) { nullText = controlParameters["NullText"].ToString(); } if (RouteValueDictionaryWrapper.ContainsKey(QueryStringName)) { var origonalValue = RouteValueDictionaryWrapper.GetValue(QueryStringName).ToString(); //There is an issue with html.checkbox. It sends down true,false when checked. if (origonalValue == "true,false") { origonalValue = "true"; } FilterValue = bool.Parse(origonalValue); } SelectList = _selectListItemManager.GetSelectListItemForBooleanDropDown(FilterValue, nullText); }
public static RouteValueDictionaryWrapper ToRouteValues(this NameValueCollection queryString, Object obj) { var routeValueDictionaryWrapper = new RouteValueDictionaryWrapper(); if (queryString != null) { if (queryString.AllKeys.Distinct().Count() != queryString.AllKeys.Count()) { throw new Exception("ToRouteValues method was called with duplicate querystring key values"); } foreach (string key in queryString) { //values passed in object override those already in collection if (!routeValueDictionaryWrapper.ContainsKey(key)) { routeValueDictionaryWrapper.SetValue(key, queryString[key]); } } } return(routeValueDictionaryWrapper); }
public override void ViewModelCreated(DynamicPropertyMetadata dynamicPropertyMetadata, IDictionary <string, object> controlParameters) { base.ViewModelCreated(dynamicPropertyMetadata, controlParameters); if (RouteValueDictionaryWrapper.ContainsKey(QueryStringName)) { FilterValue = RouteValueDictionaryWrapper.GetValue(QueryStringName).ToString(); } if (!controlParameters.ContainsKey("Type") && !controlParameters.ContainsKey("DisplayMember") && !controlParameters.ContainsKey("ValueMember")) { //this view model was created from a dynamicforiegnKeyPropertyMetadata var dynamicForiegnKeyPropertyMetadata = (DynamicForiegnKeyPropertyMetadata)dynamicPropertyMetadata; Type = dynamicForiegnKeyPropertyMetadata.ComplexDynamicEntityMetadata.EntityType; DisplayMember = dynamicForiegnKeyPropertyMetadata.ComplexDynamicEntityMetadata.DefaultProperty.PropertyName; ValueMember = dynamicForiegnKeyPropertyMetadata.ComplexDynamicEntityMetadata.KeyProperty.PropertyName; if (LabelText == PropertyName) { LabelText = dynamicForiegnKeyPropertyMetadata.ComplexEntityPropertyMetadata.PropertyName; } } else { Type = (Type)controlParameters["Type"]; DisplayMember = controlParameters["DisplayMember"].ToString(); ValueMember = controlParameters["ValueMember"].ToString(); } if (!string.IsNullOrEmpty(FilterValue)) { FilterText = _dynamicMvcManager.GetSelectItemText(Type, FilterValue, DisplayMember); } else { FilterText = ""; } }
public IDynamicFilter GetDynamicFilter(DynamicFilterUIHintAttribute dynamicFilterUIHintAttribute, DynamicPropertyMetadata dynamicPropertyMetadata, RouteValueDictionaryWrapper routeValueDictionaryWrapper) { var dynamicFilter = CreateDynamicFilter(dynamicFilterUIHintAttribute.DynamicFilterViewName, dynamicPropertyMetadata, routeValueDictionaryWrapper); dynamicFilter.Order = dynamicPropertyMetadata.GetDynamicFilterUIHintAttribute().Order; CallViewModelCreated(dynamicFilter, dynamicPropertyMetadata); return(dynamicFilter); }
public DynamicEditorHyperlinkViewModel() { RouteValueDictionaryWrapper = new RouteValueDictionaryWrapper(); }
private IDynamicFilter CreateDynamicFilter(string dynamicFilterViewName, DynamicPropertyMetadata dynamicPropertyMetadata, RouteValueDictionaryWrapper routeValueDictionaryWrapper) { var dynamicFilter = _dynamicFilters.SingleOrDefault(x => x.DynamicFilterViewName() == dynamicFilterViewName); if (dynamicFilter == null) { throw new Exception("Could not find Dynamic Filter for " + dynamicFilterViewName); } //ToDo: this line was added due to unexpected data showing up in routevaluedictionary. //prevoius version used activator here. look into removing this line dynamicFilter = _serviceProvider.Resolve <IDynamicFilter>(dynamicFilter.GetType()); dynamicFilter.PropertyName = dynamicPropertyMetadata.PropertyName(); dynamicFilter.RouteValueDictionaryWrapper = routeValueDictionaryWrapper; return(dynamicFilter); }
public IDynamicFilter GetDynamicFilter(string dynamicFilterViewName, DynamicPropertyMetadata dynamicPropertyMetadata, RouteValueDictionaryWrapper routeValueDictionaryWrapper) { var dynamicFilter = CreateDynamicFilter(dynamicFilterViewName, dynamicPropertyMetadata, routeValueDictionaryWrapper); CallViewModelCreated(dynamicFilter, dynamicPropertyMetadata); return(dynamicFilter); }
public string PagingMessage(RouteValueDictionaryWrapper routeValueDictionaryWrapper) { return ($"Showing {RecordStart(routeValueDictionaryWrapper).ToString(CultureInfo.InvariantCulture)} - {RecordEnd(routeValueDictionaryWrapper).ToString(CultureInfo.InvariantCulture)} of {RecordCount.ToString(CultureInfo.InvariantCulture)}"); }
/// <summary> /// Only returns filters that are currently applied for the given routevalueDictionary /// </summary> /// <param name="dynamicEntityMetadata"></param> /// <param name="routeValueDictionaryWrapper"></param> /// <returns></returns> public IEnumerable <IDynamicFilter> GetDynamicFilters(DynamicEntityMetadata dynamicEntityMetadata, RouteValueDictionaryWrapper routeValueDictionaryWrapper) { var result = new List <IDynamicFilter>(); var dynamicFilterViewModels = GetFilterPropertyViewModels(dynamicEntityMetadata, routeValueDictionaryWrapper); foreach (var dynamicPropertyViewModel in dynamicFilterViewModels) { var dynamicFilter = dynamicPropertyViewModel.FilterModel; //if (dynamicFilter.FilterIsApplied()) result.Add(dynamicFilter); } return(result); }
public IEnumerable <DynamicFilterViewModel> GetFilterPropertyViewModels(DynamicEntityMetadata dynamicEntityMetadata, RouteValueDictionaryWrapper routeValueDictionaryWrapper) { var dynamicFilterViewModels = new List <DynamicFilterViewModel>(); //add default filters foreach (var dynamicPropertyMetadata in dynamicEntityMetadata.DynamicPropertyMetadatas.Where(x => !x.IsDynamicCollection)) { if (dynamicPropertyMetadata.HasDynamicFilterUIAttribute) { continue; //explicit filters will be added later } if (dynamicPropertyMetadata is DynamicForiegnKeyPropertyMetadata && !dynamicPropertyMetadata.ListFilterIndexHide) { var dynamicPropertyViewModel = new DynamicFilterViewModel(dynamicPropertyMetadata); var dynamicForiegnKeyPropertyMetadata = ((DynamicForiegnKeyPropertyMetadata)dynamicPropertyMetadata); var dropdownType = dynamicForiegnKeyPropertyMetadata.ComplexDynamicEntityMetadata.EntityType; if (_dynamicRepository.GetItemsCount(dropdownType) > _dynamicMvcManager.Options.DynamicDropDownRecordLimit) { dynamicPropertyViewModel.DynamicFilterViewName = "DynamicFilterAutoComplete"; } else { dynamicPropertyViewModel.DynamicFilterViewName = "DynamicFilterDropDown"; } dynamicFilterViewModels.Add(dynamicPropertyViewModel); } } //add explicit filters foreach (var dynamicPropertyMetadata in dynamicEntityMetadata.DynamicPropertyMetadatas.Where(x => x.HasDynamicFilterUIAttribute)) { var dynamicFilterViewModel = new DynamicFilterViewModel(dynamicPropertyMetadata); var dynamicFilterUIHintAttribute = dynamicPropertyMetadata.GetDynamicFilterUIHintAttribute(); dynamicFilterViewModel.DynamicFilterViewName = dynamicFilterUIHintAttribute.DynamicFilterViewName; dynamicFilterViewModels.Add(dynamicFilterViewModel); } //add models for any filters foreach (var dynamicFilterViewModel in dynamicFilterViewModels) { var dynamicPropertyMetadata = dynamicEntityMetadata.DynamicPropertyMetadatas.Single(x => x.PropertyName == dynamicFilterViewModel.PropertyName); var dynamicFilter = _dynamicFilterFactory.GetDynamicFilter(dynamicFilterViewModel.DynamicFilterViewName, dynamicPropertyMetadata, routeValueDictionaryWrapper); dynamicFilterViewModel.FilterModel = dynamicFilter; if (dynamicPropertyMetadata.HasDynamicFilterUIAttribute) { dynamicFilterViewModel.FilterModel.Order = dynamicPropertyMetadata.GetDynamicFilterUIHintAttribute().Order; } } dynamicFilterViewModels = dynamicFilterViewModels.OrderBy(x => ((DynamicFilterBaseViewModel)x.FilterModel).Order).ToList(); return(dynamicFilterViewModels); }
public string NextClassName(RouteValueDictionaryWrapper routeValueDictionaryWrapper) { return(RecordCount == RecordEnd(routeValueDictionaryWrapper) ? "next disabled" : "next"); }
public string PreviousClassName(RouteValueDictionaryWrapper routeValueDictionaryWrapper) { return(int.Parse(routeValueDictionaryWrapper.GetValue("Page").ToString()) == 1 ? "previous disabled" : "previous"); }