Пример #1
0
        public IActionResult DoneTask(int id)
        {
            var task = _employeeTaskRepository.GetTaskById(id);

            if (task != null)
            {
                task.isDone = true;
                var noti = new AdminNotifications
                {
                    CreatedDate = DateTime.Now,
                    FromUserId  = _taskForEmployeeRepository.GetTaskById(id).EmployeeId,
                    IsRead      = false,
                    NotiBody    = "Employee with id " + _taskForEmployeeRepository.GetTaskById(id).EmployeeId
                                  + "finished task with id " + id,
                    NotiHeader = "Finished Task #" + id,
                    ToRole     = ERole.Admin
                };
                _notificationRepository.AddNotificationsForAdmin(noti);
            }
            else
            {
                _logger.LogWarning("Task with id " + id + "doesn't exist");
            }
            return(RedirectToAction("Success", "Success"));
        }
        public async Task <IActionResult> FinishedTasks()
        {
            //todo add error handler
            var listToReturn = new List <TaskViewModel>();
            var tasks        = new List <TaskForEmployee>();

            var doneTasks = _employeeTaskRepository.GetDoneTasks();

            if (doneTasks == null)
            {
                return(BadRequest());
            }
            doneTasks.ForEach(t =>
            {
                tasks.Add(_taskForEmployeeRepository.GetTaskById(t.Id));
            });

            foreach (var task in tasks)
            {
                var taskToGetUser = _employeeTaskRepository.GetTaskById(task.TaskId);
                var complaintForm = _formRepository.GetFormByUserId(taskToGetUser.AppUserId);

                var user = await _userManager.FindByIdAsync(taskToGetUser.AppUserId);

                var mapTask = _mapper.MapApplicationUserToTaskViewModel(user);

                mapTask.TaskId          = taskToGetUser.Id;
                mapTask.ERobotsCategory = complaintForm.ERobotsCategory;
                mapTask.Description     = complaintForm.Description;
                mapTask.CreatedDate     = complaintForm.CreatedDate.ToString();
                mapTask.Company         = complaintForm.Company;

                listToReturn.Add(mapTask);
            }
            return(View(listToReturn));
        }