sharee.bike-App/TINKLib/ViewModel/CopriWebView/PasswordForgottonViewModel.cs

50 lines
1.4 KiB
C#
Raw Normal View History

2022-08-30 15:42:25 +02:00
using Serilog;
using TINK.Repository.Request;
2021-05-13 20:03:07 +02:00
namespace TINK.ViewModel.CopriWebView
{
2022-09-06 16:08:19 +02:00
/// <summary> Manages the copri web view for password forgotton use case. </summary>
public class PasswordForgottonViewModel
{
/// <summary> Holds the merchant id.</summary>
private string MerchantId { get; }
/// <summary> Holds the name of the host.</summary>
private string HostName { get; }
/// <summary>
/// Holds the current ui two letter ISO language name.
/// </summary>
private string UiIsoLanguageName { get; }
/// <param name="uiIsoLangugageName">Two letter ISO language name.</param>
public PasswordForgottonViewModel(
string merchantId,
string uiIsoLangugageName,
string hostName)
{
MerchantId = merchantId;
UiIsoLanguageName = uiIsoLangugageName;
HostName = hostName;
}
/// <summary> Get Uri of web view providing password forgotton functionality. </summary>
public string Uri
{
get
{
var sessionIdQueryElement = QueryBuilderHelper.GetSessionIdQueryElement("?", MerchantId);
string GetUriText()
=> !string.IsNullOrEmpty(sessionIdQueryElement)
? $"https://{HostName}/app/Account{sessionIdQueryElement}{QueryBuilderHelper.GetLanguageQueryElement("&", UiIsoLanguageName)}"
: $"https://{HostName}/app/Account";
Log.ForContext<PasswordForgottonViewModel>().Debug($"Request to open url {GetUriText()} to get privacy info.");
return GetUriText();
}
}
}
2021-05-13 20:03:07 +02:00
}