コード例 #1
0
        public IActionResult AddFriend([FromBody] JsonData.FriendData data)
        {
            var guid       = Guid.Empty;
            var friendGuid = Guid.Empty;

            if (Guid.TryParse(data?.UserId, out guid) && Guid.TryParse(data?.FriendId, out friendGuid))
            {
                var user = _repoUser.Find(x => x.Id == guid).FirstOrDefault();
                if (user != null && user.Status == UserStatus.Active)
                {
                    if (user.Friends.Contains(friendGuid))
                    {
                        return(new JsonResult(_sysInfo.Value.FriendInList));
                    }
                    else
                    {
                        user.Friends.Add(friendGuid);
                        user.FriendEvents.AddRange(_repoEvent.Find(x => x.CreatorId == friendGuid).Select(x => x.Id));
                        _repoUser.Save(user);

                        return(new JsonResult(_sysInfo.Value.FriendAdded));
                    }
                }
                else
                {
                    return(new JsonResult(_sysInfo.Value.UserNotFound));
                }
            }
            else
            {
                return(new JsonResult(_sysInfo.Value.TypeNull));
            }
        }
コード例 #2
0
        public IActionResult RemoveFriend([FromBody] JsonData.FriendData data)
        {
            var guid       = Guid.Empty;
            var friendGuid = Guid.Empty;

            if (Guid.TryParse(data?.UserId, out guid) && Guid.TryParse(data?.FriendId, out friendGuid))
            {
                var user = _repoUser.Find(x => x.Id == guid).FirstOrDefault();
                if (user != null && user.Status == UserStatus.Active)
                {
                    if (user.Friends.Contains(friendGuid))
                    {
                        user.Friends.Remove(friendGuid);
                        _repoEvent.Find(x => x.CreatorId == friendGuid).ToList().ForEach(x =>
                        {
                            user.FriendEvents.Remove(x.Id);
                        });
                        _repoUser.Save(user);

                        return(new JsonResult(_sysInfo.Value.FriendRemoved));
                    }
                    else
                    {
                        return(new JsonResult(_sysInfo.Value.FriendNotAvailable));
                    }
                }
                else
                {
                    return(new JsonResult(_sysInfo.Value.UserNotFound));
                }
            }
            else
            {
                return(new JsonResult(_sysInfo.Value.TypeNull));
            }
        }