Esempio n. 1
0
        /// <summary>
        /// Добавить форматы
        /// </summary>
        private static async Task PaperSizeUpdate(IUnitOfWork unitOfWork, FileDataResponseServer fileDataResponseServer)
        {
            var paperSizes = fileDataResponseServer.FilesDataSource.
                             Select(fileDataSource => fileDataSource.PaperSize).Distinct().
                             Select(paperSize => new PaperSizeEntity(paperSize));

            foreach (var paperSize in paperSizes)
            {
                await unitOfWork.Session.SaveOrUpdateAsync(paperSize);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Обновить модель базы данных на основе промежуточного ответа с данными
        /// </summary>
        public static void UpdateFileDataFromIntermediateResponse(PackageDataEntity packageDataEntity,
                                                                  FileDataResponseServer fileDataResponseServer)
        {
            if (CheckStatusProcessing.CompletedStatusProcessingProject.
                Contains(packageDataEntity.StatusProcessingProject))
            {
                return;
            }

            var fileDataEntity = packageDataEntity.FileDataEntities.First(fileData => fileData.FilePath == fileDataResponseServer.FilePath);

            UpdateFileDataFromResponse(fileDataEntity, fileDataResponseServer);
        }
Esempio n. 3
0
        /// <summary>
        /// Обновить модель файла данных на основе окончательного ответа
        /// </summary>
        public static FileDataEntity UpdateFileDataFromResponse(FileDataEntity fileDataEntity, FileDataResponseServer fileDataResponse)
        {
            var fileDataSourceEntity = fileDataResponse.FilesDataSource.
                                       Select(fileData => ToFileDataSource(fileData, fileDataEntity)).
                                       ToList();

            fileDataEntity.StatusProcessing             = fileDataResponse.StatusProcessing;
            fileDataEntity.FileErrors                   = fileDataResponse.FileErrors.Select(ToErrorComponent).ToList();
            fileDataEntity.FileDataSourceServerEntities = fileDataSourceEntity;
            return(fileDataEntity);
        }
 /// <summary>
 /// Обновить информацию после промежуточного ответа
 /// </summary>
 public async Task <StatusProcessingProject> UpdateFromIntermediateResponse(Guid packageId, FileDataResponseServer fileDataResponseServer) =>
 await _filesDataServerService.UpdateFromIntermediateResponse(packageId, fileDataResponseServer);
Esempio n. 5
0
        /// <summary>
        /// Обновить информацию после промежуточного ответа. При отмене - удалить пакет
        /// </summary>
        public async Task <StatusProcessingProject> UpdateFromIntermediateResponse(Guid packageId, FileDataResponseServer fileDataResponseServer)
        {
            using var unitOfWork = _container.Resolve <IUnitOfWork>();
            var packageDataEntity = await unitOfWork.Session.LoadAsync <PackageDataEntity>(packageId.ToString());

            if (!await DeleteFilesDataOnAbortionStatus(unitOfWork, packageDataEntity))
            {
                ConverterFilesDataEntitiesFromDtoServer.UpdateFileDataFromIntermediateResponse(packageDataEntity, fileDataResponseServer);
            }

            await PaperSizeUpdate(unitOfWork, fileDataResponseServer);

            await unitOfWork.CommitAsync();

            return(packageDataEntity.StatusProcessingProject);
        }