@using PowderCoating.Core.Entities @model List @{ ViewData["Title"] = "Announcements"; string TypeBadge(string type) => type switch { "success" => "bg-success", "warning" => "bg-warning", "danger" => "bg-danger", _ => "bg-info" }; } @section Styles { }

Announcements

New Announcement
@if (TempData["Success"] != null) { }
@if (!Model.Any()) { } @foreach (var a in Model) { var now = DateTime.UtcNow; var isLive = a.IsActive && a.StartsAt <= now && (a.ExpiresAt == null || a.ExpiresAt > now); }
Title Type Target Starts Expires Active Dismissible
No announcements yet.
@a.Title
@a.Message.Substring(0, Math.Min(60, a.Message.Length))@(a.Message.Length > 60 ? "…" : "")
@a.Type @if (a.Target == "All") { All } else if (a.Target == "Plan") { Plan @a.TargetPlan } else { Co. #@a.TargetCompanyId } @a.StartsAt.Tz(ViewBag.CompanyTimeZone as string).ToString("MM/dd/yy HH:mm") @(a.ExpiresAt.HasValue ? a.ExpiresAt.Value.Tz(ViewBag.CompanyTimeZone as string).ToString("MM/dd/yy HH:mm") : "Never") @if (isLive) { Live } else if (!a.IsActive) { Disabled } else if (a.ExpiresAt.HasValue && a.ExpiresAt < now) { Expired } else { Scheduled } @(a.IsDismissible ? Html.Raw("") : Html.Raw(""))
@Html.AntiForgeryToken()
@Html.AntiForgeryToken()
@if (!Model.Any()) {

No announcements yet.

} @foreach (var a in Model) { var now = DateTime.UtcNow; var isLive = a.IsActive && a.StartsAt <= now && (a.ExpiresAt == null || a.ExpiresAt > now); string statusBadge, statusText; if (isLive) { statusBadge = "bg-success"; statusText = "Live"; } else if (!a.IsActive) { statusBadge = "bg-secondary"; statusText = "Disabled"; } else if (a.ExpiresAt.HasValue && a.ExpiresAt < now) { statusBadge = "bg-secondary"; statusText = "Expired"; } else { statusBadge = "bg-warning"; statusText = "Scheduled"; }
@a.Title
@a.StartsAt.Tz(ViewBag.CompanyTimeZone as string).ToString("MM/dd/yy HH:mm")
Status @statusText
Target @if (a.Target == "All") { All } else if (a.Target == "Plan") { Plan @a.TargetPlan } else { Co. #@a.TargetCompanyId }
Expires @(a.ExpiresAt.HasValue ? a.ExpiresAt.Value.Tz(ViewBag.CompanyTimeZone as string).ToString("MM/dd/yy") : "Never")
}