private void OnNeuesFahrrad(Window window) { try { var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var file = Path.Combine(path, "Szenariorechner_" + HilfsFunktionen.GetValidFileName(NeuesFahrrad) + ".csv"); var i = 1; while (File.Exists(file)) { file = Path.Combine(path, "Szenariorechner_" + HilfsFunktionen.GetValidFileName(NeuesFahrrad) + string.Format(" ({0}).csv", i++)); } using (var sw = new StreamWriter(file, false, Encoding.Default)) { sw.Write(CsvFormatter.GetFormattetAlternativen(VergleichsListe)); } Process.Start(new ProcessStartInfo("explorer.exe") { Arguments = "/select, \"" + file + "\"" }); } catch (IOException ex) { HilfsFunktionen.ShowMessageBox(window, "Szenariorechner", ex.Message, true); } NeuesFahrrad = ""; }
private void OnArtikelInfosAbrufen(Window window) { var errorText = string.Empty; if (!string.IsNullOrWhiteSpace(DatenbankId)) { var index = DatenbankId.IndexOf(':'); if (index > 0) { var produktId = DatenbankId.Substring(index + 1); if (!string.IsNullOrWhiteSpace(produktId)) { var datenbanken = new List <DatenbankDto> { new DatenbankDto { Datenbank = DatenbankAnzeigeString } }; PluginManager.DbManager.GetDatenbankDaten(ref datenbanken); var dialog = new WaitWindow(DatenbankAnzeigeString, datenbanken[0].ApiToken, "", "", produktId) { Owner = window }; dialog.ShowDialog(); if (dialog.Success) { DatenbankInfos = dialog.ResultProduktString; } else { errorText = dialog.ErrorText; } } else { errorText = "Verknüpfung zur Gewichtsdatenbank fehlerhaft."; } } else { errorText = "Verknüpfung zur Gewichtsdatenbank fehlerhaft."; } } else { errorText = "Verknüpfung zur Gewichtsdatenbank fehlerhaft."; } if (!string.IsNullOrWhiteSpace(errorText)) { HilfsFunktionen.ShowMessageBox(window, "Teileliste", errorText, true); } }
public void OnClosing(object sender, CancelEventArgs e) { if (IsDirty) { var window = sender as Window; var owner = window ?? Application.Current.MainWindow; if (HilfsFunktionen.ShowCloseQuestionBox(owner, "Wunschliste")) { Sichern(); } else { foreach (var item in _dateiCache) { foreach (var file in item.Item2) { try { File.Delete(Path.Combine("Daten", "Temp", file.Guid + "." + file.Dateiendung)); } catch (Exception) { } } } } } }
private void OnFileManager(Window window) { var dateiName = Path.Combine("Daten", KomponenteGuid, Guid + "." + Dateiendung); if (!string.IsNullOrWhiteSpace(dateiName)) { try { if (File.Exists(dateiName)) { Process.Start(dateiName); } else { dateiName = Path.Combine("Daten", "Temp", Guid + "." + Dateiendung); if (File.Exists(dateiName)) { Process.Start(dateiName); } } } catch (Exception e) { var message = "Die Datei konnte nicht geöffnet werden." + Environment.NewLine + Environment.NewLine + e.Message; HilfsFunktionen.ShowMessageBox(window, "Dateimanager", message, true); } } }
private void OnFahrradLoeschen(Window owner) { var text = "Möchten Sie das Fahrrad wirklich löschen?"; if (HilfsFunktionen.ShowQuestionBox(owner, "Teileliste", text)) { FahrradLoeschenAction(Guid); } }
public void OnClosing(object sender, CancelEventArgs e) { if (IsDirty) { var window = sender as Window; var owner = window ?? Application.Current.MainWindow; if (HilfsFunktionen.ShowCloseQuestionBox(owner, "Kategorien")) { Sichern(); } } }
public void OnClosing(object sender, CancelEventArgs e) { if (IsDirty) { var window = sender as Window; var owner = window ?? Application.Current.MainWindow; if (HilfsFunktionen.ShowCloseQuestionBox(owner, "Dateimanager")) { if (!Sichern(owner)) { e.Cancel = true; } } } }
public void OnSuchen(Window window) { var selectedKategorie = string.Empty; foreach (var item in KategorienList) { selectedKategorie = GetSelectedKategorie(item); if (!string.IsNullOrWhiteSpace(selectedKategorie)) { break; } } var progressWindow = new WaitWindow(AusgewaelteDatenbank, UserApiToken, HerstellerSuchen ? SelectedHersteller.Key : "", KategorieSuchen ? selectedKategorie : "", "") { Owner = window }; progressWindow.ShowDialog(); if (progressWindow.Success) { Datenbankteile.Clear(); foreach (var item in progressWindow.ResultList) { if (AktuellerDatenbankModus == DatenbankModus.NoneSelection) { item.EinbauenAction = EinbauenAction; item.TauschenAction = TauschenAction; item.Differenz = SelectedTeilGewicht == -1 ? 0 : item.Gewicht - SelectedTeilGewicht; } item.PropertyChanged += ContentPropertyChanged; Datenbankteile.Add(item); } SelectedItem = null; UpdateProperty("KeineTeileVisible"); } else { HilfsFunktionen.ShowMessageBox(window, "Teileliste", progressWindow.ErrorText, true); } }
private void Loeschen(Window window, string guid) { var item = DateiListe.First(teil => teil.Guid == guid); try { var dateiName = Path.Combine("Daten", _komponenteGuid, item.Guid + "." + item.Dateiendung); if (File.Exists(dateiName)) { using (var file = File.Open(dateiName, FileMode.Open, FileAccess.ReadWrite, FileShare.None)) { file.Close(); } } else { dateiName = Path.Combine("Daten", "Temp", item.Guid + "." + item.Dateiendung); if (File.Exists(dateiName)) { using (var file = File.Open(dateiName, FileMode.Open, FileAccess.ReadWrite, FileShare.None)) { file.Close(); } } } _deletedItems.Add(item.Guid + "." + item.Dateiendung); DateiListe.Remove(item); IsDirty = true; } catch (Exception ex) { var message = "Die Datei konnte nicht entfernt werden."; message += Environment.NewLine + Environment.NewLine; message += "Stellen Sie sicher, dass die Datei nicht geöffnet ist und versuchen Sie es dann erneut."; if (!string.IsNullOrWhiteSpace(ex.Message)) { message += Environment.NewLine + Environment.NewLine; message += ex.Message; } HilfsFunktionen.ShowMessageBox(window, "Dateimanager", message, true); } }
internal void OnShopClick(Window window) { if (!string.IsNullOrWhiteSpace(Link)) { try { Process.Start(Link); } catch (Exception e) { var message = "Der Link konnte nicht geöffnet werden." + Environment.NewLine + Environment.NewLine + e.Message; HilfsFunktionen.ShowMessageBox(window, "Teileliste", message, true); } } }
private void OnArtikelAufrufen(Window window) { if (!string.IsNullOrWhiteSpace(DatenbankLink)) { try { Process.Start(DatenbankLink); } catch (Exception e) { var message = "Der Link konnte nicht geöffnet werden." + Environment.NewLine + Environment.NewLine + e.Message; HilfsFunktionen.ShowMessageBox(window, TitelText, message, true); } } }
private void OnArtikelInfosAbrufen(Window window) { var errorText = string.Empty; var datenbanken = new List <DatenbankDto> { new DatenbankDto { Datenbank = Datenbank } }; PluginManager.DbManager.GetDatenbankDaten(ref datenbanken); var dialog = new WaitWindow(Datenbank, datenbanken[0].ApiToken, "", "", ProduktId) { Owner = window }; dialog.ShowDialog(); if (dialog.Success) { DatenbankInfos = dialog.ResultProduktString; } else { errorText = dialog.ErrorText; } if (!string.IsNullOrWhiteSpace(errorText)) { HilfsFunktionen.ShowMessageBox(window, TitelText, errorText, true); } }
public void OnAbrufen(Window window) { var progressWindow = new WaitWindow(AusgewaelteDatenbank, UserApiToken, "", "", "") { Owner = window }; progressWindow.ShowDialog(); if (progressWindow.Success) { SaveDatenbanken(); HerstellerList = new ObservableCollection <KeyValuePair <string, string> >(progressWindow.ResultHerstellerDto.Data); SelectedHersteller = HerstellerList.FirstOrDefault(); KategorienList = new ObservableCollection <KategorienViewModel>(progressWindow.ResultKategorienList); foreach (var item in KategorienList) { SetAction(item); } UpdateProperty("KannSuchen"); } else { HilfsFunktionen.ShowMessageBox(window, "Teileliste", progressWindow.ErrorText, true); } }
private void OnExport(Window window) { if (ExportformatCsv) { try { var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var file = Path.Combine(path, "Wunschliste.csv"); var i = 1; while (File.Exists(file)) { file = Path.Combine(path, string.Format("Wunschliste ({0}).csv", i++)); } using (var sw = new StreamWriter(file, false, Encoding.Default)) { sw.Write(CsvFormatter.GetFormattetWunschliste(Wunschliste)); } Process.Start(new ProcessStartInfo("explorer.exe") { Arguments = "/select, \"" + file + "\"" }); } catch (IOException ex) { HilfsFunktionen.ShowMessageBox(window, "Wunschliste", ex.Message, true); } } else { var liste = new List <EinzelteilExportDto>(); foreach (var item in Wunschliste) { var wunschteil = new EinzelteilExportDto { Guid = item.Guid, Komponente = item.Komponente, Hersteller = item.Hersteller, Beschreibung = item.Beschreibung, Groesse = item.Groesse, Jahr = item.Jahr, DatenbankId = item.DatenbankId, DatenbankLink = item.DatenbankLink, Preis = item.Preis, Gewicht = item.Gewicht, DokumentenListe = new List <DateiDto>() }; if (item.IsNeueKomponente) { var cachedItem = _dateiCache.FirstOrDefault(teil => teil.Item1 == wunschteil.Guid); if (cachedItem != null) { wunschteil.DokumentenListe.AddRange(cachedItem.Item2); } } else { var dateiListe = new List <DateiDto>(); PluginManager.DbManager.GetDateiInfos(item.Guid, ref dateiListe); wunschteil.DokumentenListe.AddRange(dateiListe); } liste.Add(wunschteil); } PluginManager.ExportManager.ExportKomponenten(new WindowInteropHelper(window).Handle, "Wunschliste", CsvFormatter.GetFormattetWunschliste(Wunschliste), liste); } }
private void PackAndOpenZipFile(IEnumerable <ZipOrdnerDto> fileList, string baseFileName, string csvDatei) { var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var secureBaseFileName = HilfsFunktionen.GetValidFileName(baseFileName); var file = Path.Combine(path, secureBaseFileName + ".zip"); var i = 1; while (File.Exists(file)) { file = Path.Combine(path, string.Format(secureBaseFileName + " ({0}).zip", i++)); } using (FileStream fs = new FileStream(file, FileMode.Create)) { using (ZipArchive arch = new ZipArchive(fs, ZipArchiveMode.Create)) { if (!string.IsNullOrWhiteSpace(csvDatei)) { var entry = arch.CreateEntry("Komponenten.csv"); entry.LastWriteTime = DateTimeOffset.Now; using (var entryStream = entry.Open()) { using (var streamWriter = new StreamWriter(entryStream, System.Text.Encoding.Default)) { streamWriter.Write(csvDatei); } } } var zipFileList = new List <DateiVerzeichnisEintragDto>(); foreach (var folder in fileList) { var folderName = HilfsFunktionen.GetValidFileName(folder.FolderName); foreach (var item in folder.FileList) { var subFolder = HilfsFunktionen.GetValidFileName(item.Kategorie); var fileName = HilfsFunktionen.GetValidFileName(item.Beschreibung); var baseFile = Path.Combine(folderName, subFolder, fileName); var secureFileName = baseFile; var j = 1; while (!IsUniqueFileName(secureFileName, item.Dateiendung, zipFileList)) { secureFileName = string.Format("{0} ({1})", secureFileName, j++); } zipFileList.Add(new DateiVerzeichnisEintragDto { ParentGuid = folder.ParentGuid, FileName = secureFileName + "." + item.Dateiendung, Kategorie = item.Kategorie, Dateiendung = item.Dateiendung, Beschreibung = item.Beschreibung }); var fileToExport = Path.Combine("Daten", folder.ParentGuid, item.Guid + "." + item.Dateiendung); if (!File.Exists(fileToExport)) { fileToExport = Path.Combine("Daten", "Temp", item.Guid + "." + item.Dateiendung); } arch.CreateEntryFromFile(fileToExport, secureFileName + "." + item.Dateiendung); } } if (!string.IsNullOrWhiteSpace(csvDatei)) { var entry = arch.CreateEntry("Dateiverzeichnis.csv"); entry.LastWriteTime = DateTimeOffset.Now; using (var entryStream = entry.Open()) { using (var streamWriter = new StreamWriter(entryStream, Encoding.Default)) { var dateiMap = new StringBuilder(); foreach (var item in zipFileList) { dateiMap.AppendLine(string.Format("{0};{1};{2};{3};{4}", item.ParentGuid, item.FileName, item.Dateiendung, item.Kategorie == null ? "" : item.Kategorie.Replace(";", ""), item.Beschreibung == null ? "" : item.Beschreibung.Replace(";", ""))); } streamWriter.Write(dateiMap.ToString()); } } } } } Process.Start(new ProcessStartInfo("explorer.exe") { Arguments = "/select, \"" + file + "\"" }); }
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(); } }
public SzenariorechnerViewModel(FahrradViewModel selectedFahrrad, List <KomponenteDto> alternativenListe) { var komponentenListe = new List <KomponenteDto>(); PluginManager.DbManager.GetKomponente(selectedFahrrad.Guid, ref komponentenListe); VergleichsListe = new ObservableCollection <SzenarioKomponenteViewModel>(); OhneAlternative = new ObservableCollection <OhneZuordnungViewModel>(); OhneKomponente = new ObservableCollection <OhneZuordnungViewModel>(); Restekiste = new ObservableCollection <SzenarioAlternativeViewModel>(); Wunschliste = new ObservableCollection <SzenarioAlternativeViewModel>(); foreach (var item in komponentenListe) { var vm = new SzenarioKomponenteViewModel() { Komponente = item.Komponente, Gewicht = item.Gewicht, Guid = item.Guid, Beschreibung = HilfsFunktionen.GetAnzeigeName(item), AlternativeVorhanden = false, LoeschenAction = ZeileLoeschen }; vm.PropertyChanged += ContentPropertyChanged; var alternative = alternativenListe.Find(x => x.Komponente == item.Komponente); if (alternative != null) { vm.AlternativeHersteller = alternative.Hersteller; vm.AlternativeBeschreibung = alternative.Beschreibung; vm.AlternativeGroesse = alternative.Groesse; vm.AlternativeJahr = alternative.Jahr; vm.AlternativeGewicht = alternative.Gewicht; vm.AlternativeVorhanden = true; alternativenListe.Remove(alternative); } else { vm.AlternativeVorhanden = false; vm.AlternativeHersteller = ""; vm.AlternativeBeschreibung = ""; vm.AlternativeGroesse = ""; vm.AlternativeJahr = ""; vm.AlternativeGewicht = 0; var zuord = new OhneZuordnungViewModel { Guid = vm.Guid, Komponente = vm.Komponente, Beschreibung = vm.Beschreibung, Gewicht = vm.Gewicht, Differenz = -vm.Gewicht, Alternative = vm.AlternativeName }; zuord.ZuordnenAction = OnZuordnenOhneAlternative; OhneAlternative.Add(zuord); } VergleichsListe.Add(vm); } foreach (var item in alternativenListe) { var vm = new SzenarioKomponenteViewModel { Komponente = item.Komponente, Gewicht = 0, Beschreibung = null, Guid = item.Guid, AlternativeHersteller = item.Hersteller, AlternativeBeschreibung = item.Beschreibung, AlternativeGroesse = item.Groesse, AlternativeJahr = item.Jahr, AlternativeGewicht = item.Gewicht, AlternativeVorhanden = true, LoeschenAction = ZeileLoeschen }; vm.PropertyChanged += ContentPropertyChanged; VergleichsListe.Add(vm); var zuord = new OhneZuordnungViewModel { Guid = vm.Guid, Komponente = vm.Komponente, Beschreibung = vm.Beschreibung, Alternative = vm.AlternativeName, Gewicht = vm.AlternativeGewicht, Differenz = vm.AlternativeDifferenz }; zuord.ZuordnenAction = OnZuordnenOhneKomponente; OhneKomponente.Add(zuord); } SelectedKomponente = null; var restekiste = new List <RestteilDto>(); PluginManager.DbManager.GetEinzelteile(ref restekiste); foreach (var restteil in restekiste) { var vm = new SzenarioAlternativeViewModel() { Komponente = restteil.Komponente, Gewicht = restteil.Gewicht, Hersteller = restteil.Hersteller, Beschreibung = restteil.Beschreibung, Groesse = restteil.Groesse, Jahr = restteil.Jahr, Guid = restteil.Guid, Differenz = 0, EinbauenAction = EinbauenRestekiste, TauschenAction = TauschenRestekiste }; Restekiste.Add(vm); } AlleRestteile = CollectionViewSource.GetDefaultView(Restekiste); RestekisteFilterAktiv = true; AlleRestteile.Filter = FilterRestekiste; var wunschliste = new List <WunschteilDto>(); PluginManager.DbManager.GetWunschteile(ref wunschliste); foreach (var wunschteil in wunschliste) { var vm = new SzenarioAlternativeViewModel() { Komponente = wunschteil.Komponente, Gewicht = wunschteil.Gewicht, Hersteller = wunschteil.Hersteller, Beschreibung = wunschteil.Beschreibung, Groesse = wunschteil.Groesse, Jahr = wunschteil.Jahr, Guid = wunschteil.Guid, Differenz = 0, EinbauenAction = EinbauenWunschliste, TauschenAction = TauschenWunschliste }; Wunschliste.Add(vm); } AlleWunschteile = CollectionViewSource.GetDefaultView(Wunschliste); WunschlisteFilterAktiv = true; AlleWunschteile.Filter = FilterWunschliste; var datenbanken = new List <DatenbankDto> { new DatenbankDto { Datenbank = "mtb-news.de" }, new DatenbankDto { Datenbank = "rennrad-news.de" } }; PluginManager.DbManager.GetDatenbankDaten(ref datenbanken); DatenbankViewModel = new WebAuswahlViewModel(datenbanken, DatenbankModus.NoneSelection); DatenbankViewModel.EinbauenAction = EinbauenGewichtsdatenbank; DatenbankViewModel.TauschenAction = TauschenGewichtsdatenbank; NeueKomponente = ""; NeuerHersteller = ""; NeueBeschreibung = ""; NeueGroesse = ""; NeuesJahr = ""; KomponenteEnabled = true; NeuesFahrrad = ""; NameFahrrad = selectedFahrrad.Name; AlternativeBearbeiten = true; HinzufuegenCommand = new MyCommand(OnHinzufuegen); TauschenCommand = new MyCommand(OnTauschen); NeuesFahrradCommand = new MyParameterCommand <Window>(OnNeuesFahrrad); }
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 ExportKomponenten(IntPtr parent, string dateiName, string csvContent, List <EinzelteilExportDto> listeKomponenten) { var dialog = new ExportManagerDialog(); new WindowInteropHelper(dialog).Owner = parent; var viewModel = new ExportManagerViewModel(listeKomponenten, !string.IsNullOrWhiteSpace(csvContent)) { CloseAction = dialog.Close }; dialog.DataContext = viewModel; dialog.ShowDialog(); if (viewModel.DoExport) { try { var komponentenList = new List <ZipOrdnerDto>(); foreach (var komponente in viewModel.DateiListe) { if (komponente.DateiViewModelListe.Any(teil => teil.IsChecked)) { var newItem = new ZipOrdnerDto { ParentGuid = komponente.Guid, FolderName = HilfsFunktionen.GetValidFileName(komponente.Komponente) }; if (newItem.FolderName.Length >= 64) { newItem.FolderName = newItem.FolderName.Substring(0, 64); } newItem.FileList = new List <ZipDateiDto>(); foreach (var item in komponente.DateiViewModelListe) { newItem.FileList.Add(new ZipDateiDto() { Dateiendung = item.Dateiendung, Guid = item.Guid, Kategorie = item.Kategorie, Beschreibung = item.Beschreibung }); } komponentenList.Add(newItem); } } PackAndOpenZipFile(komponentenList, dateiName, viewModel.MitCsv ? csvContent : ""); } catch (IOException ex) { throw new Exception("Die Daten konnten nicht exportiert werden", ex); } } }
public bool Sichern(Window window) { var bReturn = true; try { if (_isCachedKomponente) { foreach (var item in _deletedItems) { var deletedItem = DateiCache.FirstOrDefault(teil => teil.Guid == item); if (deletedItem != null) { try { File.Delete(Path.Combine("Daten", "Temp", deletedItem.Guid + "." + deletedItem.Dateiendung)); } catch (Exception) { } } } DateiCache.Clear(); foreach (var item in DateiListe) { DateiCache.Add(new DateiDto { Guid = item.Guid, Kategorie = item.Kategorie, Beschreibung = item.Beschreibung, Dateiendung = item.Dateiendung }); } } else { PluginManager.DbManager.DeleteDateiInfos(_komponenteGuid, _deletedItems); _deletedItems.Clear(); PluginManager.DbManager.SaveDateiInfos(_komponenteGuid, DateiListe.Select(item => new DateiDto { Guid = item.Guid, Kategorie = item.Kategorie, Beschreibung = item.Beschreibung, Dateiendung = item.Dateiendung }).ToList()); } IsDirty = false; } catch (Exception ex) { var message = "Beim Speichern der Dateien ist ein Fehler aufgetreten."; if (!string.IsNullOrWhiteSpace(ex.Message)) { message += Environment.NewLine + Environment.NewLine; message += ex.Message; } HilfsFunktionen.ShowMessageBox(window, "Dateimanager", message, true); bReturn = false; } return(bReturn); }
private void OnHinzufuegen(Window window) { var dialog = new NeuesDokumentDialog() { Top = window.Top + 40, Left = window.Left + (window.ActualWidth - 505) / 2, Owner = window }; var viewModel = new DokumentBearbeitenViewModel("", true) { CloseAction = dialog.Close }; dialog.DataContext = viewModel; dialog.ShowDialog(); if (viewModel.IsOk) { try { var datei = viewModel.DateiViewModel.Datei; var dateiendung = Path.GetExtension(datei); if (!string.IsNullOrWhiteSpace(dateiendung)) { if (dateiendung.Substring(0, 1) == ".") { dateiendung = dateiendung.Substring(1); } } dateiendung = dateiendung.ToLower(); var guid = Guid.NewGuid().ToString(); File.Copy(datei, "Daten\\Temp\\" + guid + "." + dateiendung); var newItem = new DokumentViewModel(_komponenteGuid, new DateiDto() { Guid = guid, Beschreibung = viewModel.Beschreibung, Kategorie = viewModel.SelectedKategorie, Dateiendung = dateiendung }) { NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, LoeschenAction = Loeschen }; newItem.PropertyChanged += ContentPropertyChanged; DateiListe.Add(newItem); IsDirty = true; } catch (Exception ex) { var message = "Die Datei konnte nicht kopiert werden."; if (!string.IsNullOrWhiteSpace(ex.Message)) { message += Environment.NewLine + Environment.NewLine; message += ex.Message; } HilfsFunktionen.ShowMessageBox(window, "Dateimanager", message, true); } } }
public EinzelteilZuordnenViewModel(KomponenteDto einzelteil, List <DateiDto> listeDateien, EinzelteilBearbeitenEnum typ) { IsOk = false; switch (typ) { case EinzelteilBearbeitenEnum.Komponente: { TitelText = "Teileliste"; break; } case EinzelteilBearbeitenEnum.Restteil: { TitelText = "Restekiste"; break; } case EinzelteilBearbeitenEnum.Wunschteil: { TitelText = "Wunschliste"; break; } } var converter = new Converter.IntToWeightConverter(); Artikeltext = einzelteil.Komponente + " " + HilfsFunktionen.GetAnzeigeName(einzelteil.Hersteller, einzelteil.Beschreibung, einzelteil.Groesse, einzelteil.Jahr) + " " + converter.Convert(einzelteil.Gewicht, null, null, null); ResultDatenbankLink = ""; ResultDatenbankId = ""; var datenbanken = new List <DatenbankDto> { new DatenbankDto { Datenbank = "mtb-news.de" }, new DatenbankDto { Datenbank = "rennrad-news.de" } }; PluginManager.DbManager.GetDatenbankDaten(ref datenbanken); DatenbankViewModel = new WebAuswahlViewModel(datenbanken, DatenbankModus.SingleSelection); DatenbankViewModel.PropertyChanged += ContentPropertyChanged; AnlegenViewModel = new ArtikelAnlegenViewModel(datenbanken, listeDateien, einzelteil); AnlegenViewModel.PropertyChanged += ContentPropertyChanged; BestehendSuchen = true; OnOkCommand = new MyParameterCommand <Window>(OnOkFunc); HasError = true; }
internal MessungHochladenViewModel(KomponenteDto einzelteil, List <DateiDto> listeDateien, EinzelteilBearbeitenEnum typ) { DatenbankInfos = ""; switch (typ) { case EinzelteilBearbeitenEnum.Komponente: { TitelText = "Teileliste"; break; } case EinzelteilBearbeitenEnum.Restteil: { TitelText = "Restekiste"; break; } case EinzelteilBearbeitenEnum.Wunschteil: { TitelText = "Wunschliste"; break; } } DatenbankLink = einzelteil.DatenbankLink; if (!string.IsNullOrWhiteSpace(einzelteil.DatenbankId)) { var index = einzelteil.DatenbankId.IndexOf(':'); if (index > 0) { Datenbank = einzelteil.DatenbankId.Substring(0, index); ProduktId = einzelteil.DatenbankId.Substring(index + 1); } } var converter = new Converter.IntToWeightConverter(); Artikeltext = einzelteil.Komponente + " " + HilfsFunktionen.GetAnzeigeName(einzelteil.Hersteller, einzelteil.Beschreibung, einzelteil.Groesse, einzelteil.Jahr) + " " + converter.Convert(einzelteil.Gewicht, null, null, null); OnHochladenCommand = new MyParameterCommand <Window>(OnHochladen); ArtikelInfosAbrufenCommand = new MyParameterCommand <Window>(OnArtikelInfosAbrufen); ArtikelAufrufenCommand = new MyParameterCommand <Window>(OnArtikelAufrufen); DateiViewModel = new CommonDateiViewModel(DateiOeffnenEnum.Image); DateiViewModel.PropertyChanged += ContentPropertyChanged; Gewicht = einzelteil.Gewicht; _guid = einzelteil.Guid; var liste = new List <DateiDto>(listeDateien); liste.RemoveAll(item => item.Kategorie != "Gewichtsmessung"); liste.RemoveAll(item => !(item.Dateiendung.ToLower() == "png" || item.Dateiendung.ToLower() == "jpg" || item.Dateiendung.ToLower() == "jpeg")); NeuesAusgewaehlt = liste.Count == 0; AuswahlEnabled = liste.Count > 0; DateiListe = new ObservableCollection <DateiAuswahlViewModel>(); foreach (var item in liste) { DateiListe.Add(new DateiAuswahlViewModel(_guid, TitelText, item)); } SelectedDatei = DateiListe.FirstOrDefault(); HasError = CheckForError(); }