aboutsummaryrefslogtreecommitdiff
path: root/Functions.cs
blob: 679219578d6d885dc8234541dbc6b84fabd76564 (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();
        }
    }
}