/// <summary> /// Loads the given SerialKey object from the given database data reader. /// </summary> /// <param name="serialKey">The SerialKey object to load.</param> /// <param name="dr">The database data reader to read data from.</param> public static void LoadDataReader(SerialKey serialKey, IDataReader dr) { //SET FIELDS FROM ROW DATA serialKey.SerialKeyId = dr.GetInt32(0); serialKey.DigitalGoodId = dr.GetInt32(1); serialKey.SerialKeyData = dr.GetString(2); serialKey.IsDirty = false; }
/// <summary> /// Returns a serial key back to the provider store /// </summary> /// <param name="keyData">The key to return</param> public override void ReturnSerialKey(string keyData) { if (!string.IsNullOrEmpty(keyData)) { SerialKey skey = new SerialKey(); skey.SerialKeyData = keyData; skey.DigitalGoodId = DigitalGood_.DigitalGoodId; skey.Save(); } }
/// <summary> /// Acquires a new serial key from provider /// </summary> /// <returns>Serial key acquisition response</returns> public override AcquireSerialKeyResponse AcquireSerialKey() { AcquireSerialKeyResponse response = new AcquireSerialKeyResponse(); if (DigitalGood_.SerialKeys.Count > 0) { SerialKey key = DigitalGood_.SerialKeys[0]; DigitalGood_.SerialKeys.RemoveAt(0); string keyData = key.SerialKeyData; key.Delete(); response.Successful = true; response.SerialKey = keyData; return(response); } else { response.ErrorMessage = "There are no serial keys available for the digital good '" + DigitalGood_.Name + "'"; return(response); } }