コード例 #1
0
        public void SendFriendRequest(FriendRequest f)
        {
            //Return if we're already friends
            Friends friends = GetFriendList();

            foreach (Friend friend in friends.FriendsInfo.Values)
            {
                if (friend.Address == f.SendTo && friend.Port == f.SendToPort)
                {
                    return;
                }
            }
            try
            {
                ServerManager.Instance.ServerInstance.ServerRequestInvoker.SendFriendRequest(f);
            }
            catch (ServiceUnavailableException)
            {
                throw new ServiceUnavailableException("Não foi possível enviar o pedido.Por favor tente mais tarde.");
            }
            catch (RemotingException)
            {
                throw new ServiceUnavailableException("Não foi possível enviar o pedido.");
            }
            FriendRequestList pl = GetSentFriendRequests();

            pl.AddFriendRequest(f);
            ServerManager.Instance.ServerInstance.WriteDomainObject(pl);
        }
コード例 #2
0
        public void RejectFriendRequest(FriendRequest fr)
        {
            FriendRequestList pl = (FriendRequestList)ServerManager.Instance.ServerInstance.ReadDomainObject("SentFriendRequests");

            if (pl != null)
            {
                pl.RemoveFriendRequest(fr);
                ServerManager.Instance.ServerInstance.WriteDomainObject(pl);
            }
        }
コード例 #3
0
        public FriendRequestList GetReceivedFriendRequests()
        {
            FriendRequestList pl = (FriendRequestList)ServerManager.Instance.ServerInstance.ReadDomainObject("ReceivedFriendRequests");

            if (pl == null)
            {
                pl = new FriendRequestList("ReceivedFriendRequests");
                ServerManager.Instance.ServerInstance.WriteDomainObject(pl);
            }
            return(pl);
        }
コード例 #4
0
        public void ReceiveFriendRequest(FriendRequest fr)
        {
            //Return if we're already friends
            Friends friends = (Friends)ServerManager.Instance.ServerInstance.ReadDomainObject("Friends");

            if (friends != null && friends.FriendsInfo.ContainsKey(fr.RequestingUserName))
            {
                return;
            }

            FriendRequestList pl = (FriendRequestList)ServerManager.Instance.ServerInstance.ReadDomainObject("ReceivedFriendRequests");

            if (pl == null)
            {
                pl = new FriendRequestList("ReceivedFriendRequests");
                ServerManager.Instance.ServerInstance.WriteDomainObject(pl);
            }
            pl.AddFriendRequest(fr);
            ServerManager.Instance.ServerInstance.WriteDomainObject(pl);
        }
コード例 #5
0
        public void RejectFriendRequest(FriendRequest f)
        {
            try
            {
                ServerManager.Instance.ServerInstance.ServerRequestInvoker.RejectFriendRequest(f);

                f.FriendRequestState = FriendRequest.RequestState.REJECTED;
                FriendRequestList receivedReqs = GetReceivedFriendRequests();
                receivedReqs.RemoveFriendRequest(f);
                ServerManager.Instance.ServerInstance.WriteDomainObject(receivedReqs);
            }
            catch (ServiceUnavailableException)
            {
                throw new ServiceUnavailableException("Não foi possível enviar o pedido.");
            }
            catch (RemotingException)
            {
                throw new ServiceUnavailableException("Não foi possível enviar o pedido.");
            }
        }
コード例 #6
0
        public ActionResult OutgoingList()
        {
            var db             = new ApplicationDbContext();
            var currentID      = User.Identity.GetUserId();
            var listOfRequests = db.VänFörfrågningar.Where(f => f.Person1 == currentID);
            var listOfProfiles = db.Profil.ToList();


            List <FriendRequestList> listToSend = new List <FriendRequestList>();



            foreach (var u in listOfRequests)
            {
                var AddId = u.Person2;
                var User  = listOfProfiles.FirstOrDefault(p => p.UserID == AddId);

                var AddFörnamn   = User.Förnamn;
                var AddEfternamn = User.Efternamn;

                var AddThis = new FriendRequestList
                {
                    FriendRequest_Id = u.Vän_ID,
                    UserId           = AddId,
                    Förnamn          = AddFörnamn,
                    Efternamn        = AddEfternamn
                };
                listToSend.Add(AddThis);
            }

            if (listToSend.Any())
            {
                return(View(listToSend));
            }
            else
            {
                return(View());
            }
        }
