public HttpResponseMessage Set(int conferenceId, SessionEvaluationBase data) { var attended = SessionAttendeeRepository.Instance.GetSessionAttendeesByUser(UserInfo.UserID).FirstOrDefault(a => a.SessionId == data.SessionId); if (attended == null) { var conf = ConferenceRepository.Instance.GetConference(PortalSettings.PortalId, conferenceId); if (!conf.OnGoing) { return(Request.CreateResponse(HttpStatusCode.NotAcceptable, "This conference is not ongoing")); } var confAtt = AttendeeRepository.Instance.GetAttendee(conferenceId, UserInfo.UserID); if (confAtt != null) { var session = SessionRepository.Instance.GetSession(data.SessionId); if (SessionAttendeeRepository.Instance.GetSessionAttendeesByUser(conferenceId, UserInfo.UserID).Where(sa => sa.SessionId != data.SessionId && sa.SessionDateAndTime == session.SessionDateAndTime).Count() > 0) { return(Request.CreateResponse(HttpStatusCode.NotAcceptable, "You were in another session")); } SessionAttendeeRepository.Instance.SetSessionAttendee(data.SessionId, UserInfo.UserID, UserInfo.UserID); } attended = SessionAttendeeRepository.Instance.GetSessionAttendeesByUser(UserInfo.UserID).FirstOrDefault(a => a.SessionId == data.SessionId); } if (attended != null) { data.UserId = UserInfo.UserID; SessionEvaluationRepository.Instance.SetSessionEvaluation(data, UserInfo.UserID); return(Request.CreateResponse(HttpStatusCode.OK, "")); } else { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Attendee did not attend this session")); } }
public void UpdateSessionEvaluation(SessionEvaluationBase sessionEvaluation, int userId) { Requires.NotNull(sessionEvaluation); Requires.NotNull(sessionEvaluation.SessionId); sessionEvaluation.LastModifiedByUserID = userId; sessionEvaluation.LastModifiedOnDate = DateTime.Now; using (var context = DataContext.Instance()) { var rep = context.GetRepository <SessionEvaluationBase>(); rep.Update("SET Stars=@0, Review=@1, CreatedByUserID=@2, CreatedOnDate=@3, LastModifiedByUserID=@4, LastModifiedOnDate=@5 WHERE SessionId=@6 AND UserId=@7", sessionEvaluation.Stars, sessionEvaluation.Review, sessionEvaluation.CreatedByUserID, sessionEvaluation.CreatedOnDate, sessionEvaluation.LastModifiedByUserID, sessionEvaluation.LastModifiedOnDate, sessionEvaluation.SessionId, sessionEvaluation.UserId); } }
public HttpResponseMessage Set(int conferenceId, SessionEvaluationBase data) { Logger.Trace("SessionAttendees.Set"); var attended = SessionAttendeeRepository.Instance.GetSessionAttendeesByUser(UserInfo.UserID).FirstOrDefault(a => a.SessionId == data.SessionId); if (attended != null) { data.UserId = UserInfo.UserID; SessionEvaluationRepository.Instance.SetSessionEvaluation(data, UserInfo.UserID); return(Request.CreateResponse(HttpStatusCode.OK, "")); } else { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Attendee did not attend this session")); } }
public void AddSessionEvaluation(SessionEvaluationBase sessionEvaluation, int userId) { Requires.NotNull(sessionEvaluation); Requires.NotNull(sessionEvaluation.SessionId); sessionEvaluation.CreatedByUserID = userId; sessionEvaluation.CreatedOnDate = DateTime.Now; sessionEvaluation.LastModifiedByUserID = userId; sessionEvaluation.LastModifiedOnDate = DateTime.Now; using (var context = DataContext.Instance()) { context.Execute(System.Data.CommandType.Text, "IF NOT EXISTS (SELECT * FROM {databaseOwner}{objectQualifier}Connect_Conference_SessionEvaluations " + "WHERE SessionId=@0 AND UserId=@1) " + "INSERT INTO {databaseOwner}{objectQualifier}Connect_Conference_SessionEvaluations (SessionId, UserId, Stars, Review, CreatedByUserID, CreatedOnDate, LastModifiedByUserID, LastModifiedOnDate) " + "SELECT @0, @1, @2, @3, @4, @5, @6, @7", sessionEvaluation.SessionId, sessionEvaluation.UserId, sessionEvaluation.Stars, sessionEvaluation.Review, sessionEvaluation.CreatedByUserID, sessionEvaluation.CreatedOnDate, sessionEvaluation.LastModifiedByUserID, sessionEvaluation.LastModifiedOnDate); } }
public void DeleteSessionEvaluation(SessionEvaluationBase sessionEvaluation) { DeleteSessionEvaluation(sessionEvaluation.SessionId, sessionEvaluation.UserId); }