Browse Source

Весь функционал работы через контекстное меню восстановлен. Все элементы создаются, редактируются, удаляются, и все правки сохраняются!

master release_0.1
Никита 6 years ago
parent
commit
5936f66888
  1. 36
      eCompanies/App.xaml.cs
  2. 14
      eCompanies/MainWindow.xaml.cs
  3. 23
      eCompanies/UsersWindow.xaml.cs

36
eCompanies/App.xaml.cs

@ -52,26 +52,6 @@ namespace eCompanies
db.SaveChanges(); 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) public static void removeUser(int id)
{ {
@ -83,19 +63,6 @@ namespace eCompanies
} }
} }
public static void removeUser(List<int> 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() public static MessageBoxResult saveResultsMsgBox()
{ {
return MessageBox.Show("Вы закрываете окно с компаниями. Хотите сохранить результаты?", return MessageBox.Show("Вы закрываете окно с компаниями. Хотите сохранить результаты?",
@ -110,8 +77,5 @@ namespace eCompanies
"Поле [Название компании] не может быть пустым!", "Поле [Название компании] не может быть пустым!",
MessageBoxButton.YesNo); MessageBoxButton.YesNo);
} }
} }
} }

14
eCompanies/MainWindow.xaml.cs

@ -65,7 +65,8 @@ namespace eCompanies
private void RowDelete_Click(object sender, RoutedEventArgs e) 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); refreshDataGrid(companyGrid);
} }
@ -89,14 +90,15 @@ namespace eCompanies
{ {
case DataGridRowStatus.REMOVED: case DataGridRowStatus.REMOVED:
App.removeCompany(c.CompanyId); App.removeCompany(c.CompanyId);
syncUsers(c);
break; break;
case DataGridRowStatus.NEW: case DataGridRowStatus.NEW:
syncUsers(c);
App.addCompany(c); App.addCompany(c);
syncUsers(c);
break; break;
case DataGridRowStatus.UPDATED: case DataGridRowStatus.UPDATED:
syncUsers(c);
App.updateCompany(c); App.updateCompany(c);
syncUsers(c);
break; break;
} }
} }
@ -111,12 +113,6 @@ namespace eCompanies
case DataGridRowStatus.REMOVED: case DataGridRowStatus.REMOVED:
App.removeUser(u.UserId); App.removeUser(u.UserId);
break; break;
case DataGridRowStatus.NEW:
App.addUser(u);
break;
case DataGridRowStatus.UPDATED:
App.updateUser(u.UserId);
break;
} }
} }
} }

23
eCompanies/UsersWindow.xaml.cs

@ -20,7 +20,8 @@ namespace eCompanies
{ {
InitializeComponent(); InitializeComponent();
currentCompany = c; currentCompany = c;
currentCompany.Users = App.getUsers(c.CompanyId); if (currentCompany.dataGridRowStatus == DataGridRowStatus.DEFAULT)
currentCompany.Users = App.getUsers(c.CompanyId);
updateCompanyItem = d; updateCompanyItem = d;
updateUsersGrid(c); updateUsersGrid(c);
} }
@ -42,20 +43,21 @@ namespace eCompanies
currentCompany.Users.Clear(); currentCompany.Users.Clear();
foreach (Users u in (ObservableCollection<Users>)usersGrid.DataContext) foreach (Users u in (ObservableCollection<Users>)usersGrid.DataContext)
{ {
if ((u.Login == null || u.Password == null || u.Name == null) if (u.dataGridRowStatus != DataGridRowStatus.REMOVED)
&& (u.dataGridRowStatus != DataGridRowStatus.REMOVED)) if (u.Login == null || u.Password == null || u.Name == null)
switch (App.fieldHasNotFilled()) switch (App.fieldHasNotFilled())
{ {
case MessageBoxResult.No: return; case MessageBoxResult.No: return;
case MessageBoxResult.Yes: e.Cancel = true; return; case MessageBoxResult.Yes: e.Cancel = true; return;
} }
u.CompanyId = currentCompany.CompanyId; u.CompanyId = currentCompany.CompanyId;
u.Company = currentCompany; u.Company = currentCompany;
currentCompany.Users.Add(u); currentCompany.Users.Add(u);
} }
currentCompany.ContractStatus = contractStatusComboBox.SelectedIndex; currentCompany.ContractStatus = contractStatusComboBox.SelectedIndex;
currentCompany.Name = companyNameBox.Text; currentCompany.Name = companyNameBox.Text;
currentCompany.dataGridRowStatus = DataGridRowStatus.UPDATED; if (currentCompany.dataGridRowStatus != DataGridRowStatus.NEW)
currentCompany.dataGridRowStatus = DataGridRowStatus.UPDATED;
updateCompanyItem(currentCompany); updateCompanyItem(currentCompany);
} }
@ -77,9 +79,6 @@ namespace eCompanies
e.NewItem = new Users(); e.NewItem = new Users();
var newItem = e.NewItem as Users; var newItem = e.NewItem as Users;
newItem.dataGridRowStatus = DataGridRowStatus.NEW; newItem.dataGridRowStatus = DataGridRowStatus.NEW;
var c = ((DataGrid)sender).DataContext as ObservableCollection<Users>;
if (c.Count != 0)
newItem.UserId = c[c.Count - 1].UserId + 1;
} }
} }
} }

Loading…
Cancel
Save