private void _worker_DoWork(object sender, DoWorkEventArgs e) { try { var eventArgs = e.Argument as UploadApiEventArgs; if (eventArgs != null) { var apiHandler = new ApiHandler(); if (eventArgs.Messung != null) { var result = apiHandler.SendMessung(eventArgs.Datenbank, eventArgs.ApiToken, eventArgs.Messung.ProduktId, eventArgs.Messung.Gewicht, eventArgs.Messung.ImageBase64); if (result.Status == "OK") { e.Result = true; } } else if (eventArgs.Produkt != null) { var dto = new AddProduktDto { Kategorie = eventArgs.Produkt.Kategorie, Hersteller = eventArgs.Produkt.Hersteller, Beschreibung = eventArgs.Produkt.Beschreibung, Gewicht = eventArgs.Produkt.Gewicht, GewichtHersteller = eventArgs.Produkt.GewichtHersteller, Groesse = eventArgs.Produkt.Groesse, ImageBase64 = eventArgs.Produkt.ImageBase64, Jahr = eventArgs.Produkt.Jahr, Kommentar = eventArgs.Produkt.Kommentar, Link = eventArgs.Produkt.Link }; var result = apiHandler.SendProdukt(eventArgs.Datenbank, eventArgs.ApiToken, dto); if (result.Status == "OK") { ResultProduktId = String.Format("{0}", (int)result.Data.Produkt.ProduktId); ResultProduktUrl = result.Data.Produkt.ProduktUrl; e.Result = true; } } } } catch (Exception ex) { e.Result = false; ErrorText = ex.Message; } }
internal ResponseMessungDto SendProdukt(string datenbank, string apiToken, AddProduktDto produkt) { var url = "https://gewichte."; url += datenbank; url += "/api/v1/products/add.json"; var ser = new DataContractJsonSerializer(typeof(AddProduktDto)); var ms = new MemoryStream(); ser.WriteObject(ms, produkt); byte[] byteArray = ms.ToArray(); var response = GetPostResponse(url, apiToken, byteArray); return((ResponseMessungDto)_parser.ConvertJson(typeof(ResponseMessungDto), response)); }