sharee.bike-App/TINKLib/Model/Bikes/BikeInfoNS/BC/IBikeInfo.cs

66 lines
1.4 KiB
C#
Raw Normal View History

2023-01-18 14:22:51 +01:00
using System;
2021-05-13 20:03:07 +02:00
using System.Collections.Generic;
2022-08-30 15:42:25 +02:00
using TINK.Model.Bikes.BikeInfoNS.DriveNS;
2021-05-13 20:03:07 +02:00
using TINK.Model.State;
2022-08-30 15:42:25 +02:00
namespace TINK.Model.Bikes.BikeInfoNS.BC
2021-05-13 20:03:07 +02:00
{
2022-09-06 16:08:19 +02:00
/// <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>
2023-08-31 12:31:38 +02:00
DriveMutable Drive { get; }
2022-09-06 16:08:19 +02:00
2023-01-18 14:22:51 +01:00
/// <summary> Gets or sets the information where the data origins from. </summary>
DataSource DataSource { get; }
2022-09-06 16:08:19 +02:00
/// <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; }
2023-11-06 12:23:09 +01:00
/// <summary> Holds description about the tariff. </summary>
2022-09-06 16:08:19 +02:00
RentalDescription TariffDescription { get; }
/// <summary>
/// Holds the rent state of the bike.
/// </summary>
IStateInfo State { get; }
}
2023-01-18 14:22:51 +01:00
/// <summary>
/// Origin of the data.
/// </summary>
public enum DataSource
{
/// <summary>
2023-05-09 08:47:52 +02:00
/// Data source copri.
2023-01-18 14:22:51 +01:00
/// </summary>
Copri,
/// <summary>
/// Data source cache.
/// </summary>
Cache
}
2021-05-13 20:03:07 +02:00
}