public CoachingProcess Create(CreateCoachingProcessCommand command)
        {
            var coachingProcess = new CoachingProcess(command.Name, command.StartDate, command.Mode, command.Budget, command.Session, command.PerformaceIndicator, command.Coachee, command.Coach, command.Service, command.EndDate, command.Observation);
            coachingProcess.Validate();
            _repository.Create(coachingProcess);

            if (Commit())
                return coachingProcess;

            return null;
        }
        public Task<HttpResponseMessage> Post([FromBody]dynamic body)
        {
            var listCoach = _serviceCoach.AddCoach(body.coachs);

            var listCoachee = _serviceCoachee.AddCoachee(body.coachees);

            var listPerformanceIndicator = _servicePerformanceIndicator.AddToCoachingProcess(body.performanceIndicator);

            var listService = _service.AddToCoachingProcess(body.services);

            if (body.endDate == null || body.endDate == "")
                body.endDate = DateTime.MinValue;

            var commandCoachingProcess = new CreateCoachingProcessCommand(
                name: (string)body.name,
                startDate: (DateTime)body.startDate,
                endDate: (DateTime)body.endDate,
                mode: (EModeProcess)body.mode,
                coach: listCoach,
                coachee: listCoachee,
                performanceIndicator: listPerformanceIndicator,
                service: listService,
                observation: (string)body.observation
               );

            var coachingProcess = _serviceCoachingProcess.Create(commandCoachingProcess);

            return CreateResponse(HttpStatusCode.Created, coachingProcess);
        }