|
|
|
@ -11,157 +11,176 @@
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-sm-12">
|
|
|
|
|
<div class="card-box">
|
|
|
|
|
|
|
|
|
|
<h4 class="m-t-0 header-title"><b>Applied Single Market Setting Details</b></h4>
|
|
|
|
|
|
|
|
|
|
<h4 class="m-t-0 header-title"><b>Applied Single Market Settings</b></h4>
|
|
|
|
|
<tbody>
|
|
|
|
|
<p style="text-align: center;"><br>
|
|
|
|
|
<tr>
|
|
|
|
|
@{
|
|
|
|
|
Model.CreateSmsList();
|
|
|
|
|
foreach (string sms in Model.smsList)
|
|
|
|
|
{
|
|
|
|
|
int smsCount = 0;
|
|
|
|
|
foreach (Core.Main.DataObjects.PTMagicData.SingleMarketSettingSummary smsSummary in Model.SingleMarketSettingSummaries)
|
|
|
|
|
{
|
|
|
|
|
if (smsSummary.SingleMarketSetting.SettingName == sms)
|
|
|
|
|
{
|
|
|
|
|
smsCount = smsCount + 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
<td><a href="@Html.Raw(Model.PTMagicConfiguration.GeneralSettings.Monitor.RootUrl)SettingsAnalyzer#SingleMarketSetting_@sms">@sms</a>: @smsCount    </td>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</tr>
|
|
|
|
|
</p>
|
|
|
|
|
</tbody>
|
|
|
|
|
<br>
|
|
|
|
|
<table class="table table-striped table-sm m-b-0" h>
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>Market Name</th>
|
|
|
|
|
<th class="text-right">Last Price</th>
|
|
|
|
|
<th class="text-right">Volume</th>
|
|
|
|
|
<th>Active Setting</th>
|
|
|
|
|
<th>Triggered time</th>
|
|
|
|
|
<th>Off Triggers</th>
|
|
|
|
|
<th class="text-right">Current Values</th>
|
|
|
|
|
<th>Volume</th>
|
|
|
|
|
<th>Last Price</th>
|
|
|
|
|
<th class="text-right">Active Setting </th>
|
|
|
|
|
<th> Triggered time</th>
|
|
|
|
|
<th class="text-center">Off Triggers</th>
|
|
|
|
|
<th class="text-center">Current Value</th>
|
|
|
|
|
<th></th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
@{
|
|
|
|
|
string lastMarket = "";
|
|
|
|
|
}
|
|
|
|
|
@foreach (Core.Main.DataObjects.PTMagicData.SingleMarketSettingSummary smsSummary in Model.SingleMarketSettingSummaries.OrderBy(s => s.Market)) {
|
|
|
|
|
Core.Main.DataObjects.PTMagicData.MarketPairSummary mps = null;
|
|
|
|
|
if (Model.Summary.MarketSummary.ContainsKey(smsSummary.Market)) {
|
|
|
|
|
mps = Model.Summary.MarketSummary[smsSummary.Market];
|
|
|
|
|
} else {
|
|
|
|
|
mps = new Core.Main.DataObjects.PTMagicData.MarketPairSummary();
|
|
|
|
|
}
|
|
|
|
|
</tbody>
|
|
|
|
|
@{
|
|
|
|
|
string lastMarket = "";
|
|
|
|
|
}
|
|
|
|
|
@foreach (Core.Main.DataObjects.PTMagicData.SingleMarketSettingSummary smsSummary in Model.SingleMarketSettingSummaries.OrderBy(s => s.Market)) {
|
|
|
|
|
Core.Main.DataObjects.PTMagicData.MarketPairSummary mps = null;
|
|
|
|
|
if (Model.Summary.MarketSummary.ContainsKey(smsSummary.Market)) {
|
|
|
|
|
mps = Model.Summary.MarketSummary[smsSummary.Market];
|
|
|
|
|
} else {
|
|
|
|
|
mps = new Core.Main.DataObjects.PTMagicData.MarketPairSummary();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool settingHasOffTriggers = false;
|
|
|
|
|
if (smsSummary.SingleMarketSetting.OffTriggers.Count > 0) {
|
|
|
|
|
settingHasOffTriggers = true;
|
|
|
|
|
}
|
|
|
|
|
bool settingHasOffTriggers = false;
|
|
|
|
|
if (smsSummary.SingleMarketSetting.OffTriggers.Count > 0) {
|
|
|
|
|
settingHasOffTriggers = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int activeSeconds = (int)Math.Floor(DateTime.UtcNow.Subtract(smsSummary.ActivationDateTimeUTC).TotalSeconds);
|
|
|
|
|
int activeHours = (int)Math.Floor(DateTime.UtcNow.Subtract(smsSummary.ActivationDateTimeUTC).TotalHours);
|
|
|
|
|
<tr>
|
|
|
|
|
<th>
|
|
|
|
|
@if (!lastMarket.Equals(smsSummary.Market)) {
|
|
|
|
|
<a href="@Core.Helper.SystemHelper.GetMarketLink(Model.PTMagicConfiguration.GeneralSettings.Monitor.LinkPlatform, Model.PTMagicConfiguration.GeneralSettings.Application.Exchange, smsSummary.Market, Model.Summary.MainMarket)" target="_blank">@smsSummary.Market</a>
|
|
|
|
|
int activeSeconds = (int)Math.Floor(DateTime.UtcNow.Subtract(smsSummary.ActivationDateTimeUTC).TotalSeconds);
|
|
|
|
|
int activeHours = (int)Math.Floor(DateTime.UtcNow.Subtract(smsSummary.ActivationDateTimeUTC).TotalHours);
|
|
|
|
|
<tr>
|
|
|
|
|
<th>
|
|
|
|
|
@if (!lastMarket.Equals(smsSummary.Market)) {
|
|
|
|
|
<a href="@Core.Helper.SystemHelper.GetMarketLink(Model.PTMagicConfiguration.GeneralSettings.Monitor.LinkPlatform, Model.PTMagicConfiguration.GeneralSettings.Application.Exchange, smsSummary.Market, Model.Summary.MainMarket)" target="_blank">@smsSummary.Market</a>
|
|
|
|
|
}
|
|
|
|
|
</th>
|
|
|
|
|
<td>
|
|
|
|
|
@if (!lastMarket.Equals(smsSummary.Market)) {
|
|
|
|
|
<span>@Math.Round(mps.Latest24hVolume, 0).ToString("#,#0", new System.Globalization.CultureInfo("en-US")) @Model.Summary.MainMarket</span>
|
|
|
|
|
}
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
@if (!lastMarket.Equals(smsSummary.Market)) {
|
|
|
|
|
<span>@mps.LatestPrice.ToString("#,#0.00000000", new System.Globalization.CultureInfo("en-US")) @Model.Summary.MainMarket</span>
|
|
|
|
|
}
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-right">
|
|
|
|
|
@Core.Helper.SystemHelper.SplitCamelCase(smsSummary.SingleMarketSetting.SettingName)
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
@Core.Helper.SystemHelper.GetProperDurationTime(activeSeconds)
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
@if (settingHasOffTriggers) {
|
|
|
|
|
foreach (Core.Main.DataObjects.PTMagicData.OffTrigger ot in smsSummary.SingleMarketSetting.OffTriggers) {
|
|
|
|
|
string triggerTextClass = "text-danger";
|
|
|
|
|
if (ot.HoursSinceTriggered > 0) {
|
|
|
|
|
triggerTextClass = (activeHours >= ot.HoursSinceTriggered) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass"><span>Hours Since Triggered</span><span class="pull-right">@ot.HoursSinceTriggered</span></p>
|
|
|
|
|
}
|
|
|
|
|
</th>
|
|
|
|
|
<td class="text-right">
|
|
|
|
|
@if (!lastMarket.Equals(smsSummary.Market)) {
|
|
|
|
|
<span>@mps.LatestPrice.ToString("#,#0.00000000", new System.Globalization.CultureInfo("en-US")) @Model.Summary.MainMarket</span>
|
|
|
|
|
}
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-right">
|
|
|
|
|
@if (!lastMarket.Equals(smsSummary.Market)) {
|
|
|
|
|
<span>@Math.Round(mps.Latest24hVolume, 0).ToString("#,#0", new System.Globalization.CultureInfo("en-US")) @Model.Summary.MainMarket</span>
|
|
|
|
|
}
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
@Core.Helper.SystemHelper.SplitCamelCase(smsSummary.SingleMarketSetting.SettingName)
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
@Core.Helper.SystemHelper.GetProperDurationTime(activeSeconds)
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
@if (settingHasOffTriggers) {
|
|
|
|
|
foreach (Core.Main.DataObjects.PTMagicData.OffTrigger ot in smsSummary.SingleMarketSetting.OffTriggers) {
|
|
|
|
|
string triggerTextClass = "text-danger";
|
|
|
|
|
if (ot.HoursSinceTriggered > 0) {
|
|
|
|
|
triggerTextClass = (activeHours >= ot.HoursSinceTriggered) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass"><span>Hours Since Triggered</span><span class="pull-right">@ot.HoursSinceTriggered</span></p>
|
|
|
|
|
}
|
|
|
|
|
if (ot.Min24hVolume > 0 || ot.Max24hVolume < Core.Main.Constants.Max24hVolume) {
|
|
|
|
|
triggerTextClass = (mps.Latest24hVolume >= ot.Min24hVolume && mps.Latest24hVolume <= ot.Max24hVolume) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass">
|
|
|
|
|
<span>Volume</span>
|
|
|
|
|
<span class="pull-right">
|
|
|
|
|
@if (ot.Min24hVolume > 0) {
|
|
|
|
|
@("min: " + ot.Min24hVolume.ToString("#,#0.00000000", new System.Globalization.CultureInfo("en-US")) + " " + Model.Summary.MainMarket)
|
|
|
|
|
}
|
|
|
|
|
@if (ot.Min24hVolume > 0 && ot.Max24hVolume < Core.Main.Constants.Max24hVolume) {
|
|
|
|
|
@(", ")
|
|
|
|
|
}
|
|
|
|
|
@if (ot.Max24hVolume < Core.Main.Constants.Max24hVolume) {
|
|
|
|
|
@("max: " + ot.Max24hVolume.ToString("#,#0.00000000", new System.Globalization.CultureInfo("en-US")) + " " + Model.Summary.MainMarket)
|
|
|
|
|
}
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
}
|
|
|
|
|
if (ot.Max24hVolume < Core.Main.Constants.Max24hVolume) {
|
|
|
|
|
triggerTextClass = (mps.Latest24hVolume <= ot.Max24hVolume) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass"><span>Max 24h Volume</span><span class="pull-right">@ot.Max24hVolume.ToString("#,#0.00000000", new System.Globalization.CultureInfo("en-US")) @Model.Summary.MainMarket</span></p>
|
|
|
|
|
}
|
|
|
|
|
if (!ot.MarketTrendName.Equals("")) {
|
|
|
|
|
double trendChange = Model.GetTrendChange(ot.MarketTrendName, mps, smsSummary.TriggerSnapshot, ot.MarketTrendRelation);
|
|
|
|
|
triggerTextClass = (trendChange >= ot.MinChange && trendChange <= ot.MaxChange) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass">
|
|
|
|
|
<span>@Core.Helper.SystemHelper.SplitCamelCase(ot.MarketTrendName) (@Core.Helper.SystemHelper.SplitCamelCase(ot.MarketTrendRelation))</span>
|
|
|
|
|
<span class="pull-right">
|
|
|
|
|
@if (ot.MinChange > Core.Main.Constants.MinTrendChange) {
|
|
|
|
|
@("min: " + ot.MinChange.ToString("#,#0.00", new System.Globalization.CultureInfo("en-US")) + "%")
|
|
|
|
|
}
|
|
|
|
|
@if (ot.MinChange > Core.Main.Constants.MinTrendChange && ot.MaxChange < Core.Main.Constants.MaxTrendChange) {
|
|
|
|
|
@(", ")
|
|
|
|
|
}
|
|
|
|
|
@if (ot.MaxChange < Core.Main.Constants.MaxTrendChange) {
|
|
|
|
|
@("max: " + ot.MaxChange.ToString("#,#0.00", new System.Globalization.CultureInfo("en-US")) + "%")
|
|
|
|
|
}
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
<i class="text-warning">Not specified</i> <i class="fa fa-info-circle text-muted" data-toggle="tooltip" data-placement="top" title="This setting has no Off Triggers so it will stay active until its triggers are no longer matched."></i>
|
|
|
|
|
}
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-right">
|
|
|
|
|
@if (settingHasOffTriggers) {
|
|
|
|
|
foreach (Core.Main.DataObjects.PTMagicData.OffTrigger ot in smsSummary.SingleMarketSetting.OffTriggers) {
|
|
|
|
|
string triggerTextClass = "text-danger";
|
|
|
|
|
if (ot.HoursSinceTriggered > 0) {
|
|
|
|
|
triggerTextClass = (activeHours >= ot.HoursSinceTriggered) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass">@activeHours.ToString(new System.Globalization.CultureInfo("en-US"))</p>
|
|
|
|
|
}
|
|
|
|
|
if (ot.Min24hVolume > 0) {
|
|
|
|
|
triggerTextClass = (mps.Latest24hVolume >= ot.Min24hVolume) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass">@Math.Round(mps.Latest24hVolume, 0).ToString("#,#0", new System.Globalization.CultureInfo("en-US")) @Model.Summary.MainMarket</p>
|
|
|
|
|
}
|
|
|
|
|
if (ot.Max24hVolume < Core.Main.Constants.Max24hVolume) {
|
|
|
|
|
triggerTextClass = (mps.Latest24hVolume <= ot.Max24hVolume) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass">@Math.Round(mps.Latest24hVolume, 0).ToString("#,#0", new System.Globalization.CultureInfo("en-US")) @Model.Summary.MainMarket</p>
|
|
|
|
|
}
|
|
|
|
|
if (!ot.MarketTrendName.Equals("")) {
|
|
|
|
|
if (mps.MarketTrendChanges.ContainsKey(ot.MarketTrendName)) {
|
|
|
|
|
double trendChange = Model.GetTrendChange(ot.MarketTrendName, mps, smsSummary.TriggerSnapshot, ot.MarketTrendRelation);
|
|
|
|
|
triggerTextClass = (trendChange >= ot.MinChange && trendChange <= ot.MaxChange) ? "text-success" : "text-danger";
|
|
|
|
|
string trendChangeOutput = trendChange.ToString("#,#0.00", new System.Globalization.CultureInfo("en-US"));
|
|
|
|
|
<p class="@triggerTextClass">@trendChangeOutput%</p>
|
|
|
|
|
if (ot.Min24hVolume > 0 || ot.Max24hVolume < Core.Main.Constants.Max24hVolume) {
|
|
|
|
|
triggerTextClass = (mps.Latest24hVolume >= ot.Min24hVolume && mps.Latest24hVolume <= ot.Max24hVolume) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass">
|
|
|
|
|
<span>Volume</span>
|
|
|
|
|
<span class="pull-right">
|
|
|
|
|
@if (ot.Min24hVolume > 0) {
|
|
|
|
|
@("min: " + ot.Min24hVolume.ToString("#,#0.00000000", new System.Globalization.CultureInfo("en-US")) + " " + Model.Summary.MainMarket)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@if (ot.Min24hVolume > 0 && ot.Max24hVolume < Core.Main.Constants.Max24hVolume) {
|
|
|
|
|
@(", ")
|
|
|
|
|
}
|
|
|
|
|
@if (ot.Max24hVolume < Core.Main.Constants.Max24hVolume) {
|
|
|
|
|
@("max: " + ot.Max24hVolume.ToString("#,#0.00000000", new System.Globalization.CultureInfo("en-US")) + " " + Model.Summary.MainMarket)
|
|
|
|
|
}
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
}
|
|
|
|
|
if (ot.Max24hVolume < Core.Main.Constants.Max24hVolume) {
|
|
|
|
|
triggerTextClass = (mps.Latest24hVolume <= ot.Max24hVolume) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass"><span>Max 24h Volume</span><span class="pull-right">@ot.Max24hVolume.ToString("#,#0.00000000", new System.Globalization.CultureInfo("en-US")) @Model.Summary.MainMarket</span></p>
|
|
|
|
|
}
|
|
|
|
|
if (!ot.MarketTrendName.Equals("")) {
|
|
|
|
|
double trendChange = Model.GetTrendChange(ot.MarketTrendName, mps, smsSummary.TriggerSnapshot, ot.MarketTrendRelation);
|
|
|
|
|
triggerTextClass = (trendChange >= ot.MinChange && trendChange <= ot.MaxChange) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass">
|
|
|
|
|
<span>@Core.Helper.SystemHelper.SplitCamelCase(ot.MarketTrendName) (@Core.Helper.SystemHelper.SplitCamelCase(ot.MarketTrendRelation))</span>
|
|
|
|
|
<span class="pull-right">
|
|
|
|
|
@if (ot.MinChange > Core.Main.Constants.MinTrendChange) {
|
|
|
|
|
@("min: " + ot.MinChange.ToString("#,#0.00", new System.Globalization.CultureInfo("en-US")) + "%")
|
|
|
|
|
}
|
|
|
|
|
@if (ot.MinChange > Core.Main.Constants.MinTrendChange && ot.MaxChange < Core.Main.Constants.MaxTrendChange) {
|
|
|
|
|
@(", ")
|
|
|
|
|
}
|
|
|
|
|
@if (ot.MaxChange < Core.Main.Constants.MaxTrendChange) {
|
|
|
|
|
@("max: " + ot.MaxChange.ToString("#,#0.00", new System.Globalization.CultureInfo("en-US")) + "%")
|
|
|
|
|
}
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
<i class="text-warning">Not specified</i> <i class="fa fa-info-circle text-muted" data-toggle="tooltip" data-placement="top" title="This setting has no Off Triggers so it will stay active until its triggers are no longer matched."></i>
|
|
|
|
|
}
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">
|
|
|
|
|
@if (settingHasOffTriggers) {
|
|
|
|
|
foreach (Core.Main.DataObjects.PTMagicData.OffTrigger ot in smsSummary.SingleMarketSetting.OffTriggers) {
|
|
|
|
|
string triggerTextClass = "text-danger";
|
|
|
|
|
if (ot.HoursSinceTriggered > 0) {
|
|
|
|
|
triggerTextClass = (activeHours >= ot.HoursSinceTriggered) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass">@activeHours.ToString(new System.Globalization.CultureInfo("en-US"))</p>
|
|
|
|
|
}
|
|
|
|
|
if (ot.Min24hVolume > 0) {
|
|
|
|
|
triggerTextClass = (mps.Latest24hVolume >= ot.Min24hVolume) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass">@Math.Round(mps.Latest24hVolume, 0).ToString("#,#0", new System.Globalization.CultureInfo("en-US")) @Model.Summary.MainMarket</p>
|
|
|
|
|
}
|
|
|
|
|
if (ot.Max24hVolume < Core.Main.Constants.Max24hVolume) {
|
|
|
|
|
triggerTextClass = (mps.Latest24hVolume <= ot.Max24hVolume) ? "text-success" : "text-danger";
|
|
|
|
|
<p class="@triggerTextClass">@Math.Round(mps.Latest24hVolume, 0).ToString("#,#0", new System.Globalization.CultureInfo("en-US")) @Model.Summary.MainMarket</p>
|
|
|
|
|
}
|
|
|
|
|
if (!ot.MarketTrendName.Equals("")) {
|
|
|
|
|
if (mps.MarketTrendChanges.ContainsKey(ot.MarketTrendName)) {
|
|
|
|
|
double trendChange = Model.GetTrendChange(ot.MarketTrendName, mps, smsSummary.TriggerSnapshot, ot.MarketTrendRelation);
|
|
|
|
|
triggerTextClass = (trendChange >= ot.MinChange && trendChange <= ot.MaxChange) ? "text-success" : "text-danger";
|
|
|
|
|
string trendChangeOutput = trendChange.ToString("#,#0.00", new System.Globalization.CultureInfo("en-US"));
|
|
|
|
|
<p class="@triggerTextClass">@trendChangeOutput%</p>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
@if (settingHasOffTriggers) {
|
|
|
|
|
@if (Model.PTMagicConfiguration.GeneralSettings.Monitor.IsPasswordProtected) {
|
|
|
|
|
<a class="btn btn-danger btn-sm btn-custom btn-block text-uppercase btn-resetsettingsecure" data-datatarget="@Html.Raw(smsSummary.Market)" data-setting="@Html.Raw(smsSummary.SingleMarketSetting.SettingName)" href="#">Reset</a>
|
|
|
|
|
} else {
|
|
|
|
|
<a class="btn btn-danger btn-custom btn-block text-uppercase" data-toggle="tooltip" data-placement="top" title="This is only accessible when you protect your monitor with a password!"><i class="fa fa-lock text-danger"></i> Reset</a>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
lastMarket = smsSummary.Market;
|
|
|
|
|
}
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
@if (settingHasOffTriggers) {
|
|
|
|
|
@if (Model.PTMagicConfiguration.GeneralSettings.Monitor.IsPasswordProtected) {
|
|
|
|
|
<a class="btn btn-danger btn-sm btn-custom btn-block text-uppercase btn-resetsettingsecure" data-datatarget="@Html.Raw(smsSummary.Market)" data-setting="@Html.Raw(smsSummary.SingleMarketSetting.SettingName)" href="#">Reset</a>
|
|
|
|
|
} else {
|
|
|
|
|
<a class="btn btn-danger btn-custom btn-block text-uppercase" data-toggle="tooltip" data-placement="top" title="This is only accessible when you protect your monitor with a password!"><i class="fa fa-lock text-danger"></i> Reset</a>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
lastMarket = smsSummary.Market;
|
|
|
|
|
}
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|