コード例 #1
0
        public Session Create(CreateSessionCommand command)
        {
            var session = new Session(command.Theme, command.Date, command.StartTime, command.EndTime, command.Classification, command.CoachingProcess, command.User, command.Job, command.Coach, command.Coachee, command.Observation);
            session.Validate();
            _repositorySession.Create(session);

            if (Commit())
                return session;

            return null;
        }
コード例 #2
0
        public Task<HttpResponseMessage> Post([FromBody]dynamic body)
        {
            var validate= _serviceSession.GetAllByCoachingProcess(Guid.Parse((string)body.coachingProcess.id));
            foreach(var item in  validate)
                if (item.StartTime == (TimeSpan)body.startTime && item.Date == (DateTime)body.date)
                    return CreateResponse(HttpStatusCode.BadRequest, null);

            var listJob = _serviceJob.AddJobToSession(body.job);
            var coachingProcess = _serviceCoachingProcess.GetOne(Guid.Parse((string)body.coachingProcess.id));
            var user = _serviceUser.GetOne((string)body.idUser);
            var commandSession = new CreateSessionCommand(
                coachingProcess,
                (string)body.theme,
                user,
                (DateTime)body.date,
                (TimeSpan)body.startTime,
                (TimeSpan)body.endTime,
                (ESessionClassification)body.classification,
                (string)body.observation,
                listJob
               );

            var session = _serviceSession.Create(commandSession);

            _serviceEvaluationCoach.AddToSession(body.coach, session.Id);
            _serviceEvaluationCoachee.AddToSession(body.coachee, session.Id);

            return CreateResponse(HttpStatusCode.Created, session);
        }