public void SearchOnFriends(int userID, string searchText, int pageIndex) { Models.ComboResponse _response = new Models.ComboResponse(); _response.bool_result = true; _response.ErrorCode = 0; _response.ErrorMsg = ""; ComboUserFriend user = new ComboUserFriend(); user.SearchOnFriendsByUserID(userID, searchText); List<Models.ComboUser> Users = user.DefaultView.Table.AsEnumerable().Select(row => { return new Models.ComboUser { ComboUserID = Convert.ToInt32(row["ComboUserID"]), UserName = row["UserName"].ToString(), DisplayName = row["DisplayName"].ToString(), Password = row["Password"].ToString(), Email = row["Email"].ToString(), Bio = row["Bio"].ToString(), ProfileImgID = row.IsNull("ProfileImgID") ? 0 : Convert.ToInt32(row["ProfileImgID"]), CoverImgID = row.IsNull("CoverImgID") ? 0 : Convert.ToInt32(row["CoverImgID"]), GenderID = row.IsNull("GenderID") ? 0 : Convert.ToInt32(row["GenderID"]), IsActivated = row.IsNull("IsActivated") ? false : Convert.ToBoolean(row["IsActivated"]), ExternalIDType = row.IsNull("ExternalIDType") ? 0 : Convert.ToInt32(row["ExternalIDType"]), ExternalID = row["ExternalID"].ToString(), DeviceID = row["DeviceID"].ToString(), ActivationCode = row.IsNull("ActivationCode") ? Guid.Empty : new Guid(row["ActivationCode"].ToString()), PassResetCode = row.IsNull("PassResetCode") ? Guid.Empty : new Guid(row["PassResetCode"].ToString()), ProfilePic = row["ProfilePic"].ToString(), }; }).Skip(pageIndex * FriendsPageSize).Take(FriendsPageSize).ToList(); _response.Entity = Users; SetContentResult(_response); //return _response; }
public void ToggleBanFriend(int userId, int FriendId, bool IsBanned) { Models.ComboResponse _response = new Models.ComboResponse(); _response.bool_result = true; _response.ErrorCode = 0; _response.ErrorMsg = ""; ComboUserFriend friend = new ComboUserFriend(); if (friend.LoadByPrimaryKey(userId, FriendId)) { friend.IsBanned = IsBanned; friend.Save(); } _response.Entity = null; SetContentResult(_response); }
public void RespondToFriendRequest(int userId, int FriendId, bool isAccepted) { Models.ComboResponse _response = new Models.ComboResponse(); _response.bool_result = true; _response.ErrorCode = 0; _response.ErrorMsg = ""; ComboUserFriend friend = new ComboUserFriend(); if (friend.LoadByPrimaryKey(userId, FriendId)) { if (isAccepted) { friend.RequestApproved = true; } else { friend.MarkAsDeleted(); } friend.Save(); if (isAccepted) { /**************************/ // save notification and push it to device ComboUser creator = new ComboUser(); ComboUser requester = new ComboUser(); creator.LoadByPrimaryKey(userId); requester.LoadByPrimaryKey(FriendId); List<Models.ComboFriendRequest> arequest = friend.DefaultView.Table.AsEnumerable().Select(row => { return new Models.ComboFriendRequest { ComboFriendID = Convert.ToInt32(row["ComboFriendID"]), ComboUserID = Convert.ToInt32(row["ComboUserID"]), ComboUserName = creator.UserName, ComboFriendName = requester.UserName, ComboFriendDisplayName = requester.DisplayName }; }).ToList(); ComboNotification notification = new ComboNotification(); notification.AddNew(); notification.ComboUserID = requester.ComboUserID; notification.NotificationType = (int)Combo.Models.NotificationType.ACCEPT_FRIEND; // accept friend request notification.NotificationDate = DateTime.UtcNow; notification.NotificationBody = Newtonsoft.Json.JsonConvert.SerializeObject(arequest); notification.IsRead = false; notification.Save(); List<Models.ComboNotification> notificationJson = notification.DefaultView.Table.AsEnumerable().Select(row => { return new Models.ComboNotification { ComboNotificationID = Convert.ToInt32(row["ComboNotificationID"]), ComboUserID = Convert.ToInt32(row["ComboUserID"]), IsRead = Convert.ToBoolean(row["IsRead"]), NotificationBody = row["NotificationBody"].ToString(), NotificationDate = Convert.ToDateTime(row["NotificationDate"].ToString()).Subtract(new DateTime(1970, 1, 1)).TotalSeconds, NotificationType = Convert.ToInt32(row["NotificationType"]) }; }).ToList(); SendGCMNotification(Newtonsoft.Json.JsonConvert.SerializeObject(notificationJson), requester.DeviceID); /**************************/ } } _response.Entity = null; SetContentResult(_response); }