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