public string SetTransaction(string TransactionID, string SerialNumber, string ProductKeyID)
        {
            long prodcutKeyID = -9;

            if (!long.TryParse(ProductKeyID, out prodcutKeyID))
            {
                throw new FormatException("Invalid value supplied for product key ID!");
            }

            string returnValue = "";

            using (DBModelContainer context = new DBModelContainer())
            {
                ProductKeyIDSerialNumberPairs pair = context.ProductKeyIDSerialNumberPairs.FirstOrDefault((o) => ((o.SerialNumber.ToLower().StartsWith(SerialNumber.ToLower())) && (o.TransactionID.ToLower() == TransactionID.ToLower())));

                //ProductKeyIDSerialNumberPairs pair = context.ProductKeyIDSerialNumberPairs.FirstOrDefault((o) => (o.TransactionID.ToLower() == TransactionID.ToLower()));

                if (pair != null)
                {
                    pair.ProductKeyID     = prodcutKeyID;
                    pair.ModificationTime = DateTime.Now;

                    returnValue = pair.PairID.ToString();

                    context.SaveChanges();
                }
            }

            return(returnValue);
        }
        public string AddTransaction(ProductKeyIDSerialNumberPairs Transaction)
        {
            string returnValue = "";

            using (DBModelContainer context = new DBModelContainer())
            {
                Transaction.CreationTime = DateTime.Now;

                var result = context.ProductKeyIDSerialNumberPairs.Add(Transaction);

                context.SaveChanges();

                returnValue = result.TransactionID;
            }

            return(returnValue);
        }
        public ProductKeyIDSerialNumberPairs GetTransaction()
        {
            ProductKeyIDSerialNumberPairs returnValue = null;

            using (DBModelContainer context = new DBModelContainer())
            {
                var rawPairs = context.ProductKeyIDSerialNumberPairs.Where((o) => (o.ProductKeyID == null));

                if (rawPairs != null)
                {
                    ProductKeyIDSerialNumberPairs[] pairs = rawPairs.OrderBy((p) => (p.CreationTime)).ToArray();

                    if ((pairs != null) && (pairs.Length > 0))
                    {
                        returnValue = pairs[0];
                    }
                }
            }

            return(returnValue);
        }