Esempio n. 1
0
        /// <summary>
        /// Aceita solicitação de amizade entre dois usuários
        /// </summary>
        /// <param name="userID">Usuário que aceitou solicitação</param>
        /// <param name="friendID">Usuário que enviou solicitação</param>
        /// <param name="result">Controle de erro</param>
        /// <returns>True se aceitou com sucesso</returns>
        public static bool AcceptFriend(Guid userID, Guid friendID, out ErrorEnum result)
        {
            DBConfigurations database = new DBConfigurations();

            result = ErrorEnum.NoErrors;
            try
            {
                var friendshipSolicitation = database.Friendships.First(request =>
                                                                        (request.User_A == friendID &&
                                                                         request.User_B == userID &&
                                                                         request.Approved == false));

                friendshipSolicitation.Approved = true;

                Friendships newFriend = new Friendships
                {
                    User_A   = userID,
                    User_B   = friendID,
                    Approved = true
                };

                database.Friendships.Add(newFriend);
                database.SaveChanges();

                return(true);
            }
            catch (Exception)
            {
                result = ErrorEnum.ExceptionError;
                return(false);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Envia um convite de amizade do usuário userModel para o usuário com ID da guid recebida
        /// </summary>
        /// <param name="userModel">Usuário logado (usuário que enviou o convite)</param>
        /// <param name="friendID">ID do usuário a receber solicitação de amizade</param>
        /// <param name="error">Controle de erro</param>
        /// <returns>True se enviou solicitação com sucesso ou false</returns>
        public static bool InviteFriend(UserModel userModel, Guid friendID, out ErrorEnum error)
        {
            //Verifica se convite já não foi enviado
            DBConfigurations database = new DBConfigurations();

            error = ErrorEnum.NoErrors;
            try
            {
                //Se convite não existir, envia
                if (!FriendshipManager.AreFriends(userModel.ID, friendID))
                {
                    var newFriendship = new Friendships
                    {
                        User_A   = userModel.ID,
                        User_B   = friendID,
                        Approved = false
                    };
                    database.Friendships.Add(newFriendship);
                    database.SaveChanges();
                    return(true);
                }
                //Se existir, retorna falso
                else
                {
                    error = ErrorEnum.ResendSolicitation;
                    return(false);
                }
            }
            catch (Exception)
            {
                error = ErrorEnum.ExceptionError;
                return(false);
            }
        }