예제 #1
0
 public static int InsertLaboratorySupervisor(LaboratorySupervisor user)
 {
     db.LaboratorySupervisor.Add(user);
     return(db.SaveChanges());
 }
예제 #2
0
        private void saveButton_Click(object sender, EventArgs e)
        {
            user.Person.First_Name    = nameTextBox.Text;
            user.Person.Last_Name     = surnameTextBox.Text;
            user.Person.Sex           = sexComboBox.SelectedIndex == 0 ? "Male" : "Female";
            user.Person.Date_of_birth = birthdatePicker.Value;
            user.Person.Phone_number  = phoneTextBox.Text;
            user.Login = loginTextBox.Text;

            if (termlessCheckBox.Checked)
            {
                user.dt_AccountValidityFrom = null;
                user.dt_AccountValidityTo   = null;
            }
            else
            {
                user.dt_AccountValidityFrom = validityDateFromPicker.Value;
                user.dt_AccountValidityTo   = validityDateToPicker.Value;
            }

            if (Common.CheckLogin(loginTextBox.Text) == -1 && ifNewUser)
            {
                MessageBox.Show("Użytkownik o podanym loginie już istnieje.");
                return;
            }

            bool          changedRole = false;
            List <string> positions   = new List <string>();

            positions.Add("-");
            positions.Add("RegistrationPerson");
            positions.Add("Doctor");
            positions.Add("LaboratoryPerson");
            positions.Add("LaboratorySupervisor");
            positions.Add("Admin");

            if (Program.CurrentUser.Position == "Admin" && user.Position != positions[roleComboBox.SelectedIndex])
            {
                int success = 0;

                if (!ifNewUser)
                {
                    switch (user.Position)
                    {
                    case "RegistrationPerson":
                        success = Common.DeleteRegistrar(user);
                        break;

                    case "Doctor":
                        success = Common.DeleteDoctor(user);
                        break;

                    case "LaboratoryPerson":
                        success = Common.DeleteLaboratoryPerson(user);
                        break;

                    case "LaboratorySupervisor":
                        success = Common.DeleteLaboratorySupervisor(user);
                        break;

                    case "Admin":
                        success = 1;
                        break;

                    default:
                        break;
                    }

                    if (success == 0)
                    {
                        MessageBox.Show("Nie udało się zmienić roli!");
                        return;
                    }
                }

                user.Position = positions[roleComboBox.SelectedIndex];

                switch (roleComboBox.SelectedIndex)
                {
                case 1:
                    RegistrationPerson reg = new RegistrationPerson();

                    reg.Employee   = user;
                    reg.EmployeeId = user.Id;

                    success = Common.InsertRegistrar(reg);
                    break;

                case 2:
                    Doctor doc = new Doctor();

                    doc.Employee   = user;
                    doc.EmployeeId = user.Id;
                    doc.NPWZ       = permissionTextBox.Text;
                    doc.Profession = specializationTextBox.Text;

                    success = Common.InsertDoctor(doc);
                    break;

                case 3:
                    LaboratoryPerson lab = new LaboratoryPerson();

                    lab.Employee   = user;
                    lab.EmployeeId = user.Id;

                    success = Common.InsertLaboratoryPerson(lab);
                    break;

                case 4:
                    LaboratorySupervisor klab = new LaboratorySupervisor();

                    klab.Employee   = user;
                    klab.EmployeeId = user.Id;

                    success = Common.InsertLaboratorySupervisor(klab);
                    break;

                case 5:
                    success = 1;
                    break;

                default:
                    break;
                }

                if (success == 0 && !ifNewUser)
                {
                    MessageBox.Show("Nie udało się zmienić roli!");
                    return;
                }
                else if (success == 0 && ifNewUser)
                {
                    MessageBox.Show("Nie udało się dodać nowego użytkownika!");
                    return;
                }
                else if (success != 0 && ifNewUser)
                {
                    MessageBox.Show("Użytkownika dodano pomyślnie.");
                    Return();
                }
                else
                {
                    changedRole = true;
                }
            }

            if (!ifNewUser)
            {
                if (Common.UpdateEmployee(user) != 0 || changedRole)
                {
                    MessageBox.Show("Dane zaktualizowano pomyślnie.");
                }
                else
                {
                    MessageBox.Show("Nie zaktualizowano danych.");
                    return;
                }
            }

            Return();
        }