mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2024-11-15 14:46:39 +01:00
106 lines
3.2 KiB
C#
106 lines
3.2 KiB
C#
using System.Runtime.Serialization;
|
|
|
|
namespace TINK.Repository.Response
|
|
{
|
|
/// <summary>
|
|
/// Holds info about a single bike.
|
|
/// </summary>
|
|
[DataContract]
|
|
public class BikeInfoBase
|
|
{
|
|
/// <summary>
|
|
/// Id of the bike.
|
|
/// </summary>
|
|
[DataMember]
|
|
public string bike { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Position of the bike.
|
|
/// </summary>
|
|
[DataMember]
|
|
public Position gps { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Id of the station.
|
|
/// </summary>
|
|
[DataMember]
|
|
public string station { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Holds the localized (german) description of the bike.
|
|
/// </summary>
|
|
[DataMember]
|
|
public string description { get; private set; }
|
|
|
|
/// <summary> Holds the group of the bike.</summary>
|
|
/// <remarks>
|
|
/// Copri returns values "TINK", "Konrad".
|
|
/// </remarks>
|
|
[DataMember]
|
|
public string[] bike_group { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Rental state.
|
|
/// </summary>
|
|
[DataMember]
|
|
public string state { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Holds the uri where to reserve/ rent the bike.
|
|
/// </summary>
|
|
[DataMember]
|
|
public string uri_operator { get; private set; }
|
|
|
|
/// <summary> Holds whether bike is equipped with computer or if bike is a lock bike.</summary>
|
|
/// <remarks>
|
|
/// <table>
|
|
/// <tr><th>Value </th><th>Type of bike </th><th>Member to extract info.</th></tr>
|
|
/// <tr><td>LOCK </td><td>Bike with manual lock. </td><td>TextToTypeHelper.GetIsNonBikeComputerBike</td></tr>
|
|
/// <tr><td>BC </td><td>Bike with a bord computer. </td><td></td></tr>
|
|
/// <tr><td>Ilockit </td><td>Bike with a bluetooth lock.</td><td></td></tr>
|
|
/// <tr><td>sigo </td><td>Sigo bike.</td><td></td></tr>
|
|
/// </table>
|
|
/// </remarks>
|
|
[DataMember]
|
|
public string system { get; private set; }
|
|
|
|
#if !NOTARIFFDESCRIPTION
|
|
/// <summary> Holds the tariff information for a bike. </summary>
|
|
/// <remarks> This member is obsolete. Use <cref="rental_description"> instead.</cref></remarks>
|
|
[DataMember]
|
|
public TariffDescription tariff_description { get; private set; }
|
|
|
|
/// <summary> Holds the rental information for a bike. </summary>
|
|
[DataMember]
|
|
public RentalDescription rental_description { get; private set; }
|
|
#endif
|
|
[DataMember]
|
|
/// <summary> Describes type of the bike.</summary>
|
|
public BikeType bike_type { get; private set; }
|
|
|
|
/// <summary> Loading state of motor battery in % ]0..100[. </summary>
|
|
[DataMember]
|
|
public string bike_charge { get; private set; }
|
|
|
|
/// <summary> Locking state of the bike. </summary>
|
|
[DataMember]
|
|
public string lock_state { get; private set; }
|
|
|
|
[DataMember]
|
|
/// <summary> Full advertisement name.</summary>
|
|
public string Ilockit_ID { get; private set; }
|
|
|
|
[DataMember]
|
|
/// <summary> Full advertisement name.</summary>
|
|
public string Ilockit_GUID { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Textual description of response.
|
|
/// </summary>
|
|
/// <returns>Object as text.</returns>
|
|
public new string ToString()
|
|
{
|
|
return $"Bike {bike}{(station != null ? $", at station {station}" : string.Empty)}{(!string.IsNullOrEmpty(description) ? $", {description}" : string.Empty)}{(!string.IsNullOrEmpty(state) ? $", status={state}" : string.Empty)}.";
|
|
}
|
|
}
|
|
}
|