Пример #1
0
        public IEnumerable <EducationObject> GetTasksFromSection(EducationObject section)
        {
            var tasks = new List <EducationObject>();

            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                connection.Open();

                SqlCommand cmd = new SqlCommand("GetTasksWithinSection", connection);

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@SectionId", section.Id));

                var reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    tasks.Add(new EducationObject
                    {
                        Id            = (int)reader["Id"],
                        Name          = reader["Code"]?.ToString(),
                        EducationType = EducationType.Task
                    });
                }

                connection.Close();
            }

            return(tasks);
        }
        public AllUserEducationList()
        {
            InitializeComponent();
            DataContext = new UserActionViewModelClass();
            //add cards
            var allObjects = ((UserActionViewModelClass)DataContext).LoginUserEducationList;

            if (allObjects.Count > 0)
            {
                using (ApplicationContext db = new ApplicationContext())
                {
                    foreach (UserEducationList userListObject in allObjects)
                    {
                        EducationObject         eduObject = db.EducationObjects.Find(userListObject.EducationObjectId);
                        UserEducationObjectCard card      = new UserEducationObjectCard();
                        card.Uid = eduObject.Id.ToString();
                        card.TitleEduObject.Text = eduObject.Name;
                        card.TypeEduObject.Text  = eduObject.Type;
                        card.LevelEduObject.Text = eduObject.Level.ToString();
                        card.Margin               = new System.Windows.Thickness(10);
                        card.DateEduObject.Text   = userListObject.Start.ToShortDateString();
                        card.ResultEduObject.Text = userListObject.Result.ToString();
                        AllUserCards.Children.Add(card);
                    }
                }
            }
            else
            {
                AllUserCards.Children.Add(new VoidNoticeCard());
            }
            //var allObjects = ((UserActionViewModelClass)DataContext).LoginUserCardList;
            //foreach (EducationObjectCard card in allObjects)
            //    AllUserCards.Children.Add(card);
        }
Пример #3
0
        public Preference CheckTaskPreference(EducationObject task, int userId) //todo kijken of het generic kan gemaakt worden
        {
            var taskPreference = new Preference
            {
                Task  = task,
                Value = -1
            };

            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                connection.Open();

                SqlCommand cmd = new SqlCommand("CheckTaskPreference", connection);

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@TaskId", task.Id));
                cmd.Parameters.Add(new SqlParameter("@EmployeeId", userId));

                var reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    taskPreference.Value = (int)reader["Priority"];
                }

                connection.Close();
            }

            return(taskPreference);
        }
        public Preference GetTaskPreference(EducationObject task, int userId)
        {
            var preference = new Preference {
                Value = _repo.CheckTaskPreference(task, userId).Value, Task = task
            };

            return(preference);
        }
        public IActionResult GetTaskFromId(int taskId)
        {
            var task = new EducationObject
            {
                Id = taskId
            };

            task = _taskLogic.GetTaskById(task);
            return(View("ActualEditTask", task));
        }
Пример #6
0
        private void AssignTask(IEnumerable <Employee> tempEmployeeList, EducationObject task)
        {
            List <Employee> sortedEmployeeList = tempEmployeeList.OrderByDescending(e => e.Points).ToList();

            int factor            = task.Factor;
            var selectedEmployees = sortedEmployeeList.Where(e =>
                                                             e.OpenHours[task.Period - 1] - task.EstimatedHours >= -e.MaxOvertime[task.Period - 1]).Take(factor);

            foreach (var employee in selectedEmployees)
            {
                _context.AssignTask(task, employee);
                Employees.First(e => e.Id == employee.Id).OpenHours[task.Period - 1] -= task.EstimatedHours;
                task.Factor--;
            }
        }
        public void RemoveTask(EducationObject toRemoveTask)
        {
            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                connection.Open();

                var cmd = new SqlCommand("RemoveTask", connection)
                {
                    CommandType = CommandType.StoredProcedure
                };

                cmd.Parameters.Add(new SqlParameter("@TaskId", toRemoveTask.Id));
                cmd.ExecuteNonQuery();

                connection.Close();
            }
        }
        public void AssignTask(EducationObject task, Employee emp)
        {
            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                connection.Open();

                var sqlCommand = new SqlCommand($"AssignTask", connection)
                {
                    CommandType = CommandType.StoredProcedure
                };

                sqlCommand.Parameters.AddWithValue("@EmployeeId", emp.Id);
                sqlCommand.Parameters.AddWithValue("@TaskId", task.Id);
                sqlCommand.ExecuteNonQuery();

                connection.Close();
            }
        }
Пример #9
0
        public void UpdateTaskPreference(EducationObject task, int priority, int userId)
        {
            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                connection.Open();

                SqlCommand cmd = new SqlCommand("UpdateTaskPreference", connection);

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@TaskId", task.Id));
                cmd.Parameters.Add(new SqlParameter("@Priority", priority));
                cmd.Parameters.Add(new SqlParameter("@EmployeeId", userId));

                cmd.ExecuteNonQuery();

                connection.Close();
            }
        }
Пример #10
0
        public void AddTermExec(EducationObject termExec)
        {
            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                connection.Open();

                var cmd = new SqlCommand("AddTermExec", connection)
                {
                    CommandType = CommandType.StoredProcedure
                };

                cmd.Parameters.Add(new SqlParameter("@Name", termExec.Name));
                cmd.Parameters.Add(new SqlParameter("@UnitId", termExec.UnitId));
                cmd.Parameters.Add(new SqlParameter("@EstimatedClasses", termExec.Factor));
                cmd.Parameters.Add(new SqlParameter("@TermExecutionId", termExec.Id));
                cmd.ExecuteNonQuery();

                connection.Close();
            }
        }
