public void NachUntenSortieren(string guid) { var teil1 = DateiListe.First(teil => teil.Guid == guid); if (teil1 != null && DateiListe.IndexOf(teil1) + 1 < DateiListe.Count) { var teil2 = DateiListe[DateiListe.IndexOf(teil1) + 1]; if (teil2 != null) { DateiListe.Move(DateiListe.IndexOf(teil1), DateiListe.IndexOf(teil2)); IsDirty = 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); } }
public void Zuruecksetzen() { DateiListe.Clear(); _deletedItems.Clear(); var teileliste = new List <DateiDto>(); if (_isCachedKomponente) { foreach (var item in DateiCache) { var viewModel = new DokumentViewModel(_komponenteGuid, item) { NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, LoeschenAction = Loeschen }; viewModel.PropertyChanged += ContentPropertyChanged; DateiListe.Add(viewModel); } } else { PluginManager.DbManager.GetDateiInfos(_komponenteGuid, ref teileliste); foreach (var item in teileliste) { var viewModel = new DokumentViewModel(_komponenteGuid, item) { LoeschenAction = Loeschen, NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren }; viewModel.PropertyChanged += ContentPropertyChanged; DateiListe.Add(viewModel); } } IsDirty = false; }
private bool Validate() { return(MitCsv || DateiListe.Any(teil => teil.DateiViewModelListe.Any(item => item.IsChecked))); }
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); } } }