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();
}
}
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<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()
{
return MessageBox.Show("Вы закрываете окно с компаниями. Хотите сохранить результаты?",
@ -110,8 +77,5 @@ namespace eCompanies
"Поле [Название компании] не может быть пустым!",
MessageBoxButton.YesNo);
}
}
}

14
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;
}
}
}

23
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<Users>)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<Users>;
if (c.Count != 0)
newItem.UserId = c[c.Count - 1].UserId + 1;
}
}
}

Loading…
Cancel
Save