private void SendNotification(Feeling feeling, Comment comment, List<User> users, User feelingUser) { try { new PushNotificationService().SendCommentNotifications(feeling, comment, users, SaveResponse, feelingUser); } catch (Exception e) { LogWriter.Write(e.ToString()); } }
public void SendCommentNotifications(Feeling feeling, Comment comment, List<User> users, Action<string> action, User feelingUser) { _action = action; SendNotifications(comment.User, new List<User> { feelingUser }, string.Format("Comment '{0}' on feeling: '{1}' from ", comment.Text, feeling.FeelingText), feeling); SendNotifications(comment.User, users, string.Format("Comment '{0}' on comment", comment.Text), feeling); }
private dynamic SendNotification(dynamic feelingId, Comment comment) { var feeling = Context.Feelings.FindOne(Query.EQ("_id", new BsonObjectId(new ObjectId(feelingId.ToString())))); var feelingUser = Context.Users.FindOne(Query.EQ("UserName", new BsonString(feeling.UserName))); //prits var commentUsers = feeling.Comments.Select(c => c.User) .Where(x => x != feeling.UserName && x != comment.User) .Distinct() .ToList(); //neo var bsonValues = new List<BsonValue>(); commentUsers.ForEach(c => bsonValues.Add(BsonValue.Create(c))); var users = Context.Users.Find(Query.In("UserName", bsonValues)).ToList(); //.First(u => u.UserName.Equals(feeling.UserName)); SendNotification(feeling, comment, users, feelingUser); return true; }