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);
            }
        }