示例#1
0
        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;
            }
        }
示例#2
0
        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));
        }