コード例 #1
0
        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"));
            }
        }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
        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"));
            }
        }
コード例 #4
0
 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);
     }
 }
コード例 #5
0
 public void DeleteSessionEvaluation(SessionEvaluationBase sessionEvaluation)
 {
     DeleteSessionEvaluation(sessionEvaluation.SessionId, sessionEvaluation.UserId);
 }