/// <summary> /// Системные действия во время пустой очереди /// </summary> private async Task ActionsInEmptyQueue() { await ConvertingTimeActions.SignaturesOnDataBase(_projectSettings, _messagingService, _loggerService); await ConvertingTimeActions.CheckAndDeleteUnusedPackagesOnDataBase(_convertingServerServiceFactory, _messagingService, _loggerService); await ConvertingTimeActions.DeleteAllUnusedDataOnDisk(_fileSystemOperations, _messagingService, _loggerService); await QueueIsEmpty(); }
/// <summary> /// Конвертировать пакет /// </summary> private async Task ConvertingPackage(IPackageServer packageServer) => await packageServer. WhereContinueAsyncBind(package => package.IsValid, okFunc : package => package. Void(_ => _messagingService.ShowMessage($"Конвертация пакета {package.Id}")). Void(_ => _loggerService.LogByObject(LoggerLevel.Info, LoggerAction.Operation, ReflectionInfo.GetMethodBase(this), packageServer.Id.ToString())). Void(_ => ConvertingTimeActions.KillPreviousRunProcesses()). Map(_ => ConvertingFilesData(package)). MapAsync(ReplyPackageIsComplete), badFunc : package => Task.FromResult(ReplyPackageIsInvalid(package))). VoidAsync(_ => _convertingFileData.CloseApplication()). VoidBindAsync(SendResponse);
public void StartConverting() { if (!ConvertingValidation.CheckSignatures(_projectSettings, _messagingService) || !ConvertingValidation.CheckPrinters(_projectSettings, _messagingService)) { return; } _messagingService.ShowMessage("Запуск процесса конвертирования..."); ConvertingTimeActions.KillPreviousRunProcesses(); SubscribeToDataBase(); }