예제 #1
0
 public DialogWindowViewModel()
 {
     //Command to add a patient if the userinput matches a CPR number
     this.AddPatientComand = new RelayCommand(parameter =>
     {
         if (Ward.Patients.Find(x => x.CPR == CPREntered) != null)
         {
             (CurrentEmployee as Midwife).AdmitPatient(CurrentEmployee.FindPatient(CPREntered));
             Filemanagement.ReadBirthRecords(CurrentEmployee.FindPatient(CPREntered));
             MessageBox.Show(Ward.Patients.Find(x => x.CPR == CPREntered).Name + " er blevet tilføjet");
             Messenger.Default.Send <Employee>(CurrentEmployee, "ReturnEmployee");
             Messenger.Default.Send <NotificationMessage>(new NotificationMessage("ToHome"));
             Messenger.Default.Send <NotificationMessage>(new NotificationMessage("DialogSave"));
         }
         else
         {
             Messenger.Default.Send <NotificationMessage>(new NotificationMessage("NoPersonWithCPR"));
         }
     });
     //Comman to return to the Homescreen, in case the user didn't want to add a patient anyway
     this.Cancel = new RelayCommand(parameter =>
     {
         Messenger.Default.Send <NotificationMessage>(new NotificationMessage("ToHome"));
     });
     Messenger.Default.Register <Employee>(this, "Employee", (ActiveUser) => { CurrentEmployee = ActiveUser; });
 }
예제 #2
0
        private static void UndoEmployeeExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            CurrentEmployee.Restore();
            var empl = CurrentEmployee;

            Inspection.NotifySuccess(log, $"Employee {empl} restore!");
            e.Handled = true;
        }
예제 #3
0
 public static CurrentEmployeeDTO ToDTO(CurrentEmployee item)
 {
     return(new CurrentEmployeeDTO()
     {
         Id = item.Id,
         Date = item.Date,
         IdEmployee = item.IdEmployee,
     });
 }
 private void OnProblemOverviewOpened(OpenOverviewMessage obj)
 {
     // temporary .. use this code for ProblemOverviewViewModel and DeviceOverviewViewModel instead
     if (CurrentEmployee.AccountTypeOfCurrentEmployee() == "IT-manager")
     {
         ShowAddButton  = false;
         ShowEditButton = false;
     }
     else
     {
         ShowAddButton  = true;
         ShowEditButton = true;
     }
 }
예제 #5
0
        private static void NewEmployeeExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            employeeTemplate.EmploymentDate = DateTime.Now;
            Employee empl = employeeTemplate;

            if (CurrentEmployee == null)
            {
                CurrentEmployee = new EmployeeViewModel();
            }
            CurrentEmployee.Wrap(empl);
            CurrentEmployee.SetCreate();
            ActivateView("PageEmployeeDetails");
            e.Handled = true;
        }
예제 #6
0
        private static void TransferEmployeeExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            bool canTransfer = IsTransferPossible();

            if (canTransfer)
            {
                CurrentEmployee.SetTransfer();
                ActivateView("PageEmployeeDetails");
                e.Handled = true;
            }
            else
            {
                var empl = CurrentEmployee;
                Inspection.NotifyError(log, $"Transfer is not possible, probation period for '{empl}' is not over");
            }
        }
예제 #7
0
        async private static void UpdateEmployeeExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            Employee empl = CurrentEmployee.ApplyChanges();

            if (empl.Id != 0)
            {
                bool isDone = await Data.UpdateEmployee(empl);

                if (isDone)
                {
                    CurrentEmployee.Wrap(empl);
                    CurrentEmployee.SetEdit();
                    Inspection.NotifySuccess(log, $"Employee {empl} Updated!");
                }
                else
                {
                    Inspection.NotifyError(log, "Сan't update!");
                }
            }
            e.Handled = true;
        }
예제 #8
0
        async private static void SaveEmployeeExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            if (CurrentEmployee.Skill.Level > 2)
            {
                Inspection.NotifyError(log, "A new employee can not be assigned a level above 2!");
                return;
            }
            Employee empl = CurrentEmployee.ApplyChanges();

            if (empl.Id == 0)
            {
                if (IsDepartmentAlreadyFull(empl))
                {
                    MessageBoxResult res =
                        MessageBox.Show("The Department is already full \r\n"
                                        + "Please, confirm the appointment of the employee as a Director",
                                        "Warning",
                                        MessageBoxButton.YesNo,
                                        MessageBoxImage.Warning);
                    if (res == MessageBoxResult.No)
                    {
                        return;
                    }
                }
                bool isDone = await Data.AddEmployeeAsync(empl);

                if (isDone)
                {
                    CurrentEmployee.Wrap(empl);
                    CurrentEmployee.SetEdit();
                    Inspection.NotifySuccess(log, $"Employee {empl} Saved!");
                }
                else
                {
                    Inspection.NotifyError(log, "Can't save!");
                }
            }
            e.Handled = true;
        }
