aboutsummaryrefslogtreecommitdiff
path: root/Source/ExcelDNA
diff options
context:
space:
mode:
authorSergey Chebotar <s.chebotar@gmail.com>2021-12-03 22:25:20 +0300
committerSergey Chebotar <s.chebotar@gmail.com>2021-12-03 22:25:20 +0300
commit355e2d36729b607c80b75a4e78342ed487cc56d4 (patch)
treed86059a3952bd9c1d2b147aed205e81385afa232 /Source/ExcelDNA
parent915929fa9d0738a4e4db4134ea522b343ab2c1d2 (diff)
Add RAUPRICE function. Refactoring.
Diffstat (limited to 'Source/ExcelDNA')
-rw-r--r--Source/ExcelDNA/Functions.cs59
1 files changed, 5 insertions, 54 deletions
diff --git a/Source/ExcelDNA/Functions.cs b/Source/ExcelDNA/Functions.cs
index 9ce4429..a9bdfca 100644
--- a/Source/ExcelDNA/Functions.cs
+++ b/Source/ExcelDNA/Functions.cs
@@ -1,6 +1,4 @@
using ExcelDna.Integration;
-using System.Runtime.Caching;
-using System.Threading.Tasks;
namespace Rehau.Sku.Assist
{
@@ -8,61 +6,14 @@ namespace Rehau.Sku.Assist
{
[ExcelFunction]
public static object RAUNAME(string request)
- {
- if (MemoryCache.Default.Contains(request))
- {
- IProduct product = MemoryCache.Default[request] as IProduct;
- return product.Name;
- }
-
- else
- {
- object result = ExcelAsyncUtil.Run("RauName", new[] { request },
- delegate
- {
- Task<IProduct> p = Task.Run(() => SkuAssist.GetProduct(request));
- return p.Result;
- });
-
- if (result == null)
- return "Не найдено";
-
- if (result.Equals(ExcelError.ExcelErrorNA))
- return "Загрузка...";
-
- IProduct product = result as IProduct;
- MemoryCache.Default.Add(request, product, System.DateTime.Now.AddMinutes(10));
- return product.Name;
- }
- }
+ => SkuAssist.GetProduct(request, ProductField.Name);
[ExcelFunction]
public static object RAUSKU(string request)
- {
- if (MemoryCache.Default.Contains(request))
- {
- IProduct product = MemoryCache.Default[request] as IProduct;
- return product.Id;
- }
- else
- {
- object result = ExcelAsyncUtil.Run("RauSku", new[] { request },
- delegate
- {
- Task<IProduct> p = Task.Run(() => SkuAssist.GetProduct(request));
- return p.Result;
- });
+ => SkuAssist.GetProduct(request, ProductField.Id);
- if (result == null)
- return "Не найдено";
-
- if (result.Equals(ExcelError.ExcelErrorNA))
- return "Загрузка...";
-
- IProduct product = result as IProduct;
- MemoryCache.Default.Add(request, product, System.DateTime.Now.AddMinutes(10));
- return product.Id;
- }
- }
+ [ExcelFunction]
+ public static object RAUPRICE(string request)
+ => SkuAssist.GetProduct(request, ProductField.Price);
}
} \ No newline at end of file