public double DisplayStartingCalculatingMessage() { _outputManager.DisplayMessage("Starting calculating... "); _outputManager.DisplayMessage("Please, wait till finish or input new values:"); return(_inputManger.GetInputNumericValue()); }
public static string FormOutputDownloadPath(string fileName, IOutputManager outputManager = null) { if (string.IsNullOrEmpty(fileName)) { if (outputManager != null) { outputManager.DisplayMessage("No file name is set"); } else { throw new ArgumentNullException(nameof(fileName)); } } if (string.IsNullOrEmpty(Path.GetExtension(fileName))) { if (outputManager != null) { outputManager.DisplayMessage("No file extension is set"); } else { throw new ArgumentException("No file extension is set"); } } if (!Directory.Exists(OutputDownloadDirectory)) { Directory.CreateDirectory(OutputDownloadDirectory); } return(Path.Combine(OutputDownloadDirectory, fileName)); }
public Task Task7_ContinueRegardlessResult(Action logic) { if (logic == null) { throw new ArgumentNullException(nameof(logic)); } return(Task.Run(() => logic) .ContinueWith((prev) => _outputManager.DisplayMessage("Continuation regardless result"))); }
private void CreateThreadsRecursivelyUsingThread(int number) { while (_recursiveThreadNumber++ < RecursivelyThreadsLimit) { _outputManager.DisplayMessage($"{_recursiveThreadNumber}) Thread id = {Thread.CurrentThread.ManagedThreadId} - {number}"); var newThread = new Thread(() => CreateThreadsRecursivelyUsingThread(--number)); newThread.Start(); newThread.Join(); } }
private void SafelyPrintCollectionValues(object sender, NotifyCollectionChangedEventArgs e) { lock (_lockedObject) { _outputManager.DisplayMessage($"Items in collection: {_collection.Count}"); foreach (var item in _collection) { _outputManager.DisplayMessage(item.ToString()); } } }
public double GetInputNumericValue() { var isSuccess = false; var stringValue = GetInputStringValue(); while (!isSuccess) { if (!double.TryParse(stringValue, out var doubleValue)) { _outputManager.DisplayMessage("Input value is not a number. Please, try again."); stringValue = GetInputStringValue(); } else { isSuccess = true; } } return(double.Parse(stringValue)); }
public Task Task2(int arrayCapacity) { var tasks = Task.Factory.StartNew(() => GenerateRandomIntArray(arrayCapacity)) .ContinueWith(resultIntArray => MultipleIntArrayWithRandom(resultIntArray.Result, arrayCapacity)) .ContinueWith(resultIntArray => SortArrayValues(resultIntArray.Result)) .ContinueWith(resultIntArray => resultIntArray.Result.Average()); _outputManager.DisplayMessage($"Task 2 result: {tasks.Result}"); return(tasks); }