From 6d9ff9365cf8deeadea6c410d518d1c9ccf7b1f8 Mon Sep 17 00:00:00 2001 From: Sergey Chebotar Date: Fri, 12 May 2023 10:18:00 +0300 Subject: [PATCH] =?UTF-8?q?Add=20=D0=A0=D0=95=D0=A5=D0=90=D0=A3,=20=D0=A0?= =?UTF-8?q?=D0=95=D0=A5=D0=90=D0=A3=D0=98=D0=9C=D0=AF,=20=D0=A0=D0=95?= =?UTF-8?q?=D0=A5=D0=90=D0=A3=D0=90=D0=A0=D0=A2=D0=98=D0=9A=D0=A3=D0=9B,?= =?UTF-8?q?=20=D0=A0=D0=95=D0=A5=D0=90=D0=A3=D0=A6=D0=95=D0=9D=D0=90=20fun?= =?UTF-8?q?ctions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AddIn/RhSolutionsFunction.cs | 86 +++++++++++++++++++ RhSolutions.AddIn/Properties/AssemblyInfo.cs | 4 +- 2 files changed, 88 insertions(+), 2 deletions(-) diff --git a/RhSolutions.AddIn/AddIn/RhSolutionsFunction.cs b/RhSolutions.AddIn/AddIn/RhSolutionsFunction.cs index d7631f3..e2bfc50 100644 --- a/RhSolutions.AddIn/AddIn/RhSolutionsFunction.cs +++ b/RhSolutions.AddIn/AddIn/RhSolutionsFunction.cs @@ -52,4 +52,90 @@ public class RhSolutionsFunction } } } + [ExcelFunction] + public static object РЕХАУ(string line) => RHSOLUTIONS(line); + [ExcelFunction] + public static object РЕХАУАРТИКУЛ(string line) + { + if (ProductSku.TryParse(line, out var skus)) + { + return skus.First().Id; + } + else + { + return ExcelError.ExcelErrorNA; + } + } + [ExcelFunction] + public static object РЕХАУИМЯ(string line) + { + if (!ProductSku.TryParse(line, out var skus)) + { + return ExcelError.ExcelErrorNA; + } + else + { + var article = skus.First().Id; + IDatabaseClient databaseClient = RhSolutionsAddIn.ServiceProvider.GetService(); + + if (ExcelAsyncUtil.Run("Database request", line, delegate + { + return databaseClient.GetProducts(article) + .GetAwaiter() + .GetResult(); + }) is not IEnumerable requestResult) + { + return "Загрузка..."; + } + else + { + if (!requestResult.Any()) + { + return ExcelError.ExcelErrorNA; + } + + else + { + var firstProduct = requestResult.First(); + return firstProduct.Name; + } + } + } + } + [ExcelFunction] + public static object РЕХАУЦЕНА(string line) + { + if (!ProductSku.TryParse(line, out var skus)) + { + return ExcelError.ExcelErrorNA; + } + else + { + var article = skus.First().Id; + IDatabaseClient databaseClient = RhSolutionsAddIn.ServiceProvider.GetService(); + + if (ExcelAsyncUtil.Run("Database request", line, delegate + { + return databaseClient.GetProducts(article) + .GetAwaiter() + .GetResult(); + }) is not IEnumerable requestResult) + { + return "Загрузка..."; + } + else + { + if (!requestResult.Any()) + { + return ExcelError.ExcelErrorNA; + } + + else + { + var firstProduct = requestResult.First(); + return string.Format("{0:N2} €", firstProduct.Price * 1.2m); + } + } + } + } } \ No newline at end of file diff --git a/RhSolutions.AddIn/Properties/AssemblyInfo.cs b/RhSolutions.AddIn/Properties/AssemblyInfo.cs index 290afaa..af3a71b 100644 --- a/RhSolutions.AddIn/Properties/AssemblyInfo.cs +++ b/RhSolutions.AddIn/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.6.1.5")] -[assembly: AssemblyFileVersion("1.6.1.5")] +[assembly: AssemblyVersion("1.6.2.0")] +[assembly: AssemblyFileVersion("1.6.2.0")]