Exemplo n.º 1
0
        /// <summary>
        /// Add a tracker and serial number to the database.
        /// </summary>
        /// <param name="gatewayEntities"></param>
        /// <param name="macAddress">Expected to represent a 32-bit integer in hex format.</param>
        /// <param name="serialNumber"></param>
        /// <exception cref="System.FormatException">One or both parameters could not be parsed.</exception>
        /// <exception cref="System.OverflowException">One or both parameters represented numbers that were too large.</exception>
        static void AddTracker(
            Gateway.GatewayEntities gatewayEntities,
            DateTime batchDate,
            int tagNodeId,
            string macAddress,
            string serialNumber)
        {
            UInt64 macDummy;

            macDummy = UInt64.Parse(macAddress, NumberStyles.AllowHexSpecifier);
            // The parsed value is not used but we want the exception thrown for invalid format and overflow.

            var tracker = new Gateway.Tracker();

            tracker.MobileId = macAddress;
            gatewayEntities.AddToTrackers(tracker);
            gatewayEntities.SaveChanges();

            var serial = new Gateway.SerialNumber();

            serial.BatchDate          = batchDate;
            serial.TheSerialNumber    = serialNumber;
            serial.SerialNumberTypeId = tagNodeId;
            serial.TrackerId          = tracker.Id;

            gatewayEntities.AddToSerialNumbers(serial);

            gatewayEntities.SaveChanges();
        }