using System;
using System.Collections.Generic;
using System.ComponentModel;
using TINK.Model.Bikes.BikeInfoNS.BikeNS;
using TINK.Model.Bikes.BikeInfoNS.DriveNS;
using TINK.Model.State;
namespace TINK.Model.Bikes.BikeInfoNS.BC
{
public interface IBikeInfoMutable
{
///
/// Holds the unique id of the bike;
///
string Id { get; }
/// True if bike is a demo bike.
bool IsDemo { get; }
/// Returns the group (TINK, Konrad, ...).
IEnumerable Group { get; }
///
/// Holds the count of wheels.
///
WheelType? WheelType { get; }
///
/// Holds the type of bike.
///
TypeOfBike? TypeOfBike { get; }
/// Gets the model of the lock.
LockModel LockModel { get; }
/// Holds the description of the bike.
string Description { get; }
///
/// Station a which bike is located, null otherwise.
///
string StationId { get; }
///
/// Holds the rent state of the bike.
///
IStateInfoMutable State { get; }
///
/// Uri of the operator or null, in case of single operator setup.
///
Uri OperatorUri { get; }
///
/// Hold the drive object.
///
Drive Drive { get; }
event PropertyChangedEventHandler PropertyChanged;
}
public enum NotifyPropertyChangedLevel
{
/// Notify about all property changes.
All,
/// Notify about no property changes.
None
}
}