aboutsummaryrefslogtreecommitdiff
path: root/Source/ExcelDNA
diff options
context:
space:
mode:
authorSergey Chebotar <s.chebotar@gmail.com>2021-12-03 14:15:16 +0300
committerSergey Chebotar <s.chebotar@gmail.com>2021-12-03 14:15:16 +0300
commitc748be35c4bc35dc431066fb390945ee0c986ea3 (patch)
tree58485e3e84f5a880d4115764a91dc9f9bca3370f /Source/ExcelDNA
parent2f7c5688ddd0d4145b91f5660f8f49df70081b28 (diff)
Add RauSku Function. Some refactoring.
Diffstat (limited to 'Source/ExcelDNA')
-rw-r--r--Source/ExcelDNA/Functions.cs56
1 files changed, 42 insertions, 14 deletions
diff --git a/Source/ExcelDNA/Functions.cs b/Source/ExcelDNA/Functions.cs
index b348fc9..d45b6ee 100644
--- a/Source/ExcelDNA/Functions.cs
+++ b/Source/ExcelDNA/Functions.cs
@@ -10,32 +10,60 @@ namespace Rehau.Sku.Assist
public static object RAUNAME(string request)
{
if (MemoryCache.Default.Contains(request))
- return MemoryCache.Default[request].ToString();
+ {
+ IProduct product = MemoryCache.Default[request] as IProduct;
+ return product.Name;
+ }
else
{
object result = ExcelAsyncUtil.Run("Rauname", new[] { request },
delegate
{
- Task<IProduct> product = Task.Run(() => SkuAssist.GetProduct(request));
- return product.Result;
+ Task<IProduct> p = Task.Run(() => SkuAssist.GetProduct(request));
+ return p.Result;
});
- if (Equals(result, ExcelError.ExcelErrorNA))
- {
+ if (result == null)
+ return "Не найдено";
+
+ if (result.Equals(ExcelError.ExcelErrorNA))
return "Загрузка...";
- }
- else if (result == null)
- {
+ IProduct product = result as IProduct;
+ MemoryCache.Default.Add(request, product, System.DateTime.Now.AddMinutes(10));
+ //MemoryCache.Default.Add(product.Name, product, System.DateTime.Now.AddMinutes(10));
+ return product.Name;
+ }
+ }
+
+ [ExcelFunction]
+ public static object RAUSKU(string request)
+ {
+ if (MemoryCache.Default.Contains(request))
+ {
+ IProduct result = MemoryCache.Default[request] as IProduct;
+ return result.Sku;
+ }
+ else
+ {
+ object result = ExcelAsyncUtil.Run("RauSku", new[] { request },
+ delegate
+ {
+ Task<IProduct> p = Task.Run(() => SkuAssist.GetProduct(request));
+ return p.Result;
+ });
+
+ if (result == null)
return "Не найдено";
- }
- else
- {
- MemoryCache.Default.Add(request, result, System.DateTime.Now.AddMinutes(10));
- return result.ToString();
- }
+ if (result.Equals(ExcelError.ExcelErrorNA))
+ return "Загрузка...";
+
+ IProduct product = result as IProduct;
+ MemoryCache.Default.Add(request, product, System.DateTime.Now.AddMinutes(10));
+ //MemoryCache.Default.Add(product.Sku, product, System.DateTime.Now.AddMinutes(10));
+ return product.Sku;
}
}
}