Пример #11
0
        private List <Employee> GetCompetentEmployees(EducationObject task)
        {
            List <Employee> tempEmployeeList = new List <Employee>();

            foreach (var employee in Employees)
            {
                if (employee.Competences.Any(e => e.Id == task.Id))
                {
                    tempEmployeeList.Add(new Employee()
                    {
                        Id          = employee.Id,
                        OpenHours   = employee.OpenHours,
                        MaxOvertime = employee.MaxOvertime,
                        Preferences = employee.Preferences,
                        Competences = employee.Competences
                    });
                }
            }

            return(tempEmployeeList);
        }
        public void UpdateTask(EducationObject task)
        {
            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                connection.Open();

                var cmd = new SqlCommand("UpdateTask", connection)
                {
                    CommandType = CommandType.StoredProcedure
                };

                cmd.Parameters.Add(new SqlParameter("@TaskId", task.Id));
                cmd.Parameters.Add(new SqlParameter("@Period", task.Period));
                cmd.Parameters.Add(new SqlParameter("@Code", task.Name));
                cmd.Parameters.Add(new SqlParameter("@Explanation", task.Explanation));
                cmd.Parameters.Add(new SqlParameter("@Description", task.Description));
                cmd.Parameters.Add(new SqlParameter("@Hours", task.EstimatedHours));

                cmd.ExecuteNonQuery();

                connection.Close();
            }
        }
        public EducationObject GetTaskById(EducationObject task)
        {
            var returnValue = new EducationObject();

            using (var connection = new SqlConnection(_connectionString))
            {
                connection.Open();

                SqlCommand cmd = new SqlCommand("GetTaskFromId", connection)
                {
                    CommandType = CommandType.StoredProcedure,
                };

                cmd.Parameters.Add(new SqlParameter("@TaskId", task.Id));

                var reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    returnValue = new EducationObject
                    {
                        Id             = (int)reader["Id"],
                        Name           = reader["Code"]?.ToString(),
                        Description    = reader["Description"]?.ToString(),
                        EducationType  = EducationType.Task,
                        Factor         = (int)reader["Factor"],
                        EstimatedHours = (int)reader["Hours"],
                        Period         = (int)reader["Period"],
                        Explanation    = reader["Explanation"]?.ToString()
                    };
                }
                reader.Close();
                connection.Close();
            }

            return(returnValue);
        }
Пример #14
0
 public void EditTermExec([FromBody] EducationObject termExecToEdit)
 {
     _termExecLogic.EditTermExec(termExecToEdit);
 }
Пример #15
0
        private void AddPointsToEmployeesUsingAvailability(IEnumerable <Employee> tempEmployeeList, EducationObject task)
        {
            foreach (var employee in tempEmployeeList)
            {
                var openHours = employee.OpenHours[task.Period - 1];
                int points    = 0;
                if (openHours > 0)
                {
                    points = openHours / 10;
                }
                else
                {
                    points = openHours;
                }

                employee.Points += points;
            }
        }
 public void EditTermExec(EducationObject termExec)
 {
     _repo.EditTermExec(termExec);
 }
 public void DeleteTermExec(EducationObject termExec)
 {
     _repo.DeleteTermExec(termExec);
 }
 public void EditTermExec(EducationObject termExec)
 {
     _context.EditTermExec(termExec);
 }
        public IActionResult RemoveTask([FromBody] EducationObject task)
        {
            _taskLogic.RemoveTask(task);

            return(new JsonResult(new { message = "Success" }));
        }
Пример #20
0
 public void UpdateTask(EducationObject task)
 {
     _repo.UpdateTask(task);
 }
Пример #21
0
 public void AddTermExec([FromBody] EducationObject termExecToAdd)
 {
     _termExecLogic.AddTermExec(termExecToAdd);
 }
Пример #22
0
 public void AddTask(EducationObject toAddTask)
 {
     _repo.AddTask(toAddTask);
 }
Пример #23
0
 public void DeleteTermExec([FromBody] EducationObject termExecToDelete)
 {
     _termExecLogic.DeleteTermExec(termExecToDelete);
 }
 public void AddTermExec(EducationObject termExec)
 {
     _context.AddTermExec(termExec);
 }
 public void DeleteTermExec(EducationObject termExec)
 {
     _context.DeleteTermExec(termExec);
 }
Пример #26
0
        private void AddValueToEmployeePreferences(IEnumerable <Employee> tempEmployeeList, EducationObject task)
        {
            var enumValues = Enum.GetValues(typeof(PreferencePoints));

            foreach (var employee in tempEmployeeList)
            {
                int preferenceValue = 0;
                if (employee.Preferences.FirstOrDefault(p => p.Task.Equals(task)) != null)
                {
                    preferenceValue = employee.Preferences.First(p => p.Task.Equals(task)).Value;
                }

                employee.Points += (int)enumValues.GetValue(preferenceValue);
            }
        }
        public IActionResult AddTask([FromBody] EducationObject taskToAdd)
        {
            _taskLogic.AddTask(taskToAdd);

            return(RedirectToAction("AddTask", "Task"));
        }
Пример #28
0
 public EducationObject GetTaskById(EducationObject task)
 {
     return(_repo.GetTaskById(task));
 }
Пример #29
0
 public void RemoveTask(EducationObject toRemoveTask)
 {
     _repo.RemoveTask(toRemoveTask);
 }
 public void AddTermExec(EducationObject termExec)
 {
     _repo.AddTermExec(termExec);
 }