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