public IActionResult Load(FWDataOptionsViewModel bindModel) { var options = _memoryCache.Get <FWListOptions>(bindModel.CId); if (options == null) { return(StatusCode(500, "bad model")); } var filter = FWMapperHelper.Transform(options.FilterType, bindModel); FWModelHelper.BindFilterFromQueryString(filter, HttpContext.Request.Query); HttpContext.SetView(options.ViewPath); var service = _serviceProvider.GetService(options.ServiceType); var model = options.ServiceMethod.Invoke(service, new object[] { filter }) as IEnumerable; // Gets the metadata from the return type of the service method. var metadata = _requestContext.MetadataProvider.GetMetadataForType(options.ServiceMethod.ReturnParameter.ParameterType); var control = new FWListControl(_requestContext, metadata, model); foreach (var config in options.FluentConfiguration) { config.Invoke(control); } return(Content(control.ToString())); }
protected override void OnCollectionMapped(object source, object target) { if (source is IFWList list) { var targetList = target as IList; var targetListGenericType = targetList.GetType().GetGenericArguments().First(); if (_entity.IsAssignableFrom(targetListGenericType)) { foreach (var removed in list.RemovedItems) { var removedEntity = FWMapperHelper.Transform(targetListGenericType, removed); (removedEntity as FWEntity).Remove(); targetList.Add(removedEntity); } } } }
public void MapWithCustomMap() { var c1 = new CustomMap1() { InnerString = "Hello" }; var c2 = c1.Map <CustomMap2>(); Assert.Equal("Hello", c2.InnerString); Assert.Equal(2, c2.CustomMap); var c3 = c1.Map <CustomMap2, CustomMapper>(); Assert.Null(c3.InnerString); FWMapperHelper.AddMap <CustomMap1, CustomMap2, CustomMapper>(); var c4 = c1.Map <CustomMap2>(); Assert.Null(c4.InnerString); }
static FWSecureInt() { FWMapperHelper.AddMap <FWSecureInt, int, FWSecureIntInjection>(); FWMapperHelper.AddMap <int, FWSecureInt, FWSecureIntInjection>(); }
protected override object InjectFrom(Type targetType, object source) { return(FWMapperHelper.Transform <FWEntityInjection>(targetType, source)); }
static FWSecureLong() { FWMapperHelper.AddMap <FWSecureLong, long, FWSecureLongInjection>(); FWMapperHelper.AddMap <long, FWSecureLong, FWSecureLongInjection>(); }
/// <summary> /// Maps a source object to a target type. /// </summary> /// <param name="targetType">The target type.</param> /// <param name="source">The source object.</param> /// <returns>The mapped object.</returns> protected virtual object InjectFrom(Type targetType, object source) { return(FWMapperHelper.Transform <FWInjection>(targetType, source)); }