コード例 #1
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;
        }
コード例 #2
0
        internal DateiManagerViewModel(string guid,
                                       string komponente,
                                       string hersteller,
                                       string beschreibung,
                                       bool isCachedKomponente,
                                       List <DateiDto> dateiListe)
        {
            DateiListe    = new ObservableCollection <DokumentViewModel>();
            _deletedItems = new List <string>();

            SichernCommand       = new MyParameterCommand <Window>(SichernVoid);
            HinzufuegenCommand   = new MyParameterCommand <Window>(OnHinzufuegen);
            ExportCommand        = new MyParameterCommand <Window>(OnExport);
            ZuruecksetzenCommand = new MyCommand(Zuruecksetzen);

            _komponenteGuid         = guid;
            _komponenteKomponente   = komponente;
            _komponenteHersteller   = hersteller;
            _komponenteBeschreibung = beschreibung;

            _isCachedKomponente = isCachedKomponente;

            if (_isCachedKomponente)
            {
                DateiCache = new List <DateiDto>(dateiListe);

                foreach (var item in DateiCache)
                {
                    var viewModel = new DokumentViewModel(_komponenteGuid, item)
                    {
                        NachObenAction  = NachObenSortieren,
                        NachUntenAction = NachUntenSortieren,
                        LoeschenAction  = Loeschen
                    };
                    viewModel.PropertyChanged += ContentPropertyChanged;

                    DateiListe.Add(viewModel);
                }
            }
            else
            {
                DateiCache = new List <DateiDto>();

                if (Directory.Exists(Path.Combine("Daten", _komponenteGuid)))
                {
                    var liste = new List <DateiDto>();
                    PluginManager.DbManager.GetDateiInfos(_komponenteGuid, ref liste);

                    foreach (var datei in liste)
                    {
                        var viewModel = new DokumentViewModel(_komponenteGuid, datei)
                        {
                            NachObenAction  = NachObenSortieren,
                            NachUntenAction = NachUntenSortieren,
                            LoeschenAction  = Loeschen
                        };
                        viewModel.PropertyChanged += ContentPropertyChanged;

                        DateiListe.Add(viewModel);
                    }
                }
            }

            IsDirty = false;
        }
コード例 #3
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);
                }
            }
        }