Exemple #1
0
        /// <summary>
        /// Кнопка Изменить
        /// </summary>
        public async void EditAccount()
        {
            using (var ctx = new FWUDbContext())
            {
                ctx.Entry(_editingAccount).State = EntityState.Modified;
                await ctx.SaveChangesAsync();
            }

            ((MainViewModel)Parent).LoadAccountData();
        }
Exemple #2
0
        /// <summary>
        /// Кнопка Создать
        /// </summary>
        public async void CreateAccount()
        {
            using (var ctx = new FWUDbContext())
            {
                ctx.Accounts.Add(_editingAccount);
                await ctx.SaveChangesAsync();
            }

            (Parent as MainViewModel)?.LoadAccountData();
        }
Exemple #3
0
        /// <summary>
        /// Загрузка Аккаунтов
        /// </summary>
        public async void LoadAccountData()
        {
            Accounts.Clear();
            using (var ctx = new FWUDbContext())
            {
                await ctx.Accounts.LoadAsync();

                Accounts.AddRange(ctx.Accounts.Local.OrderBy(a => a.Name));
            }

            if (Accounts.All(a => a.Name != CreatingName))
            {
                Accounts.Add(CreatingAccount);
            }
        }
Exemple #4
0
        /// <summary>
        /// Кнопка Удалить
        /// </summary>
        public async void RemoveAccount()
        {
            var wm  = new WindowManager();
            var dvm = new DialogViewModel(
                firstMessage: "Вы действительно хотите удалить выбранный аккаунт?",
                dialogType: DialogViewModel.DialogType.YES_NO);

            if (wm.ShowDialog(dvm) ?? false)
            {
                using (var ctx = new FWUDbContext())
                {
                    ctx.Entry(((MainViewModel)Parent).SelectedAccount).State = EntityState.Deleted;
                    await ctx.SaveChangesAsync();
                }

                ((MainViewModel)Parent).LoadAccountData();
            }
        }