static void DoComplexWork(int workUnits, int unitTimeMs, string header = null) { var cwc = new ConsoleWriteContext(true, header); for (int x = 0; x <= workUnits; x++) { cwc.WriteContinue("." + x); Thread.Sleep(unitTimeMs); } cwc.WriteContinue(" - Second Section - "); for (int x = 0; x <= 10; x++) { cwc.WriteAtCurrent(x.ToString()); Thread.Sleep(unitTimeMs); } cwc.WriteStart("Section complete - line overwritten with this status"); cwc.WriteNewLine("Starting 3rd section..."); for (int x = 0; x <= 20; x++) { cwc.WriteWorkingAnimation(); Thread.Sleep(unitTimeMs); } cwc.WriteContinue(" Complete!"); }
static void DoPercentageWork(int unitTimeMs, string header = null) { var cwc = new ConsoleWriteContext(true, header); for (int x = 0; x <= 100; x++) { cwc.WritePercentage(x, true, true); Thread.Sleep(unitTimeMs); } cwc.WriteContinue(" Complete!"); }
static void DoSimpleWork(int workUnits, int unitTimeMs, string header = null) { var cwc = new ConsoleWriteContext(true, header); for (int x = 0; x <= workUnits; x++) { cwc.WriteContinue("." + x); Thread.Sleep(unitTimeMs); } cwc.WriteContinue(" Complete!"); }
static void DoWorkElapsedTime(int workUnits, int unitTimeMs, string header = null) { var cwc1 = new ConsoleWriteContext(true, header + "a"); var cwc2 = new ConsoleWriteContext(true, header + "b"); for (int x = 0; x <= workUnits; x++) { cwc1.WriteElapsedTime(ElapsedTimeUnit.Ms, true); cwc2.WriteElapsedTime(ElapsedTimeUnit.Second, true); Thread.Sleep(unitTimeMs); } cwc1.WriteContinue(" Complete!"); cwc2.WriteContinue(" Complete!"); }
static void DoWorkMultiCastOutput(int workUnits, int unitTimeMs, string header = null) { // example of having multiple console outputs from 1 Task/Thread var cwc1 = new ConsoleWriteContext(true, header + "a"); var cwc2 = new ConsoleWriteContext(true, header + "b"); var cwc3 = new ConsoleWriteContext(true, header + "c"); for (int x = 0; x <= workUnits; x++) { cwc1.WriteContinue("."); cwc2.WriteContinue("_" + x.ToString()); cwc3.WriteAtCurrent(cwc3.GetNextWorkingAnimChar() + " " + x.ToString()); Thread.Sleep(unitTimeMs); } cwc1.WriteContinue(" Complete!"); cwc2.WriteContinue(" Complete!"); }