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 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 Like(Guid messageId, User user) { var likeDocument = new LikeDocument {MessageId = messageId, UserName = user.Name, CreateDate = DateTime.UtcNow}; //TODO: Здесь нужно реализовать вставку одобрения в базу }
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 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); }