aboutsummaryrefslogtreecommitdiff
path: root/src/ExcelDNA/Functions.cs
blob: ec9c60706b1b7702e97255a71d24061f59a301f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using AngleSharp.Dom;
using ExcelDna.Integration;
using System.Net.Http;
using System.Threading.Tasks;

namespace Rehau.Sku.Assist
{
    public class Functions
    {
        private static HttpClient _httpClient = new HttpClient();

        [ExcelFunction]
        public static async Task<string> RAUNAME(string request)
        {
            Task<string> contentTask = Task.Run(() => SkuAssist.GetContent(request, _httpClient));
            Task<IDocument> documentTask = await contentTask.ContinueWith(content => SkuAssist.GetDocument(content));
            IProduct product = await documentTask.ContinueWith(doc => SkuAssist.GetProductFromDocument(doc.Result));
            return product == null ? ExcelError.ExcelErrorNull.ToString() : product.ToString();
        }
    }
}