示例#1
0
        public async Task Execute(AssignGoalToSelfOperationRequest request)
        {
            var employee = await _authorizationContext.CurrentEmployee();

            var assignGoalRequest = new AssignGoalsToEmployeeOperationRequest
            {
                EmployeeId = employee.Id,
                TopicIds   = request.TopicIds
            };
            await _assignGoalToEmployeeOperation.Execute(assignGoalRequest);
        }
        public async Task <IActionResult> CreateEmployeeGoalSelf(CreateEmployeeGoalsSelfModel model)
        {
            var request = new AssignGoalToSelfOperationRequest
            {
                TopicIds = model.TopicIds
            };

            try
            {
                await _assignGoalsToSelfOperation.Execute(request);
            }
            catch (GoalAlreadyAssignedException e)
            {
                return(BadRequest(new ErrorModel(e.Message)));
            }
            return(Ok());
        }
        public async Task Execute(LearnTopicOperationRequest request)
        {
            var fulfillGoalRequest = new FulfillPersonalGoalOperationRequest
            {
                TopicId = request.TopicId
            };

            try
            {
                await _fulfillPersonalGoalOperation.Execute(fulfillGoalRequest);
            }
            catch (GoalNotAssignedException)
            {
                var assignGoalRequest = new AssignGoalToSelfOperationRequest
                {
                    TopicIds = new List <Guid> {
                        request.TopicId
                    }
                };
                await _assignGoalsToSelfOperation.Execute(assignGoalRequest);

                await _fulfillPersonalGoalOperation.Execute(fulfillGoalRequest);
            }
        }