Esempio n. 1
0
        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;
                }
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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)));
 }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
                }
            }
        }