public override string ToString()
        {
            sb = new StringBuilder();
            serviceTypeColWidth = 15;

            sb.AppendLF("Branch \"{0}\": {1}", office.BranchId, office.IsOpen ? "Open" : "Closed");

            WriteIdleUsers(sb);

            stl           = office.ServiceTypes.ToList();
            queueColStops = GetColumnIndents(stl.Select(st => string.Format("S-TYPE: #{0}   ", st.Number)), RowWidth).ToList();
            if (queueColStops.Count < stl.Count)
            {
                int fixedWidth = (RowWidth + 10) / stl.Count;
                int cc         = 0;
                queueColStops = new List <int>();
                foreach (var st in stl)
                {
                    queueColStops.Add(cc);
                    cc += fixedWidth;
                }
            }

            sb.AppendLF();
            WriteQueueHeaders(sb);
            WriteActiveUsers(sb);
            WriteOpenCashiers(sb);
            WriteDesk(sb);
            WriteTickets();
            NewQueueRow(sb);

            return(sb.ToString());
        }
        public override string ToString()
        {
            sb = new StringBuilder();
            serviceTypeColWidth = 15;

            sb.AppendLF("Branch \"{0}\": {1}", office.BranchId, office.IsOpen ? "Open" : "Closed");

            WriteIdleUsers(sb);

            stl = office.ServiceTypes.ToList();
            queueColStops = GetColumnIndents(stl.Select(st => string.Format("S-TYPE: #{0}   ", st.Number)), RowWidth).ToList();
            if (queueColStops.Count < stl.Count)
            {
                int fixedWidth = (RowWidth + 10) / stl.Count;
                int cc = 0;
                queueColStops = new List<int>();
                foreach (var st in stl)
                {
                    queueColStops.Add(cc);
                    cc += fixedWidth;
                }
            }

            sb.AppendLF();
            WriteQueueHeaders(sb);
            WriteActiveUsers(sb);
            WriteOpenCashiers(sb);
            WriteDesk(sb);
            WriteTickets();
            NewQueueRow(sb);

            return sb.ToString();
        }
 private void NewQueueRow(StringBuilder dest)
 {
     while (rowBuilders.Count > 0)
     {
         dest.AppendLF(rowBuilders[0].ToString());
         rowBuilders.RemoveAt(0);
     }
 }
        /// <inheritdoc/>
        public FormattedReleaseNotes Format(string?header, ReleaseNotes releaseNotes)
        {
            var builder = new StringBuilder();

            var headingLevel = _headingLevel;

            if (!string.IsNullOrEmpty(header))
            {
                builder
                .AppendLF($"{new string('#', headingLevel)} {header}")
                .AppendLF();

                headingLevel++;
            }

            headingLevel = Math.Max(headingLevel, 2);

            foreach (var label in releaseNotes.Labels)
            {
                builder
                .AppendLF($"{new string('#', headingLevel)} {label.DisplayName}")
                .AppendLF();

                foreach (var issue in releaseNotes.IssuesByLabel[label.Name])
                {
                    builder
                    .Append("- ")
                    .Append($"[#{issue.Number}]({issue.Url}) {issue.Title}");

                    if (issue.Contributor != null)
                    {
                        builder
                        .AppendLF($" ([@{issue.Contributor.Login}]({issue.Contributor.Url}))");
                    }
                    else
                    {
                        builder.AppendLF();
                    }
                }
            }

            return(FormattedReleaseNotes.FromString(builder.AppendLF().ToString()));
        }
        private void WriteIdleUsers(StringBuilder sb)
        {
            sb.AppendLF("USERS (IDLE):");

            // Idle users first
            var idleUsers = office.Users.Where(u => u.IsIdle).ToList();

            if (idleUsers.Count > 0)
            {
                foreach (var usrRow in Columnize(idleUsers.Select(u => u.ToString())))
                {
                    sb.AppendLF(usrRow);
                }
            }
            else
            {
                sb.AppendLF("");
            }
        }
        /// <inheritdoc/>
        public FormattedReleaseNotes Format(string? header, ReleaseNotes releaseNotes)
        {
            var builder = new StringBuilder();

            if (!string.IsNullOrEmpty(header))
            {
                builder
                    .AppendLF(header!)
                    .AppendLF();
            }

            foreach (var label in releaseNotes.Labels)
            {
                builder
                    .AppendLF($"{label.DisplayName}:");

                foreach (var issue in releaseNotes.IssuesByLabel[label.Name])
                {
                    builder
                        .Append("- ")
                        .Append($"#{issue.Number} {issue.Title}");

                    if (issue.Contributor != null)
                    {
                        builder
                            .AppendLF($" (@{issue.Contributor.Login})");
                    }
                    else
                    {
                        builder.AppendLF();
                    }
                }
            }

            return FormattedReleaseNotes.FromString(builder.ToString());
        }
Exemplo n.º 7
0
        public override string ToString()
        {
            var activeUsers    = users.Where(u => u.IsActive).ToList();
            var openCashiers   = cashiers.Where(c => c.IsOpen).ToList();
            var activeCashiers = openCashiers.Where(c => c.IsActive);

            StringBuilder sb = new StringBuilder();

            sb.AppendLF("Branch \"{0}\": {1}",
                        BranchId, thread != null ? "Open" : "Closed");

            sb.AppendLF("   SERVICE TYPES:");
            foreach (var st in serviceTypes.OrderBy(st => st.Number))
            {
                int cashierCount = cashiers.Where(c => c.ServiceType == st).Count();
                sb.AppendLF("   ST# {0}   QueueSize={1}   TicketCursor={2}   Cashiers={3}",
                            st.Number,
                            st.Queue.Count,
                            st.NextTicketName,
                            cashierCount);
            }
            sb.AppendLF();

            sb.AppendLF("   SERVICE TYPES:");
            foreach (var st in serviceTypes.OrderBy(st => st.Number))
            {
                int cashierCount = cashiers.Where(c => c.ServiceType == st).Count();
                sb.AppendLF("   ST# {0}   QueueSize={1}   TicketCursor={2}   Cashiers={3}",
                            st.Number,
                            st.Queue.Count,
                            st.NextTicketName,
                            cashierCount);
            }
            sb.AppendLF();


            return(base.ToString());
        }
        private void WriteIdleUsers(StringBuilder sb)
        {
            sb.AppendLF("USERS (IDLE):");

            // Idle users first
            var idleUsers = office.Users.Where(u => u.IsIdle).ToList();
            if (idleUsers.Count > 0)
            {
                foreach (var usrRow in Columnize(idleUsers.Select(u => u.ToString())))
                    sb.AppendLF(usrRow);
            }
            else sb.AppendLF("");
        }
 private void NewQueueRow(StringBuilder dest)
 {
     while (rowBuilders.Count > 0)
     {
         dest.AppendLF(rowBuilders[0].ToString());
         rowBuilders.RemoveAt(0);
     }
 }