private void Zmien(object sender, RoutedEventArgs e) { var db = new AEiI_2020_BD2_Drynda_FlotaEntities(); var peoplePermission = db.PeoplesPermissions; bool newPermission = true; var personPermission = (from workerPermission in db.PeoplesPermissions where workerPermission.personId == toChange.id && workerPermission.Permission.name == "Kierownik" select workerPermission).FirstOrDefault(); if (personPermission != null) { personPermission.grantDate = (System.DateTime)newKierownikStart.SelectedDate; if (newKierownikEnd.Text != "") { personPermission.revokeDate = (System.DateTime)newKierownikEnd.SelectedDate; } else { personPermission.revokeDate = null; } newPermission = false; } if (newPermission == true) //jeśli nie jest kierownikiem dodajemy mu uprawnienie { PeoplesPermission workerPermission = new PeoplesPermission(); workerPermission.grantDate = (System.DateTime)newKierownikStart.SelectedDate; if (newKierownikEnd.Text != "") { workerPermission.revokeDate = (System.DateTime)newKierownikEnd.SelectedDate; } else { workerPermission.revokeDate = null; } workerPermission.personId = toChange.id; peoplePermission.Add(workerPermission); } MessageBox.Show("Zmienieono!", "Komunikat"); db.SaveChanges(); }
private void Dodaj_Pracownika(object sender, RoutedEventArgs e) { var db = new AEiI_2020_BD2_Drynda_FlotaEntities(); var workers = db.People; var newWorker = new Person(); bool loginCheck = true; if (Hasło1.Password != Hasło2.Password) { MessageBox.Show("Hasła są różne!", "Komunikat"); } else if (Imie.Text.Length >= 3 && Nazwisko.Text.Length >= 3 && Login.Text.Length >= 6 && Hasło1.Password.Length >= 6) { int personSameLogin = db.People.Where(pp => pp.systemLogin == Login.Text).Count(); if (personSameLogin > 0) { loginCheck = false; } if (loginCheck == false) { MessageBox.Show("Login jest zajęty!", "Komunikat"); } else if (DzienZatrudnienia.SelectedDate != null) { newWorker.firstName = Imie.Text; newWorker.lastName = Nazwisko.Text; newWorker.systemLogin = Login.Text; newWorker.employmentData = DzienZatrudnienia.SelectedDate.Value; newWorker.passwordHash = getHash(Hasło1.Password); workers.Add(newWorker); db.SaveChanges(); if (KierownikBox.IsChecked == true) { var permissionCompany = db.Permissions; var peoplePermission = db.PeoplesPermissions; var workerPermission = new PeoplesPermission(); if (DzienZatrudnienia.SelectedDate == null || DzienKierownictwaStart.SelectedDate < newWorker.employmentData) //jeżeli nie podano od kiedy kierownikiem, lub jest kierownikiem dłużej niż pracuje: błąd { workers.Remove(newWorker); db.SaveChanges(); MessageBox.Show("Błedna data początku", "Komunikat"); return; } if (DzienKierownictwaEnd.SelectedDate <= DzienKierownictwaStart.SelectedDate) { workers.Remove(newWorker); db.SaveChanges(); MessageBox.Show("Błedna data zakonczenia kierownictwa", "Komunikat"); return; } else if (DzienKierownictwaEnd.Text != "") { workerPermission.revokeDate = (System.DateTime)DzienKierownictwaEnd.SelectedDate; } else { workerPermission.revokeDate = null; } foreach (var permissionComp in permissionCompany) { if (permissionComp.name == "Kierownik") { workerPermission.permissionId = permissionComp.Id; } } workerPermission.grantDate = DzienKierownictwaStart.SelectedDate.Value; //od razu staje się kierownikiem workerPermission.personId = newWorker.id; peoplePermission.Add(workerPermission); db.SaveChanges(); } MessageBox.Show("Dodano Pracownika: " + (newWorker.id + 1).ToString() + " " + newWorker.firstName + "\n" + newWorker.lastName, "Komunikat"); } else { MessageBox.Show("Zła data zatrudnienia!", "Komunikat"); } } else { MessageBox.Show("Błędne dane rejestracji!", "Komunikat"); } }