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