public PackageData(IEnumerable <IFileData> filesData) { Id = Guid.Empty; FilesQueueInfo = new FilesQueueInfo(); SetStatusProcessingProject(StatusProcessingProject.NeedToLoadFiles); _filesData = filesData.ToList(); }
public void ChangeAllFilesStatusAndSetError(IErrorCommon errorStatus) { FilesQueueInfo = new FilesQueueInfo(); var fileData = _filesData.Select(file => new FileStatus(file.FilePath, StatusProcessing.End, errorStatus)); var filesStatus = new PackageStatus(fileData, StatusProcessingProject.End); ChangeFilesStatus(filesStatus); }
/// <summary> /// Изменить статус файла и присвоить при необходимости ошибку /// </summary> public void ChangeFilesStatus(PackageStatus packageStatus) { if (packageStatus?.IsValid != true) { return; } bool isStatusProcessingProjectChanged = SetStatusProcessingProject(packageStatus.StatusProcessingProject); FilesQueueInfo = FilesQueueInfo.GetQueueInfoByStatus(packageStatus.QueueStatus, StatusProcessingProject); var filesDataChanged = packageStatus.FileStatus. Select(fileStatus => _filesData.FirstOrDefault(file => file.FilePath == fileStatus.FilePath)?. ChangeByFileStatus(fileStatus)). Where(fileData => fileData != null); var fileChange = new FilesChange(_filesData, filesDataChanged, ActionType.StatusChange, isStatusProcessingProjectChanged); UpdateFileData(fileChange); }