Пример #1
0
        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();
        }
Пример #2
0
        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");
            }
        }