예제 #9
0
        private void GetEmployees()
        {
            emplList.Clear();
            try
            {
                using (OracleConnection connection = new OracleConnection(OracleDatabaseConnection.adminConn))
                {
                    connection.Open();
                    OracleParameter curs = new OracleParameter
                    {
                        ParameterName = "curs",
                        Direction     = ParameterDirection.Output,
                        OracleDbType  = OracleDbType.RefCursor,
                    };

                    using (OracleCommand command = new OracleCommand("getEmployees"))
                    {
                        command.Connection  = connection;
                        command.CommandType = CommandType.StoredProcedure;
                        command.Parameters.AddRange(new OracleParameter[] { curs });
                        var       reader = command.ExecuteReader();
                        DataTable dt     = new DataTable();
                        dt.Load(reader);

                        foreach (DataRow row in dt.Rows)
                        {
                            empl = new CurrentEmployee(row["Surname"].ToString(), row["Name"].ToString(),
                                                       row["SecondName"].ToString(), row["Position"].ToString());
                            emplList.Add(empl);
                        }
                    }
                }
            }
            catch (OracleException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #10
0
        public CreateContractWindow(CurrentEmployee currentEmployee)
        {
            InitializeComponent();
            this.currentEmployee = currentEmployee;
            try
            {
                using (OracleConnection connection = new OracleConnection(OracleDatabaseConnection.employeeConn))
                {
                    connection.Open();
                    OracleParameter tariff = new OracleParameter
                    {
                        ParameterName = "tariff",
                        Direction     = ParameterDirection.Output,
                        OracleDbType  = OracleDbType.RefCursor
                    };

                    using (OracleCommand command = new OracleCommand("Administrator.getTariffs"))
                    {
                        command.Connection  = connection;
                        command.CommandType = CommandType.StoredProcedure;
                        command.Parameters.AddRange(new OracleParameter[] { tariff });
                        var       reader = command.ExecuteReader();
                        DataTable dt     = new DataTable();
                        dt.Load(reader);

                        foreach (DataRow row in dt.Rows)
                        {
                            tariffsText.Items.Add(row["Name"].ToString());
                        }
                    }
                }
            }
            catch (OracleException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #11
0
 private static void EditEmployeeExecuted(object sender, ExecutedRoutedEventArgs e)
 {
     CurrentEmployee.SetEdit();
     ActivateView("PageEmployeeDetails");
     e.Handled = true;
 }
 /// <summary>
 /// Create a new CurrentEmployee object.
 /// </summary>
 /// <param name="employeeID">Initial value of EmployeeID.</param>
 /// <param name="lastName">Initial value of LastName.</param>
 /// <param name="firstName">Initial value of FirstName.</param>
 /// <param name="address">Initial value of Address.</param>
 public static CurrentEmployee CreateCurrentEmployee(int employeeID, string lastName, string firstName, CommonAddress address)
 {
     CurrentEmployee currentEmployee = new CurrentEmployee();
     currentEmployee.EmployeeID = employeeID;
     currentEmployee.LastName = lastName;
     currentEmployee.FirstName = firstName;
     currentEmployee.Address = global::System.Data.Objects.DataClasses.StructuralObject.VerifyComplexObjectIsNotNull(address, "Address");
     return currentEmployee;
 }
예제 #13
0
        private void loginButton_Click(object sender, RoutedEventArgs e)
        {
            currentEmployee = new CurrentEmployee();
            currentClient   = new CurrentClient();
            try
            {
                using (OracleConnection connection = new OracleConnection(OracleDatabaseConnection.adminConn))
                {
                    connection.Open();

                    OracleParameter login = new OracleParameter
                    {
                        ParameterName = "in_login",
                        Direction     = ParameterDirection.Input,
                        OracleDbType  = OracleDbType.NVarchar2,
                        Value         = loginText.Text
                    };
                    OracleParameter password = new OracleParameter
                    {
                        ParameterName = "in_password",
                        Direction     = ParameterDirection.Input,
                        OracleDbType  = OracleDbType.NVarchar2,
                        Value         = passwordText.Password
                    };
                    OracleParameter user = new OracleParameter
                    {
                        ParameterName = "user_cur",
                        Direction     = ParameterDirection.Output,
                        OracleDbType  = OracleDbType.RefCursor
                    };
                    if (!loginText.Text.StartsWith("+37533"))
                    {
                        using (OracleCommand command = new OracleCommand("findUser", connection))
                        {
                            command.CommandType = CommandType.StoredProcedure;
                            command.Parameters.AddRange(new OracleParameter[] { login, password, user });
                            var       reader = command.ExecuteReader();
                            DataTable dt     = new DataTable();
                            dt.Load(reader);

                            foreach (DataRow row in dt.Rows)
                            {
                                check = true;
                                currentEmployee.id       = int.Parse(row["Id"].ToString());
                                currentEmployee.position = row["Position"].ToString();
                            }
                        }
                        connection.Close();
                        if (adminPos == currentEmployee.position)
                        {
                            AdminWindow adminWindow = new AdminWindow();
                            adminWindow.Show();
                            this.Close();
                        }

                        if (employeePos == currentEmployee.position)
                        {
                            CreateContractWindow createContractWindow = new CreateContractWindow(currentEmployee);
                            createContractWindow.Show();
                            this.Close();
                        }
                    }
                    else
                    {
                        using (OracleCommand command = new OracleCommand("findClient"))
                        {
                            command.Connection  = connection;
                            command.CommandType = CommandType.StoredProcedure;
                            command.Parameters.AddRange(new OracleParameter[] { login, password, user });
                            var       reader = command.ExecuteReader();
                            DataTable dt     = new DataTable();
                            dt.Load(reader);

                            foreach (DataRow row in dt.Rows)
                            {
                                check            = true;
                                currentClient.id = int.Parse(row["Id"].ToString());
                            }
                            connection.Close();
                            ClientWindow clientWindow = new ClientWindow(currentClient);
                            clientWindow.Show();
                            this.Close();
                        }
                    }
                }
            }
            catch (OracleException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }