/// <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); } }
/// <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); } }