private void OnHochladen(Window window) { var dateiName = string.Empty; if (_neuesAusgewaehlt) { dateiName = DateiViewModel.Datei; } else { dateiName = Path.Combine("Daten", _guid, SelectedDatei.Guid + "." + SelectedDatei.Dateiendung); if (!File.Exists(dateiName)) { dateiName = Path.Combine("Daten", "Temp", SelectedDatei.Guid + "." + SelectedDatei.Dateiendung); } } string base64ImageRepresentation; try { byte[] imageArray = File.ReadAllBytes(dateiName); base64ImageRepresentation = Convert.ToBase64String(imageArray); } catch (Exception ex) { var message = "Die Datei konnte nicht geöffnet werden." + Environment.NewLine + Environment.NewLine + ex.Message; HilfsFunktionen.ShowMessageBox(window, TitelText, message, true); return; } var datenbanken = new List <DatenbankDto> { new DatenbankDto { Datenbank = Datenbank } }; PluginManager.DbManager.GetDatenbankDaten(ref datenbanken); var progressWindow = new UploadWaitwindow(Datenbank, datenbanken[0].ApiToken, new MessungHochladenDto { Gewicht = Gewicht, ProduktId = ProduktId, ImageBase64 = base64ImageRepresentation }, null) { Owner = window }; progressWindow.ShowDialog(); if (progressWindow.Success) { var message = "Die Messung wurde erfolgreich hochgeladen."; if (_neuesAusgewaehlt) { try { var datei = DateiViewModel.Datei; var guid = Guid.NewGuid().ToString(); var dateiendung = Path.GetExtension(datei); if (dateiendung.StartsWith(".")) { dateiendung = dateiendung.Substring(1); } dateiendung = dateiendung.ToLower(); File.Copy(datei, "Daten\\Temp\\" + guid + "." + dateiendung); SaveDateiAction(new DateiDto { Guid = guid, Kategorie = "Gewichtsmessung", Beschreibung = Path.GetFileNameWithoutExtension(datei), Dateiendung = dateiendung }); } catch (Exception ex) { message += Environment.NewLine + Environment.NewLine; message += "Die Datei konnte nicht kopiert werden."; if (!string.IsNullOrWhiteSpace(ex.Message)) { message += Environment.NewLine + Environment.NewLine; message += ex.Message; } } } HilfsFunktionen.ShowMessageBox(window, TitelText, message, false); } else { HilfsFunktionen.ShowMessageBox(window, TitelText, progressWindow.ErrorText, true); } CloseAction(); }
public void OnOkFunc(Window window) { if (!BestehendSuchen) { var datenbanken = new List <DatenbankDto> { new DatenbankDto { Datenbank = AnlegenViewModel.DatenbankViewModel.AusgewaelteDatenbank } }; PluginManager.DbManager.GetDatenbankDaten(ref datenbanken); var dateiName = string.Empty; if (AnlegenViewModel.NeuesAusgewaehlt) { dateiName = AnlegenViewModel.DateiViewModel.Datei; } else { dateiName = Path.Combine("Daten", AnlegenViewModel.Guid, AnlegenViewModel.SelectedDatei.Guid + "." + AnlegenViewModel.SelectedDatei.Dateiendung); if (!File.Exists(dateiName)) { dateiName = Path.Combine("Daten", "Temp", AnlegenViewModel.SelectedDatei.Guid + "." + AnlegenViewModel.SelectedDatei.Dateiendung); } } string base64ImageRepresentation; try { byte[] imageArray = File.ReadAllBytes(dateiName); base64ImageRepresentation = Convert.ToBase64String(imageArray); } catch (Exception ex) { var message = "Die Datei konnte nicht geöffnet werden." + Environment.NewLine + Environment.NewLine + ex.Message; HilfsFunktionen.ShowMessageBox(window, TitelText, message, true); return; } var progressWindow = new UploadWaitwindow(AnlegenViewModel.DatenbankViewModel.AusgewaelteDatenbank, datenbanken[0].ApiToken, null, new ProduktHochladenDto { Beschreibung = AnlegenViewModel.Beschreibung, Gewicht = AnlegenViewModel.Gewicht, GewichtHersteller = AnlegenViewModel.GewichtHersteller, Groesse = AnlegenViewModel.Groesse, Hersteller = AnlegenViewModel.DatenbankViewModel.SelectedHersteller.Key, ImageBase64 = base64ImageRepresentation, Jahr = AnlegenViewModel.Jahr, Kategorie = AnlegenViewModel.DatenbankViewModel.GetSelectedKategorieId(), Kommentar = AnlegenViewModel.Kommentar, Link = AnlegenViewModel.Link }) { Owner = window }; progressWindow.ShowDialog(); if (progressWindow.Success) { ResultDatenbankLink = progressWindow.ResultProduktUrl; ResultDatenbankId = AnlegenViewModel.DatenbankViewModel.AusgewaelteDatenbank + ":" + progressWindow.ResultProduktId; var message = "Die Messung wurde erfolgreich hochgeladen."; if (AnlegenViewModel.NeuesAusgewaehlt) { try { var datei = AnlegenViewModel.DateiViewModel.Datei; var guid = Guid.NewGuid().ToString(); var dateiendung = Path.GetExtension(datei); if (dateiendung.StartsWith(".")) { dateiendung = dateiendung.Substring(1); } dateiendung = dateiendung.ToLower(); File.Copy(datei, "Daten\\Temp\\" + guid + "." + dateiendung); SaveDateiAction(new DateiDto { Guid = guid, Kategorie = "Gewichtsmessung", Beschreibung = Path.GetFileNameWithoutExtension(datei), Dateiendung = dateiendung }); } catch (Exception ex) { message += Environment.NewLine + Environment.NewLine; message += "Die Datei konnte nicht kopiert werden."; if (!string.IsNullOrWhiteSpace(ex.Message)) { message += Environment.NewLine + Environment.NewLine; message += ex.Message; } } } HilfsFunktionen.ShowMessageBox(window, TitelText, message, false); IsOk = true; CloseAction(); } else { HilfsFunktionen.ShowMessageBox(window, TitelText, progressWindow.ErrorText, true); } } else { ResultDatenbankLink = DatenbankViewModel.SelectedItem.DatenbankLink; ResultDatenbankId = DatenbankViewModel.SelectedItem.DatenbankId; IsOk = true; CloseAction(); } }