public void TestCompositeExecuteCustomRuleOnType2() { string payloadTemplate = @"{ '$source':'data1', '$id':'jpath:{$.id}' }"; XjsltTemplate template = GetProvider(payloadTemplate, ("data1", new DataClass()) ); string payloadSource = @"{ 'Event':'e1', 'id':'FR345' }"; StringBuilder sb2 = new StringBuilder(payloadSource.Replace('\'', '"')); var result = template.Transform(sb2); Assert.AreEqual(result.Item1["Uuid"], "FR345"); }
public void TestCompositeExecuteCustomRule() { string payloadTemplate = @"{ 'prices': 'jpath:{$..n} | sum:{}' }"; XjsltTemplate template = GetProvider(payloadTemplate, ("sum", new ServiceSum()) ); string payloadSource = @"{ 'prices': [{'n' : 1}, {'n' : 2}, {'n' : 3}] }"; StringBuilder sb2 = new StringBuilder(payloadSource.Replace('\'', '"')); var result = template.Transform(sb2); Assert.AreEqual(result.Item1["prices"], 6); }
private int _Type = 1; // 1 == AddOn public List <SkuGroup> ExecuteList(bool useCache = true) { Provider provider = new GetProvider() { Id = this.ProviderId }.ExecuteItem(useCache); List <SkuGroup> result = provider.SkuGroupCollection.ToList().FindAll(x => x.Type == this.Type && x.SkuGroupSkuCollection.ToList().Any(y => y.SkuId == this.SkuId && y.Type == 0)).ToList(); return(result); }
private int _Type = 1; // 1 == AddOn public List <SkuGroupSku> ExecuteList(bool useCache = true) { Provider provider = new GetProvider() { Id = this.ProviderId }.ExecuteItem(useCache); List <SkuGroupSku> result = provider.SkuGroupCollection.ToList().Find(x => x.Id == this.SkuGroupId).SkuGroupSkuCollection.ToList().FindAll(x => x.Type == this.Type); result.Sort((x, y) => x.Sku.Name.CompareTo(y.Sku.Name)); return(result); }
public List <Resource> ExecuteList(bool useCache = true) { Provider provider = new GetProvider() { Id = this.ProviderId }.ExecuteItem(useCache); if (provider == null) { return(new List <Resource>()); } return(provider .ResourceCollection .OrderBy(x => x.ShortDescription) .ToList()); }
public static void ProviderCallback(string key, object value, CacheItemRemovedReason reason) { // Step 1. Exit if no httpContext HttpContext httpContext = HttpContext.Current; if (httpContext == null) { return; } // Step 2. Get ProviderId Guid providerId = key.GetProviderId(); // Step 3. Exit if (reason == CacheItemRemovedReason.Removed) { return; } // Step 4. IsLastAccessCurrent if (!IsLastAccessCurrent("Provider", providerId)) { return; } // Step 5. Get Provider Provider provider = new GetProvider() { Id = providerId }.ExecuteItemCore(); if (provider == null) { throw new InvalidOperationException("Provider not found."); } // Step 6. Insert Cache CacheDependency cacheDependency = null; DateTime? absoluteExpiration = Cache.NoAbsoluteExpiration; TimeSpan slidingExpiration = Cache.NoSlidingExpiration; httpContext.Cache.Insert(key, value, cacheDependency, (DateTime)absoluteExpiration, (TimeSpan)slidingExpiration, CacheItemPriority.Default, ProviderCallback); }
private int _Type = 1; // 1 == AddOn public List <Sku> ExecuteList(bool useCache = true) { Provider provider = new GetProvider() { Id = this.ProviderId }.ExecuteItem(useCache); List <SkuGroup> skuGroupList = provider.SkuGroupCollection.ToList().FindAll(x => x.Type == this.Type && x.SkuGroupSkuCollection.ToList().Any(y => y.SkuId == this.SkuId && y.Type == 0)).ToList(); if (skuGroupList.Count > 0) { var skuGroup = skuGroupList.First(); var skuGroupSkuList = skuGroup.SkuGroupSkuCollection.ToList(); var filteredSkuGroupSkuList = skuGroupSkuList.FindAll(x => x.Type == 1); var skuList = filteredSkuGroupSkuList.ConvertAll(x => x.Sku); return(skuList); } return(new List <Sku>()); }
public static void ProcessProviderAction(CacheBehavior cacheBehavior, CacheAction cacheAction) { // Step 1. Get cache key string cacheKey = cacheBehavior.GetCacheKey(cacheAction.Item); // Step 2. Get cache value CacheItemContainer <Provider> providerContainer = CacheHelper2.GetCacheValue <CacheItemContainer <Provider> >(cacheKey); if (providerContainer == null) { return; } // Step 3. Refresh Provider provider = new GetProvider() { Id = providerContainer.Item.Id }.ExecuteItem(false); providerContainer.Item = provider; }
private int _Type = 1; // 1 == AddOn public List <Sku> ExecuteList(bool useCache = true) { Provider provider = new GetProvider() { Id = this.ProviderId }.ExecuteItem(useCache); if (this.SkuId != null) { List <SkuGroup> realtedSkuList = provider.SkuGroupCollection.ToList().FindAll(x => x.Type == this.Type && x.SkuGroupSkuCollection.ToList().Any(y => y.SkuId == this.SkuId && y.Type == 0)).ToList(); SkuGroup skuGroup = realtedSkuList.Find(x => x.Type == 1); if (skuGroup == null) { return(new List <Sku>()); } return(skuGroup.SkuGroupSkuCollection.ToList().FindAll(x => x.Type == 1).ConvertAll(x => x.Sku)); } else { return(provider.SkuCollection.ToList().FindAll(x => x.IsPrimary && x.SkuCategoryId == this.SkuCategoryId)); } }
/// <summary> /// 执行源代码 /// 类必须命名为 CSharpExecutor.Executor 且具有方法 public Execute(string[] list) /// </summary> /// <param name="source">源代码</param> /// <param name="reference">引用程序集, eg. System.Xml</param> /// <param name="list">参数</param> public static string RunFromSrc(string source, string[] reference, string[] args) { CompilerResults compilerResults = GetProvider.CompileAssemblyFromSource(GetCompileParam(reference), source); return(Run(compilerResults, args)); }