diff --git a/eCompanies/App.xaml.cs b/eCompanies/App.xaml.cs index 90047dc..a6efb17 100644 --- a/eCompanies/App.xaml.cs +++ b/eCompanies/App.xaml.cs @@ -52,26 +52,6 @@ namespace eCompanies db.SaveChanges(); } } - - public static void addUser(Users u) - { - using (var db = new CompaniesDBContext()) - { - u.UserId = 0; - db.Users.Add(u); - db.SaveChanges(); - } - } - - public static void updateUser(int id) - { - using (var db = new CompaniesDBContext()) - { - var x = db.Users.Where(i => i.UserId.Equals(id)); - foreach (Users u in x) db.Users.Update(u); - db.SaveChanges(); - } - } public static void removeUser(int id) { @@ -83,19 +63,6 @@ namespace eCompanies } } - public static void removeUser(List idList) - { - using (var db = new CompaniesDBContext()) - { - foreach (int id in idList) - { - var x = db.Users.Where(i => i.UserId.Equals(id)); - foreach (Users u in x) db.Users.Remove(u); - } - db.SaveChanges(); - } - } - public static MessageBoxResult saveResultsMsgBox() { return MessageBox.Show("Вы закрываете окно с компаниями. Хотите сохранить результаты?", @@ -110,8 +77,5 @@ namespace eCompanies "Поле [Название компании] не может быть пустым!", MessageBoxButton.YesNo); } - - - } } diff --git a/eCompanies/MainWindow.xaml.cs b/eCompanies/MainWindow.xaml.cs index 9b97d9b..ca16776 100644 --- a/eCompanies/MainWindow.xaml.cs +++ b/eCompanies/MainWindow.xaml.cs @@ -65,7 +65,8 @@ namespace eCompanies private void RowDelete_Click(object sender, RoutedEventArgs e) { - ((Company)companyGrid.SelectedItem).dataGridRowStatus = DataGridRowStatus.REMOVED; + Company c = (Company)companyGrid.SelectedItem; + c.dataGridRowStatus = DataGridRowStatus.REMOVED; refreshDataGrid(companyGrid); } @@ -89,14 +90,15 @@ namespace eCompanies { case DataGridRowStatus.REMOVED: App.removeCompany(c.CompanyId); + syncUsers(c); break; case DataGridRowStatus.NEW: - syncUsers(c); App.addCompany(c); + syncUsers(c); break; case DataGridRowStatus.UPDATED: - syncUsers(c); App.updateCompany(c); + syncUsers(c); break; } } @@ -111,12 +113,6 @@ namespace eCompanies case DataGridRowStatus.REMOVED: App.removeUser(u.UserId); break; - case DataGridRowStatus.NEW: - App.addUser(u); - break; - case DataGridRowStatus.UPDATED: - App.updateUser(u.UserId); - break; } } } diff --git a/eCompanies/UsersWindow.xaml.cs b/eCompanies/UsersWindow.xaml.cs index 17f0024..d362df5 100644 --- a/eCompanies/UsersWindow.xaml.cs +++ b/eCompanies/UsersWindow.xaml.cs @@ -20,7 +20,8 @@ namespace eCompanies { InitializeComponent(); currentCompany = c; - currentCompany.Users = App.getUsers(c.CompanyId); + if (currentCompany.dataGridRowStatus == DataGridRowStatus.DEFAULT) + currentCompany.Users = App.getUsers(c.CompanyId); updateCompanyItem = d; updateUsersGrid(c); } @@ -42,20 +43,21 @@ namespace eCompanies currentCompany.Users.Clear(); foreach (Users u in (ObservableCollection)usersGrid.DataContext) { - if ((u.Login == null || u.Password == null || u.Name == null) - && (u.dataGridRowStatus != DataGridRowStatus.REMOVED)) - switch (App.fieldHasNotFilled()) - { - case MessageBoxResult.No: return; - case MessageBoxResult.Yes: e.Cancel = true; return; - } + if (u.dataGridRowStatus != DataGridRowStatus.REMOVED) + if (u.Login == null || u.Password == null || u.Name == null) + switch (App.fieldHasNotFilled()) + { + case MessageBoxResult.No: return; + case MessageBoxResult.Yes: e.Cancel = true; return; + } u.CompanyId = currentCompany.CompanyId; u.Company = currentCompany; currentCompany.Users.Add(u); } currentCompany.ContractStatus = contractStatusComboBox.SelectedIndex; currentCompany.Name = companyNameBox.Text; - currentCompany.dataGridRowStatus = DataGridRowStatus.UPDATED; + if (currentCompany.dataGridRowStatus != DataGridRowStatus.NEW) + currentCompany.dataGridRowStatus = DataGridRowStatus.UPDATED; updateCompanyItem(currentCompany); } @@ -77,9 +79,6 @@ namespace eCompanies e.NewItem = new Users(); var newItem = e.NewItem as Users; newItem.dataGridRowStatus = DataGridRowStatus.NEW; - var c = ((DataGrid)sender).DataContext as ObservableCollection; - if (c.Count != 0) - newItem.UserId = c[c.Count - 1].UserId + 1; } } }