/// <summary> /// Gets the status icon HTML tag for status. /// </summary> /// <param name="isMobile">if set to <c>true</c> [is mobile].</param> /// <param name="currentStatus">The current status.</param> /// <returns></returns> private string GetStatusIconHtmlTagForStatus(bool isMobile, RosterAttendeeStatus currentStatus) { string statusClass = string.Empty; string mobileIcon = string.Empty; switch (currentStatus) { case RosterAttendeeStatus.CheckedIn: statusClass = "warning"; mobileIcon = " "; break; case RosterAttendeeStatus.Present: statusClass = "success"; mobileIcon = "<i class='fa fa-check'></i>"; break; case RosterAttendeeStatus.CheckedOut: statusClass = "danger"; mobileIcon = "<i class='fa fa-minus'></i>"; break; } if (isMobile) { return($"<span class='badge badge-circle badge-{statusClass}'>{mobileIcon}</span>"); } else { return($"<span class='badge badge-{statusClass}'>{currentStatus.GetDescription()}</span>"); } }
/// <summary> /// Gets the status icon tag. /// </summary> /// <param name="isMobile">if set to <c>true</c> [is mobile].</param> /// <returns></returns> public string GetStatusIconHtmlTag(bool isMobile) { RosterAttendeeStatus currentStatus = GetCurrentStatus(); var statusBuilder = new StringBuilder(); foreach (var status in this.Statuses.Distinct()) { statusBuilder.Append(GetStatusIconHtmlTagForStatus(isMobile, status)); } return(statusBuilder.ToString()); }
/// <summary> /// Returns true if the rosterAttendeeStatus meets the rosterStatusFilter /// </summary> /// <param name="rosterAttendeeStatus">The roster attendee status.</param> /// <param name="rosterStatusFilter">The roster status filter.</param> /// <returns></returns> private static bool AppliesToRosterStatusFilter(RosterAttendeeStatus rosterAttendeeStatus, RosterStatusFilter rosterStatusFilter) { switch (rosterStatusFilter) { case RosterStatusFilter.CheckedIn: return(rosterAttendeeStatus == RosterAttendeeStatus.CheckedIn); case RosterStatusFilter.CheckedOut: return(rosterAttendeeStatus == RosterAttendeeStatus.CheckedOut); case RosterStatusFilter.Present: return(rosterAttendeeStatus == RosterAttendeeStatus.Present); case RosterStatusFilter.All: return(true); default: return(false); } }
/// <summary> /// Determines if Attendance the meets roster status filter. /// </summary> /// <param name="attendance">The attendance.</param> /// <param name="rosterStatusFilter">The roster status filter.</param> /// <returns></returns> public static bool AttendanceMeetsRosterStatusFilter(RosterAttendeeAttendance attendance, RosterStatusFilter rosterStatusFilter) { RosterAttendeeStatus rosterAttendeeStatus = GetRosterAttendeeStatus(attendance.EndDateTime, attendance.PresentDateTime); return(AppliesToRosterStatusFilter(rosterAttendeeStatus, rosterStatusFilter)); }