コード例 #1
0
        /// <summary>
        /// Helper-Methode zum einfachen Anzeigen des Fensters
        /// </summary>
        /// <param name="model">Das ViewModel, welches angezeigt werden soll</param>
        /// <returns>true, falls der User Ok geklickt hat</returns>
        public static bool Display(AutoVm model)
        {
            // damit wir beim Abbrechen nicht aus Versehen etwas
            // übernehmen, das wir nicht wollen, arbeiten wir
            // temporär mit einer Kopie
            var vm = PoorMansObjectCloner.Clone <AutoVm>(model);

            var win = new AutoWindow(vm);

            // wir zeigen das Fenster als Dialogfenster (blockierend!) an
            if (win.ShowDialog() != true)
            {
                // Abbrechen ...
                Debug.WriteLine("Bearbeitung des Autos abgebrochen");
                return(false);
            }

            // Ok geklickt...
            Debug.WriteLine("Bearbeitung des Autos beendet");

            // nun wollen wir die geänderten Properties zurück ins
            // Originalobjekt übernehmen
            PoorMansObjectCloner.CopyProperties(vm, model);

            return(true);
        }
コード例 #2
0
        public AutoWindow(AutoVm model)
        {
            InitializeComponent();

            Model = model;

            DataContext = Model;
        }
コード例 #3
0
        public AutoWindow(AutoVm model = null)
        {
            InitializeComponent();

            // falls kein Model übergeben wurde, erstellen wir einfach eines:
            Model = model ?? new AutoVm();

            DataContext = Model;
        }
コード例 #4
0
        public static void Display(AutoVm vm)
        {
            var page = new AutoPage();

            page.BindingContext = vm;
            page.Title          = vm.Name;

            App.Current.MainPage.Navigation.PushAsync(page, true);
        }
コード例 #5
0
        public void UpdateAuto(AutoVm vm)
        {
            // aus DB laden
            var dto = AutoClient.GetAuto(new GetAutoRequest()
            {
                AutoId = vm.Id
            });

            // properties kopieren
            dto.Marke      = vm.Name;
            dto.Tagestarif = (int)vm.Tagestarif;
            dto.AutoKlasse = (AutoKlasse)(int)vm.Autoklasse;

            // in DB schreiben
            AutoClient.UpdateAuto(dto, Metadata.Empty);
        }