public void Save(User user) { //TODO: Здесь нужно реализовать сохранение пользователя в Redis var userDocument = userDocumentMapper.Map(user); redisClient.Set(userDocument.Id, userDocument); redisClient.Save(); }
public void Dislike(Guid messageId, User user) { var search = Query<MessageDocument>.EQ(m => m.Id, messageId); var updateQ = Update<MessageDocument>.Pull(l => l.Likes, c => c.EQ(u => u.UserName, user.Name)); messagesCollection.Update(search, updateQ); }
public void Dislike(Guid messageId, User user) { var likeDocument = new LikeDocument {UserName = user.Name}; messagesCollection.Update(Query<MessageDocument>.EQ(m => m.Id, messageId), Update<MessageDocument>.Pull(m => m.Likes,builder=>builder.EQ(s=>s.UserName,user.Name))); //TODO: Здесь нужно реализовать удаление одобрения из базы }
public ActionResult LoginCallback(string returnUrl, string oauth_token, string oauth_verifier) { var requestToken = new OAuthRequestToken {Token = oauth_token}; var service = new TwitterService(ConsumerKey, ConsumerSecret); var accessToken = service.GetAccessToken(requestToken, oauth_verifier); service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret); var twitterUser = service.VerifyCredentials(new VerifyCredentialsOptions()); var user = new User {Name = twitterUser.ScreenName, DisplayName = twitterUser.Name, ImageUrl = new Uri(twitterUser.ProfileImageUrl)}; userRepository.Save(user); FormsAuthentication.SetAuthCookie(user.Name, false); return Redirect(returnUrl); }
public IEnumerable<UserMessage> GetMessages(User user) { var result = new List<UserMessage>(); var msss = context.Msgs.Where(x => x.UserName.Equals(user.Name)); foreach (var msg in msss) { var count = context.Likes.Count(x => x.MessageId.Equals(msg.Id)); var liked = context.Likes.FirstOrDefault(x => x.MessageId.Equals(msg.Id) && x.UserName.Equals(user.Name)); result.Add(new UserMessage { CreateDate = msg.CreateDate, Id = msg.Id, Liked = (liked != null ), Text = msg.Text, User = user, Likes = count }); } return result.OrderByDescending(m => m.CreateDate); }
public IEnumerable<UserMessage> GetMessages(User user) { //TODO: Здесь нужно получать все сообщения конкретного пользователя var messages = messagesCollection.Find(Query<MessageDocument>.EQ(s => s.UserName, user.Name)); return messages.Select(s => new UserMessage() { User = user, CreateDate = s.CreateDate, Id = s.Id, Text = s.Text, Likes = s.Likes==null ? 0 : s.Likes.Count(), Liked = s.Likes != null && s.Likes.Select(d => d.UserName).Contains(user.Name) }).OrderByDescending(s=>s.CreateDate); }
public void Dislike(Guid messageId, User user) { LikeDocument like; try { like = context.Likes.Where(l => l.UserName == user.Name && l.MessageId == messageId).First(); } catch (InvalidOperationException ex) { return; } context.Likes.DeleteOnSubmit(like); context.SubmitChanges(); }
public IEnumerable<UserMessage> GetMessages(User user) { var messages = messagesCollection.Find(Query<MessageDocument>.EQ(n => n.UserName, user.Name)) .SetSortOrder(SortBy<MessageDocument>.Descending(d => d.CreateDate)); return messages.Select(item => new UserMessage { Id = item.Id, User = new User { Name = item.UserName }, Text = item.Text, CreateDate = item.CreateDate, Liked = item.Likes != null && item.Likes.Any(u => u.UserName == user.Name), Likes = item.Likes == null ? 0 : item.Likes.Count() }).ToArray(); }
public void Save(User user) { //TODO: Здесь нужно реализовать сохранение пользователя в Redis }
public void Save(User user) { var u = userDocumentMapper.Map(user); redisClient.Set(u.Id, u); redisClient.Save(); }
public void Like(Guid messageId, User user) { if (context.Msgs.Count(x => x.Id == messageId) <= 0) { var exception = FormatterServices.GetUninitializedObject(typeof(SqlException)) as SqlException; throw exception; } var likeDocument = new LikeDocument {MessageId = messageId, UserName = user.Name, CreateDate = DateTime.UtcNow}; context.Likes.InsertOnSubmit(likeDocument); context.SubmitChanges(); }
public void Save(User user) { var document = userDocumentMapper.Map(user); redisClient.Set(document.Id, document); }
public void Like(Guid messageId, User user) { var find = messagesCollection.Find( Query.And(Query<MessageDocument>.EQ(m => m.Id, messageId), Query<MessageDocument>.ElemMatch(l => l.Likes, c => c.EQ(u => u.UserName, user.Name)))); if (find.Any()) return; var likeDocument = new LikeDocument { UserName = user.Name, CreateDate = DateTime.UtcNow }; var search = Query<MessageDocument>.EQ(m => m.Id, messageId); var updateQ = Update<MessageDocument>.Push(l => l.Likes, likeDocument); messagesCollection.Update(search, updateQ); }
public void Like(Guid messageId, User user) { var likeDocument = new LikeDocument {UserName = user.Name, CreateDate = DateTime.UtcNow}; if ( messagesCollection.FindOne(Query.And(Query<MessageDocument>.EQ(s=>s.Id,messageId),Query<MessageDocument>.ElemMatch(d => d.Likes, builder => builder.EQ(s => s.UserName, user.Name)))) == null) { messagesCollection.Update(Query<MessageDocument>.EQ(m => m.Id, messageId),Update<MessageDocument>.Push(s => s.Likes, likeDocument)); } //TODO: Здесь нужно реализовать вставку одобрения в базу }
public void Like(Guid messageId, User user) { var likeDocument = new LikeDocument {MessageId = messageId, UserName = user.Name, CreateDate = DateTime.UtcNow}; //TODO: Здесь нужно реализовать вставку одобрения в базу }
public IEnumerable<UserMessage> GetMessages(User user) { //TODO: Здесь нужно получать все сообщения конкретного пользователя return Enumerable.Empty<UserMessage>(); }
public void Dislike(Guid messageId, User user) { //TODO: Здесь нужно реализовать удаление одобрения из базы }