using System; namespace TINK.Model.Bikes.BikeInfoNS.BluetoothLock { public class BikeInfoMutable : Model.Bikes.BikeInfoNS.BC.BikeInfoMutable, IBikeInfoMutable { /// Constructs a bike object from source. public BikeInfoMutable(BikeInfo bike, string stationName) : base( bike != null ? bike.Bike : throw new ArgumentNullException(nameof(bike)), bike.Drive, bike.IsDemo, bike.Group, bike.StationId, stationName, bike.OperatorUri, bike.TariffDescription, () => DateTime.Now, bike.State) { LockInfo = new LockInfoMutable( bike.LockInfo.Id, bike.LockInfo.Guid, bike.LockInfo.UserKey, bike.LockInfo.AdminKey, bike.LockInfo.Seed, bike.LockInfo.State); } public LockInfoMutable LockInfo { get; } ILockInfoMutable IBikeInfoMutable.LockInfo => LockInfo; } }