public async Task <TaskServiceModel> AddAsync(TaskCreationServiceModel entity)
        {
            DAL.Models.Entities.Task task = _mapper.Map <TaskCreationServiceModel, DAL.Models.Entities.Task>(entity);

            await _uow.GetRepository <DAL.Models.Entities.Task>().AddAsync(task);

            await _uow.SaveChangesAsync();

            await _schedulerService.ScheduleTaskById(task.Id);

            TaskServiceModel taskServiceModel = _mapper.Map <DAL.Models.Entities.Task, TaskServiceModel>(task);

            return(taskServiceModel);
        }
        public async Task <ActionResult <TaskModel> > CreateTask(Guid userId, [FromBody] TaskCreationModel taskCreationModel)
        {
            UserServiceModel user = await _userService.GetByPrincipalAsync(User);

            if (user == null || user.Id != userId)
            {
                return(Unauthorized());
            }

            TaskCreationServiceModel taskCreationServiceModel = _mapper
                                                                .Map <TaskCreationModel, TaskCreationServiceModel>(taskCreationModel);
            TaskServiceModel taskServiceModel = await _taskService.AddAsync(taskCreationServiceModel);

            TaskModel taskModel = _mapper.Map <TaskServiceModel, TaskModel>(taskServiceModel);

            return(CreatedAtAction(nameof(GetTask), new
            {
                taskId = taskModel.Id,
                userId = user.Id
            }, taskModel));
        }