예제 #1
0
        public bool AddRelation(int CharacterId, FriendAddTypes type, int TargetID, string TargetName)
        {
            bool addSuccess = false;

            DbParameter characterIdParameter = _db.CreateParameter(DbNames.ADDRELATION_CHARACTERID_PARAMETER, CharacterId);

            characterIdParameter.DbType = DbType.Int32;

            DbParameter typeParameter = _db.CreateParameter(DbNames.ADDRELATION_TYPE_PARAMETER, type);

            typeParameter.DbType = DbType.Byte;

            DbParameter targetIdParameter = _db.CreateParameter(DbNames.ADDRELATION_TARGETID_PARAMETER, TargetID);

            targetIdParameter.DbType = DbType.Int32;

            DbParameter targetNameParameter = _db.CreateParameter(DbNames.ADDRELATION_NAME_PARAMETER, TargetName);

            targetIdParameter.DbType = DbType.String;

            DbParameter returnValueParameter = _db.CreateParameter(DbNames.ADDRELATION_RETURNVALUE_PARAMETER, DbType.Int32);

            returnValueParameter.Direction = ParameterDirection.Output;

            _db.Open();

            _db.ExecuteNonQuery(DbNames.ADDRELATION_STOREDPROC,
                                System.Data.CommandType.StoredProcedure,
                                characterIdParameter,
                                typeParameter,
                                targetIdParameter,
                                targetNameParameter,
                                returnValueParameter);

            _db.Close();

            int returnValue = (int)returnValueParameter.Value;

            addSuccess = (returnValue == 0);

            return(addSuccess);
        }
예제 #2
0
        public bool AddRelation(int CharacterId, FriendAddTypes type, int TargetID, string TargetName)
        {
            bool addSuccess = false;

            DbParameter characterIdParameter = _db.CreateParameter(DbNames.ADDRELATION_CHARACTERID_PARAMETER, CharacterId);
            characterIdParameter.DbType = DbType.Int32;

            DbParameter typeParameter = _db.CreateParameter(DbNames.ADDRELATION_TYPE_PARAMETER, type);
            typeParameter.DbType = DbType.Byte;

            DbParameter targetIdParameter = _db.CreateParameter(DbNames.ADDRELATION_TARGETID_PARAMETER, TargetID);
            targetIdParameter.DbType = DbType.Int32;

            DbParameter targetNameParameter = _db.CreateParameter(DbNames.ADDRELATION_NAME_PARAMETER, TargetName);
            targetIdParameter.DbType = DbType.String;

            DbParameter returnValueParameter = _db.CreateParameter(DbNames.ADDRELATION_RETURNVALUE_PARAMETER, DbType.Int32);
            returnValueParameter.Direction = ParameterDirection.Output;

            _db.Open();

            _db.ExecuteNonQuery(DbNames.ADDRELATION_STOREDPROC,
                System.Data.CommandType.StoredProcedure,
                characterIdParameter,
                typeParameter,
                targetIdParameter,
                targetNameParameter,
                returnValueParameter);

            _db.Close();

            int returnValue = (int)returnValueParameter.Value;

            addSuccess = (returnValue == 0);

            return addSuccess;
        }
예제 #3
0
 public static byte[] SendAddFriendStatus(FriendAddTypes type, Character ch)
 {
     Packet p = new Packet(20);
     p.WriteByte((byte)type);
     p.WriteInt(ch.CharacterId);
     p.WriteString(ch.Name);
     p.WriteByte(1); // bool online probably..
     return p.GetWrittenBuffer(PacketIds.SendFriendStatus);
 }