Exemple #1
0
 public void Save(User user)
 {
     //TODO: Здесь нужно реализовать сохранение пользователя в Redis
     var userDocument = userDocumentMapper.Map(user);
     redisClient.Set(userDocument.Id, userDocument);
     redisClient.Save();
 }
Exemple #2
0
 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: Здесь нужно реализовать удаление одобрения из базы
 }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
 }
Exemple #7
0
        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();
        }
Exemple #8
0
 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();
 }
Exemple #9
0
 public void Save(User user)
 {
     //TODO: Здесь нужно реализовать сохранение пользователя в Redis
 }
Exemple #10
0
 public void Save(User user)
 {
     var u = userDocumentMapper.Map(user);
     redisClient.Set(u.Id, u);
     redisClient.Save();
 }
Exemple #11
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();
 }
Exemple #12
0
 public void Save(User user)
 {
     var document = userDocumentMapper.Map(user);
     redisClient.Set(document.Id, document);
 }
Exemple #13
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);
 }
        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: Здесь нужно реализовать удаление одобрения из базы
 }