/// <summary> /// Кнопка Изменить /// </summary> public async void EditAccount() { using (var ctx = new FWUDbContext()) { ctx.Entry(_editingAccount).State = EntityState.Modified; await ctx.SaveChangesAsync(); } ((MainViewModel)Parent).LoadAccountData(); }
/// <summary> /// Кнопка Создать /// </summary> public async void CreateAccount() { using (var ctx = new FWUDbContext()) { ctx.Accounts.Add(_editingAccount); await ctx.SaveChangesAsync(); } (Parent as MainViewModel)?.LoadAccountData(); }
/// <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); } }
/// <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(); } }