public UserRatedMessagedEventArgs(ChatUser user, ChatUserMessage message, MessageRating rating, MessageRating previousRating) { User = user; Message = message; Rating = rating; PreviousRating = previousRating; }
public void Test_CreateUpdateDelete() { IUserBasic userBasic = Test_WorkmateMembershipProvider.CreateUser(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, this.DummyDataManager); MessageBoard messageBoard = Test_MessageBoards.Create(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, this.Random); MessageBoardThread messageBoardThread = Test_MessageBoardThreads.Create(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, messageBoard, this.Random); Message message = Test_Messages.Create(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, userBasic, messageBoardThread, this.Random); MessageRatingManager messageRatingManager = new MessageRatingManager(this.DataStore); BaseRatingInfo baseRatingInfo; int totalThumbsUp = 0; for (int i = 0; i < 10; i++) { userBasic = Test_WorkmateMembershipProvider.CreateUser(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, this.DummyDataManager); MessageRating record = new MessageRating(userBasic, message, DebugUtility.GetRandomEnum <MessageRatingType>(this.Random)); BusinessObjectActionReport <RatingDataRepositoryActionStatus> report = messageRatingManager.Create(record, out baseRatingInfo); Assert.AreEqual(RatingDataRepositoryActionStatus.Success, report.Status); totalThumbsUp += (short)record.MessageRatingType; Assert.AreEqual(totalThumbsUp, baseRatingInfo.GetTotalThumbsUp()); Assert.AreEqual(i + 1 - totalThumbsUp, baseRatingInfo.GetTotalThumbsDown()); record = new MessageRating(userBasic, message, DebugUtility.GetRandomEnum <MessageRatingType>(this.Random, record.MessageRatingType)); messageRatingManager.CreateOrUpdateExisting(record, out baseRatingInfo); Assert.AreEqual(RatingDataRepositoryActionStatus.Success, report.Status); totalThumbsUp += record.MessageRatingType == MessageRatingType.ThumbsUp ? 1 : -1; Assert.AreEqual(totalThumbsUp, baseRatingInfo.GetTotalThumbsUp()); Assert.AreEqual(i + 1 - totalThumbsUp, baseRatingInfo.GetTotalThumbsDown()); } Test_MessageBoardThreads.Delete(this.DataStore, messageBoardThread); MessageBoardThreadManager messageBoardThreadManager = new MessageBoardThreadManager(this.DataStore); MessageManager messageManager = new MessageManager(this.DataStore); Assert.IsNull(messageBoardThreadManager.GetMessageBoardThread(messageBoardThread.MessageBoardThreadId)); Assert.IsNull(messageManager.GetMessage(message.MessageId)); Assert.IsEmpty(messageRatingManager.GetAllRatingsForMessage(message)); Test_MessageBoards.Delete(this.DataStore, messageBoard); }
public async Task SetRating(string postId, string userEmail, int type) { Account _account = _unitOfWork.Account.GetByEmail(userEmail); if (_account != null) { MessageRating rating = _unitOfWork.Message.GetMessageRatingById(postId, _account); if (rating.Account == null) { _unitOfWork.Message.CreateNewRating(postId, (MessageRatingType)type, _account); } else if (rating.Type == (MessageRatingType)type) { _unitOfWork.Message.removeRating(postId, _account); } else if (rating.Type != (MessageRatingType)type) { _unitOfWork.Message.removeRating(postId, _account); _unitOfWork.Message.CreateNewRating(postId, (MessageRatingType)type, _account); } } }
internal void ChangeRatingForUser(ChatUser user, MessageRating rating, out MessageRating previousRating) { switch (rating) { case MessageRating.Neutral: if (VotesAgainst.Contains(user)) { previousRating = MessageRating.ThumbsDown; VotesAgainst.Remove(user); } else if (VotesFor.Contains(user)) { previousRating = MessageRating.ThumbsUp; VotesFor.Remove(user); } else { previousRating = MessageRating.Neutral; } break; case MessageRating.ThumbsUp: if (VotesAgainst.Contains(user)) { previousRating = MessageRating.ThumbsDown; VotesAgainst.Remove(user); VotesFor.Add(user); } else if (!VotesFor.Contains(user)) { previousRating = MessageRating.Neutral; VotesFor.Add(user); } else { previousRating = MessageRating.ThumbsUp; } break; case MessageRating.ThumbsDown: if (VotesFor.Contains(user)) { previousRating = MessageRating.ThumbsUp; VotesFor.Remove(user); VotesAgainst.Add(user); } else if (!VotesAgainst.Contains(user)) { previousRating = MessageRating.Neutral; VotesAgainst.Add(user); } else { previousRating = MessageRating.ThumbsDown; } break; default: previousRating = MessageRating.Neutral; break; } }
/// <summary> /// Occurs when a user rates a message /// </summary> /// <param name="user">The user that is rating the message</param> /// <param name="message">The message that is being rated</param> /// <param name="rating">The rating that is being given</param> protected virtual void OnUserRatedMessage(ChatUser user, ChatUserMessage message, MessageRating rating, MessageRating previousRating) { //Debug.WriteLine( "User: {0}, rated message {1}", user, rating.ToString() ); }
/// <summary> /// Rate a message /// </summary> /// <param name="message"></param> /// <param name="rating"></param> public void RateMessage(ChatUserMessage message, MessageRating rating) { _chatProxy.RateMessage(message, rating); }
public BusinessObjectActionReport <DataRepositoryActionStatus> Delete(MessageRating messageRating) { return(_CMSContentRatingManager.Delete(messageRating.CMSContentRating)); }
public BusinessObjectActionReport <RatingDataRepositoryActionStatus> CreateOrUpdateExisting(MessageRating messageRating, out BaseRatingInfo baseRatingInfo) { return(_CMSContentRatingManager.Create(messageRating.CMSContentRating, true, false, out baseRatingInfo)); }
public BusinessObjectActionReport <RatingDataRepositoryActionStatus> Create(MessageRating messageRating, out BaseRatingInfo baseRatingInfo) { return(this.CreateOrUpdateExisting(messageRating, out baseRatingInfo)); }