コード例 #7
0
        public void AcceptFriendRequest(FriendRequest f)
        {
            try
            {
                ServerManager.Instance.ServerInstance.ServerRequestInvoker.AcceptFriendRequest(f);
                //Get processed requests

                Post     p  = new Post("PADIBook de " + f.RequestedUserName, f.RequestingUserName + " ficou seu amigo. O seu endereço é " + f.FromAddress + ":" + f.FromPort);
                PostList pl = (PostList)ServerManager.Instance.ServerInstance.ReadDomainObject("PostList");
                if (pl == null)
                {
                    pl = new PostList("PostList");
                }
                pl.AddPost(p);
                ServerManager.Instance.ServerInstance.WriteDomainObject(pl);
            }
            catch (ServiceUnavailableException)
            {
                throw new ServiceUnavailableException("Não foi possível enviar a resposta.");
            }
            catch (RemotingException)
            {
                throw new ServiceUnavailableException("Não foi possível enviar o pedido.");
            }
            f.FriendRequestState = FriendRequest.RequestState.ACCEPTED;
            FriendRequestList recvFrdReqs = GetReceivedFriendRequests();

            //add friend
            Friends friends = GetFriendList();

            friends.AddFriend(f.RequestingUserName, f.FromAddress, f.FromPort);
            ServerManager.Instance.ServerInstance.WriteDomainObject(friends);

            //Remove request from received requests
            recvFrdReqs.RemoveFriendRequest(f);
            ServerManager.Instance.ServerInstance.WriteDomainObject(recvFrdReqs);
        }
コード例 #8
0
        public void AcceptFriendRequest(FriendRequest fr)
        {
            //Remove request
            FriendRequestList pl = (FriendRequestList)ServerManager.Instance.ServerInstance.ReadDomainObject("SentFriendRequests");

            if (pl != null)
            {
                pl.RemoveFriendRequest(fr);
                ServerManager.Instance.ServerInstance.WriteDomainObject(pl);
            }

            //Add friend
            Friends plist = (Friends)ServerManager.Instance.ServerInstance.ReadDomainObject("Friends");

            if (plist == null)
            {
                plist = new Friends("Friends");
            }
            //  Add only if we're not already friends
            if (!plist.FriendsInfo.ContainsKey(fr.RequestedUserName))
            {
                plist.AddFriend(fr.RequestedUserName, fr.SendTo, fr.SendToPort);
                ServerManager.Instance.ServerInstance.WriteDomainObject(plist);

                //Add post
                Post     p     = new Post("PADIBook de " + fr.RequestingUserName, fr.RequestedUserName + " ficou seu amigo.O seu endereço é " + fr.SendTo + ":" + fr.SendToPort);
                PostList postl = (PostList)ServerManager.Instance.ServerInstance.ReadDomainObject("PostList");
                if (postl == null)
                {
                    postl = new PostList("PostList");
                    ServerManager.Instance.ServerInstance.WriteDomainObject(postl);
                }
                postl.AddPost(p);
                ServerManager.Instance.ServerInstance.WriteDomainObject(postl);
            }
        }
コード例 #9
0
        // Visar inkommande vänförfrågningar.
        public ActionResult IncommingList()
        {
            var ctx            = new ProfileDbContext();
            var currentID      = User.Identity.GetUserId();
            var listOfRequests = ctx.FriendRequestModels.Where(f => f.Person2 == currentID);
            var listOfProfiles = ctx.Profiles.ToList();
            List <FriendRequestList> listToSend = new List <FriendRequestList>();

            // Hämtar förnamn och efternamn på användarens inkommande vänförfrågningar och skickar dessa i en lista.
            foreach (var u in listOfRequests)
            {
                var AddId = u.Person1;
                var User  = listOfProfiles.FirstOrDefault(p => p.UserID == AddId);

                var AddFname = User.FirstName;
                var AddLName = User.LastName;

                var AddThis = new FriendRequestList
                {
                    Id        = u.Id,
                    UserId    = AddId,
                    Firstname = AddFname,
                    Lastname  = AddLName
                };
                listToSend.Add(AddThis);
            }
            // Kontrollerar att användaren har några vänner/kontakter.
            if (listToSend.Any())
            {
                return(View(listToSend));
            }
            else
            {
                return(View());
            }
        }
コード例 #10
0
        public void ReceiveFriendRequest(FriendRequest fr)
        {
            //Return if we're already friends
            Friends friends = (Friends)ServerManager.Instance.ServerInstance.ReadDomainObject("Friends");
            if (friends != null && friends.FriendsInfo.ContainsKey(fr.RequestingUserName))
                return;

            FriendRequestList pl = (FriendRequestList)ServerManager.Instance.ServerInstance.ReadDomainObject("ReceivedFriendRequests");
            if (pl == null)
            {
                pl = new FriendRequestList("ReceivedFriendRequests");
                ServerManager.Instance.ServerInstance.WriteDomainObject(pl);
            }
            pl.AddFriendRequest(fr);
            ServerManager.Instance.ServerInstance.WriteDomainObject(pl);
        }
コード例 #11
0
ファイル: ClientServices.cs プロジェクト: fgoncalves/PADIBook
 public FriendRequestList GetSentFriendRequests()
 {
     FriendRequestList pl = (FriendRequestList)ServerManager.Instance.ServerInstance.ReadDomainObject("SentFriendRequests");
     if (pl == null)
     {
         pl = new FriendRequestList("SentFriendRequests");
         ServerManager.Instance.ServerInstance.WriteDomainObject(pl);
     }
     return pl;
 }