public async Task ActivateAsync(int id) { var entity = await this.GetAsync(id); entity.Active = true; await context.SaveChangesAsync(); }
private async void BtnSaveClickAsync(object sender, RoutedEventArgs e) { var validated = this.ValidateInput(); if (validated.IsValidated) { MetroAnimatedSingleRowTabControl mainTabControl = Util.FindParent <MetroAnimatedSingleRowTabControl>(this); var currentTab = (MetroTabItem)mainTabControl.SelectedItem; using (var db = new PCEntities()) { try { var otherLocation = ((office_LocatedComboBox.Items .GetItemAt(office_LocatedComboBox.Items.Count - 1) as ComboBoxItem).Content as OtherLocation) .FindChild <TextBox>("txt_otherLocation").Text; if (!string.IsNullOrEmpty(otherLocation)) { db.Offices.Add(new Office { Location = otherLocation, Active = true, }); await db.SaveChangesAsync(); pc.Office_Located = otherLocation; } pc.Active = true; db.Pcs.Add(pc); await db.SaveChangesAsync(); currentTab.Header = pc.PC_Name; btnSave.Content = "Saved"; } catch (Exception ex) { Util.WriteLog(ex.Message + "\n" + ex.StackTrace); Util.ShowMessageBoxAsync("Error", ex.Message); throw; } } } else { var metroWindow = (Application.Current.MainWindow as MetroWindow); await metroWindow.ShowMessageAsync("Warning", validated.ValidateMessage); } }
private async void SaveFromExcelAsync() { var metroWindow = (Application.Current.MainWindow as MetroWindow); MessageDialogStyle style = MessageDialogStyle.AffirmativeAndNegative; var result = await metroWindow.ShowMessageAsync("Confirm", "Are you sure to add these records to database ?", style); if (result == MessageDialogResult.Affirmative) { var controller = await metroWindow.ShowProgressAsync("Adding", "Please wait..."); controller.SetIndeterminate(); using (var db = new PCEntities()) { try { await Task.Run(() => { var list = pcViewModelList.AsQueryable().ProjectTo <Pc>(config); foreach (Pc item in list) { item.Active = true; db.Pcs.Add(item); } }); await db.SaveChangesAsync(); await controller.CloseAsync(); var mesDialogResult = await metroWindow.ShowMessageAsync("Success", "Saved to Database."); btnSaveExcel.Content = "Saved"; btnSaveExcel.IsEnabled = false; if (mesDialogResult == MessageDialogResult.Affirmative) { metroWindow.FindChild <MetroAnimatedSingleRowTabControl>("MainTabControl").SelectedIndex = 0; } } catch (Exception ex) { await controller.CloseAsync(); await metroWindow.ShowMessageAsync("Error", ex.Message); Util.WriteLog(ex.Message + "\n" + ex.StackTrace); } } } }
private async void BtnDeleteClicked(object sender, RoutedEventArgs e) { var result = ShowMessageBox("Delete ?", "Are you sure to delete selected records ?"); if (result == MessageDialogResult.Affirmative) { var selectedList = pcViewSource.Where(q => q.IsSelected) .AsQueryable() .ProjectTo <Pc>(config); foreach (var item in selectedList) { item.Active = false; db.Pcs.Attach(item); db.Entry(item).State = EntityState.Modified; } await db.SaveChangesAsync(); } LoadDataSource(); }
private async Task UpdateAsync() { var mapper = config.CreateMapper(); try { using (var db = new PCEntities()) { foreach (var item in pcViewSource) { var entity = mapper.Map <Pc>(item); if (item.ID == 0) { //ad new pc entity.Active = true; db.Pcs.Add(entity); } else if (item.IsUpdated) { //update a pc db.Pcs.Attach(entity); db.Entry(entity).State = EntityState.Modified; } } await db.SaveChangesAsync(); } } catch (Exception ex) { await Util.ShowMessageBoxAsync("Error !", "Error occured: " + ex.Message); Util.WriteLog(ex.Message + "\n" + ex.StackTrace); } changesCounts = 0; }