2021-05-13 20:03:07 +02:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
namespace TINK.Model.User.Account
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Holds email address and password.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class AccountMutable : IAccount
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Holds the account data.
|
|
|
|
|
/// </summary>
|
|
|
|
|
private Account m_oAccount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public AccountMutable(IAccount p_oSource)
|
|
|
|
|
{
|
|
|
|
|
m_oAccount = new Account(p_oSource);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void Copy(IAccount p_oSource)
|
|
|
|
|
{
|
|
|
|
|
m_oAccount = new Account(p_oSource);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Mail address.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Mail
|
|
|
|
|
{
|
|
|
|
|
get { return m_oAccount.Mail; }
|
2022-01-04 18:59:16 +01:00
|
|
|
|
set { m_oAccount = new Account(value, m_oAccount.Pwd, m_oAccount.IsAgbAcknowledged, m_oAccount.SessionCookie, m_oAccount.Group, m_oAccount.DebugLevel); }
|
2021-05-13 20:03:07 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Password of the account.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Pwd
|
|
|
|
|
{
|
|
|
|
|
get { return m_oAccount.Pwd; }
|
2022-01-04 18:59:16 +01:00
|
|
|
|
set { m_oAccount = new Account(m_oAccount.Mail, value, m_oAccount.IsAgbAcknowledged, m_oAccount.SessionCookie, m_oAccount.Group, m_oAccount.DebugLevel); }
|
2021-05-13 20:03:07 +02:00
|
|
|
|
}
|
|
|
|
|
|
2022-01-04 18:59:16 +01:00
|
|
|
|
/// <summary>True if user acknowleged agbs.</summary>
|
|
|
|
|
public bool IsAgbAcknowledged => m_oAccount.IsAgbAcknowledged;
|
|
|
|
|
|
2021-05-13 20:03:07 +02:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Session cookie used to sign in to copri.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string SessionCookie
|
|
|
|
|
{
|
|
|
|
|
get { return m_oAccount.SessionCookie; }
|
2022-01-04 18:59:16 +01:00
|
|
|
|
set { m_oAccount = new Account(m_oAccount.Mail, m_oAccount.Pwd, m_oAccount.IsAgbAcknowledged, value, m_oAccount.Group, m_oAccount.DebugLevel); }
|
2021-05-13 20:03:07 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Holds the group of the bike (TINK, Konrad, ...).
|
|
|
|
|
/// </summary>
|
|
|
|
|
public IEnumerable<string> Group
|
|
|
|
|
{
|
|
|
|
|
get { return m_oAccount.Group; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Debug level used to determine which features are available.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Permissions DebugLevel
|
|
|
|
|
{
|
|
|
|
|
get { return m_oAccount.DebugLevel; }
|
2022-01-04 18:59:16 +01:00
|
|
|
|
set { m_oAccount = new Account(m_oAccount.Mail, m_oAccount.Pwd, m_oAccount.IsAgbAcknowledged, m_oAccount.SessionCookie, m_oAccount.Group, value); }
|
2021-05-13 20:03:07 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|