sharee.bike-App/TINKLib/Model/Bikes/BikeInfoNS/BC/IBikeInfo.cs
2023-08-31 12:31:38 +02:00

65 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using TINK.Model.Bikes.BikeInfoNS.DriveNS;
using TINK.Model.State;
namespace TINK.Model.Bikes.BikeInfoNS.BC
{
/// <summary>
/// Allows to access bike info.
/// </summary>
public interface IBikeInfo
{
/// <summary>
/// Holds the bike object.
/// </summary>
BikeNS.Bike Bike { get; }
/// <summary>
/// Holds the drive.
/// </summary>
DriveMutable Drive { get; }
/// <summary> Gets or sets the information where the data origins from. </summary>
DataSource DataSource { get; }
/// <summary> True if bike is a demo bike. </summary>
bool IsDemo { get; }
/// <summary> Returns the group (TINK, Konrad, ...). </summary>
IEnumerable<string> Group { get; }
/// <summary>
/// Station a which bike is located, null otherwise.
/// </summary>
string StationId { get; }
/// <summary>
/// Uri of the operator or null, in case of single operator setup.
/// </summary>
Uri OperatorUri { get; }
/// <summary> Holds description about the tarif. </summary>
RentalDescription TariffDescription { get; }
/// <summary>
/// Holds the rent state of the bike.
/// </summary>
IStateInfo State { get; }
}
/// <summary>
/// Origin of the data.
/// </summary>
public enum DataSource
{
/// <summary>
/// Data source copri.
/// </summary>
Copri,
/// <summary>
/// Data source cache.
/// </summary>
Cache
}
}