using System; using TINK.Model.Bikes.Bike.CopriLock; namespace TINK.Model.Bike.CopriLock { public class BikeInfoMutable : BC.BikeInfoMutable, IBikeInfoMutable { /// Constructs a bike object from source. public BikeInfoMutable(BikeInfo bike, string stationName) : base( bike?.Id ?? throw new ArgumentException(nameof(bike)), bike.LockModel, bike.IsDemo, bike.Group, bike.WheelType, bike.TypeOfBike, bike.Description, bike.StationId, stationName, bike.OperatorUri, bike.TariffDescription, () => DateTime.Now, bike.State) { LockInfo = new LockInfoMutable(bike.LockInfo.State); } public LockInfoMutable LockInfo { get; } ILockInfoMutable IBikeInfoMutable.LockInfo => LockInfo; } }