@Lang.Html("IDS_SUBSCRIPTIONS_PACKAGE_LOOKUP_TITLE")
(@Lang.Html("IDS_PACKAGES_VIEW_DF_NAME_LABEL"))
@Model.Subscriptions[i].PackageName
@Lang.Html("IDS_PACKAGES_VIEW_DF_ARTICLE_NUMBER_LABEL")
@Model.Subscriptions[i].ArticleNumber
@Lang.Html("IDS_PACKAGES_VIEW_DF_LIFETIME_LABEL")
@switch (Model.Subscriptions[i].Lifetime)
{
case 0:
@Lang.Html("IDS_LIFETIME_TRIAL")
break;
case 1:
@Lang.Html("IDS_LIFETIME_MONTH")
break;
case 2:
@Lang.Html("IDS_LIFETIME_3MONTH")
break;
case 3:
@Lang.Html("IDS_LIFETIME_6MONTH")
break;
case 4:
@Lang.Html("IDS_LIFETIME_9MONTH")
break;
case 5:
@Lang.Html("IDS_LIFETIME_YEAR")
break;
case 6:
@Lang.Html("IDS_LIFETIME_2YEARS")
break;
case 7:
@Lang.Html("IDS_LIFETIME_3YEARS")
break;
case 10:
@Lang.Html("IDS_LIFETIME_5YEARS")
break;
case 8:
@Lang.Html("IDS_LIFETIME_UNLIMITED")
break;
case 9:
@Lang.Html("IDS_LIFETIME_14DAYS")
break;
}
@Lang.Html("IDS_SUBSCRIPTIONS_VIEW_DF_CONSUMPTION_LIMIT_LABEL")
@if (Model.Subscriptions[i].QuotaCode == QuotaCode.XposRinexAndVRinexEpochs)
{
@Lang.FormatEpochs(Model.Subscriptions[i].ArticleConsumptionLimit)
}
else if (Model.Subscriptions[i].QuotaCode == QuotaCode.ConnectionTime)
{
@Lang.FormatDurationToHoursMinutes(Model.Subscriptions[i].ArticleConsumptionLimit, false)
}
else
{
@Lang.Html("IDS_QUOTA_TYPE_NONE")
}
@if (!string.IsNullOrEmpty(Model.Subscriptions[i].LeicaSensorSerialNumber))
{
@Lang.Html("IDS_SUBSCRIPTIONS_VIEW_DEVICE_LEICA_SENSOR_SERIAL_NUMBER")
@Model.Subscriptions[i].LeicaSensorSerialNumber
}
@Lang.Html("IDS_SUBSCRIPTIONS_VIEW_DF_SUBSCRIPTIONS_ID_LABEL")
@Model.Subscriptions[i].SubscriptionId
@if (!currentPrivilege.IsDealerLevel())
{
@Lang.Html("IDS_USERS_VIEW_DF_DEALER_LABEL")
@(string.IsNullOrEmpty(Model.User.DealerName) ? (object)Lang.Html("IDS_DEALER_NONE") : Model.User.DealerName)
}
@Lang.Html("IDS_PRODUCTS_VIEW_DF_STATUS_LABEL")
@{
IHtmlContent labelText = null;
string labelClass = null;
switch (Model.Subscriptions[i].Status)
{
case SubscriptionStatus.Active:
labelText = Lang.Html("IDS_SUBSCRIPTION_STATUS_ACTIVE");
break;
case SubscriptionStatus.Pending:
if (Model.Subscriptions[i].ServicePackageId == Model.NewlySubscribedPackageId)
{
labelText = Lang.Html("IDS_USER_SUBSCRPTIONS_VIEW_AWAITING_ACTIVATION_MESSAGE");
labelClass = "text-warning";
}
else
{
labelText = Lang.Html("IDS_SUBSCRIPTION_STATUS_PENDING");
}
break;
case SubscriptionStatus.Inactive:
labelText = Lang.Html("IDS_SUBSCRIPTION_STATUS_EXCEEDED");
labelClass = "stateIndicator text-danger";
break;
case SubscriptionStatus.ActiveAndExpired:
labelText = Lang.Html("IDS_SUBSCRIPTION_STATUS_EXPIRED");
labelClass = "stateIndicator text-danger";
break;
}
}
@labelText
@if (Model.Subscriptions[i].IsXposExceeded)
{
(@Lang.Html("IDS_SUBSCRIPTION_STATUS_RINEXEXCEEDED"))
}
@Lang.Html("IDS_SUBSCRIPTIONS_VIEW_DF_CREATED_DATE_LABEL")
@Model.Subscriptions[i].CreatedDate?.ToString(DateFormats.Date)
@Lang.Html("IDS_SUBSCRIPTIONS_VIEW_DF_FIRSTACTIVATION_DATE_LABEL")
@if (Model.Subscriptions[i].FirstActivationDate.HasValue && Model.Subscriptions[i].Status != SubscriptionStatus.Pending)
{
@Model.Subscriptions[i].FirstActivationDate?.ToString(DateFormats.Date)
}
@Lang.Html("IDS_PACKAGES_VIEW_DF_LIFETIME_LABEL")
@Lang.Html("IDS_SUBSCRIPTIONS_VIEW_DF_START_DATE_LABEL")
@if (ViewBag.editStatusBool == true && Model.Subscriptions[i].Status == SubscriptionStatus.Pending)
{
@DateTime.Now.ToString(DateFormats.Date)
}
else
{
@Model.Subscriptions[i].StartDate?.ToString(DateFormats.Date)
}
@Lang.Html("IDS_SUBSCRIPTIONS_MOBILE_VIEW_DF_RENEWAL_DATE_LABEL")
@if (Model.Subscriptions[i].ExpiryDate.HasValue && Model.Subscriptions[i].Status != SubscriptionStatus.Pending)
{
@Model.Subscriptions[i].RenewalDate?.ToString(DateFormats.Date)
}
@Lang.Html("IDS_SUBSCRIPTIONS_VIEW_DF_DAYS_TO_GO_LABEL")
@if (Model.Subscriptions[i].ExpiryDate.HasValue && Model.Subscriptions[i].Status != SubscriptionStatus.Pending)
{
@((Model.Subscriptions[i].RenewalDate.Value.Date - DateTime.Today).TotalDays)
}
@if (Model.Subscriptions[i].Status != SubscriptionStatus.Pending)
{
var totalDays = Model.Subscriptions[i].RenewalDate != null && Model.Subscriptions[i].StartDate != null ? (Convert.ToDateTime(Model.Subscriptions[i].RenewalDate).Date - Convert.ToDateTime(Model.Subscriptions[i].StartDate)).TotalDays : 0;
var remainingDays = Model.Subscriptions[i].RenewalDate != null ? (Convert.ToDateTime(Model.Subscriptions[i].RenewalDate).Date - DateTime.Today.Date).TotalDays : 0;
var renewalDays = Model.Subscriptions[i].RenewalDate != null && Model.Subscriptions[i].ExpiryDate != null ? (Convert.ToDateTime(Model.Subscriptions[i].ExpiryDate).Date - Convert.ToDateTime(Model.Subscriptions[i].RenewalDate).Date).TotalDays : 0;
var daysPercentage = totalDays > 0 ? remainingDays / totalDays : 0;
var daysToExceed = Model.Subscriptions[i].ExpiryDate != null ? (Convert.ToDateTime(Model.Subscriptions[i].ExpiryDate) - DateTime.Today).TotalDays : 0;
@Lang.Html("IDS_SUBSCRIPTIONS_VIEW_DF_START_DATE_LABEL")
@if (remainingDays < 0 && renewalDays >= 0)
{
if (Model.Subscriptions[i].Status == SubscriptionStatus.ActiveAndExpired)
{
@Lang.Html("IDS_SUBSCRIPTIONS_PROGRESSBAR_EXPIRED_MESSAGE")
}
else
{
@(daysToExceed >= 0 ? Lang.Html("IDS_SUBSCRIPTIONS_PROGRESSBAR_GRACE_PERIOD") : Lang.Html("IDS_SUBSCRIPTIONS_PROGRESSBAR_EXPIRED_MESSAGE"))
}
}
else
{
if (Model.Subscriptions[i].Status == SubscriptionStatus.ActiveAndExpired)
{
@Lang.Html("IDS_SUBSCRIPTIONS_PROGRESSBAR_EXPIRED_MESSAGE")
}
else
{
@Lang.Html("IDS_SUBSCRIPTIONS_PROGRESSBAR_CONSUMING")
}
}
@Lang.Html("IDS_SUBSCRIPTIONS_MOBILE_VIEW_DF_RENEWAL_DATE_LABEL")
@if (remainingDays < 0 && renewalDays >= 0)
{
if (Model.Subscriptions[i].Status == SubscriptionStatus.ActiveAndExpired)
{
}
else
{
}
}
else
{
if (Model.Subscriptions[i].Status == SubscriptionStatus.ActiveAndExpired)
{
}
else
{
1 ? 1.0 : daysPercentage)">
}
}
@($"{Convert.ToDateTime(Model.Subscriptions[i].StartDate):yyyy-MM-dd}")
@if (Model.Subscriptions[i].Status != SubscriptionStatus.ActiveAndExpired)
{
if (remainingDays < 0 && renewalDays >= 0)
{
@Lang.Html("IDS_SUBSCRIPTIONS_PROGRESSBAR_RENEWAL_MESSAGE", (Convert.ToDateTime(Model.Subscriptions[i].ExpiryDate) - DateTime.Today).TotalDays)
}
else
{
@Lang.Html("IDS_SUBSCRIPTIONS_PROGRESSBAR_DAYS_REMAINING", remainingDays)
}
}
@($"{Model.Subscriptions[i].RenewalDate:yyyy-MM-dd}")
}
@if (Model.Subscriptions[i].SubscriptionConsumptionLimit > 0)
{
@Lang.Html(Model.Subscriptions[i].QuotaCode == QuotaCode.ConnectionTime ? "IDS_SUBSCRIPTIONS_VIEW_CONSUMPTION_RTK_CHART" : "IDS_SUBSCRIPTIONS_VIEW_CONSUMPTION_XPOS_RINEX_CHART")
@Lang.Html("IDS_SUBSCRIPTIONS_VIEW_DF_CONSUMED_LABEL")
@(Model.Subscriptions[i].QuotaCode == QuotaCode.ConnectionTime ? Lang.FormatDurationWithPercent(Model.Subscriptions[i].Consumed, Model.Subscriptions[i].SubscriptionConsumptionLimit) : Lang.FormatEpochsWithPercent(Model.Subscriptions[i].Consumed, Model.Subscriptions[i].SubscriptionConsumptionLimit))
@Lang.Html("IDS_SUBSCRIPTIONS_VIEW_DF_REMAINING_LABEL")
@(Model.Subscriptions[i].QuotaCode == QuotaCode.ConnectionTime ? Lang.FormatDurationWithPercent(Model.Subscriptions[i].Remaining, Model.Subscriptions[i].SubscriptionConsumptionLimit) : Lang.FormatEpochsWithPercent(Model.Subscriptions[i].Remaining, Model.Subscriptions[i].SubscriptionConsumptionLimit))
if (Model.Subscriptions[i].Status != SubscriptionStatus.Pending)
{
var usagePercentage = 1 - (double) (Model.Subscriptions[i].SubscriptionConsumptionLimit - Model.Subscriptions[i].Remaining) / Model.Subscriptions[i].SubscriptionConsumptionLimit;
if (usagePercentage <= 0)
{
usagePercentage = 1;
}
1 ? 1.0 : usagePercentage)">
@(Model.Subscriptions[i].QuotaCode == QuotaCode.ConnectionTime ? Lang.FormatDuration("IDS_UNIT_HOURS", 0) : Lang.FormatEpochs(0))
@(Model.Subscriptions[i].Remaining < 1
? (object)Lang.Html(Model.Subscriptions[i].QuotaCode == QuotaCode.ConnectionTime ? "IDS_SUBSCRIPTIONS_VIEW_ALL_HOURS_CONSUMED" : "IDS_SUBSCRIPTIONS_VIEW_ALL_EPOCHS_CONSUMED")
: string.Format("{0} {1}", Model.Subscriptions[i].QuotaCode == QuotaCode.ConnectionTime
? Lang.FormatDurationToHoursMinutes(Model.Subscriptions[i].Remaining)
: Lang.FormatEpochs(Model.Subscriptions[i].Remaining),
Lang.Raw("IDS_SUBSCRIPTIONS_MOBILE_VIEW_DF_REMAINING_LABEL")))
@(Model.Subscriptions[i].QuotaCode == QuotaCode.ConnectionTime ? Lang.FormatDuration("IDS_SUBSCRIPTIONS_MOBILE_UNIT_CONSUMED_REMAINING_HRS", Model.Subscriptions[i].SubscriptionConsumptionLimit) : Lang.FormatEpochs(Model.Subscriptions[i].SubscriptionConsumptionLimit))
}
}