diff --git a/eCompanies/App.xaml.cs b/eCompanies/App.xaml.cs index 3d78758..10fdb58 100644 --- a/eCompanies/App.xaml.cs +++ b/eCompanies/App.xaml.cs @@ -27,7 +27,13 @@ namespace eCompanies public static ObservableCollection getCompanies() { using (var db = new CompaniesDBContext()) - return new ObservableCollection(db.Companies.AsEnumerable()); + return new ObservableCollection(db.Companies.AsEnumerable()); + } + + public static HashSet getUsers(int id) + { + using (var db = new CompaniesDBContext()) + return new HashSet(db.Users.Where(b => b.CompanyId.Equals(id))); } public static void updateCompany(Companies c) diff --git a/eCompanies/Contract.cs b/eCompanies/Contract.cs index adee97f..dab3181 100644 --- a/eCompanies/Contract.cs +++ b/eCompanies/Contract.cs @@ -9,7 +9,7 @@ namespace eCompanies public enum Status { NotReachedYet, Reached, Terminated } public class Contract { - private Companies c { get; set; } + private Companies c; public Contract (Companies c) { this.c = c; diff --git a/eCompanies/MainWindow.xaml b/eCompanies/MainWindow.xaml index 667fc1e..b4a8b26 100644 --- a/eCompanies/MainWindow.xaml +++ b/eCompanies/MainWindow.xaml @@ -18,7 +18,7 @@ - + - + - - - - + + + + diff --git a/eCompanies/UsersWindow.xaml.cs b/eCompanies/UsersWindow.xaml.cs index 74e067f..7a06861 100644 --- a/eCompanies/UsersWindow.xaml.cs +++ b/eCompanies/UsersWindow.xaml.cs @@ -25,9 +25,10 @@ namespace eCompanies { InitializeComponent(); currentCompany = c; + currentCompany.Users = App.getUsers(currentCompany.CompanyId); companyNameBox.Text = c.Name; contractStatusComboBox.SelectedIndex = c.ContractStatus; - usersGrid.DataContext = new ObservableCollection(c.Users.AsEnumerable()); + usersGrid.DataContext = new ObservableCollection(c.Users.AsEnumerable()); } private void usersGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e) @@ -37,8 +38,25 @@ namespace eCompanies private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { MessageBoxResult mbr = MessageBox.Show("Вы закрываете окно с компанией. Хотите сохранить результаты?", "Сохранение изменений", MessageBoxButton.YesNo); - if (mbr == MessageBoxResult.Yes) - App.updateCompany(currentCompany); + if (mbr == MessageBoxResult.No) + return; + currentCompany.ContractStatus = contractStatusComboBox.SelectedIndex; + currentCompany.Name = companyNameBox.Text; + foreach (Users u in (ObservableCollection)usersGrid.DataContext) + { + u.CompanyId = currentCompany.CompanyId; + u.Company = currentCompany; + currentCompany.Users.Add(u); + } + App.updateCompany(currentCompany); + } + + private void usersGrid_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e) + { + } + + private void usersGrid_AddingNewItem(object sender, AddingNewItemEventArgs e) + { } } }