/// <inheritdoc/> public async Task <Guid> StartReindexingInstancesAsync(IReadOnlyCollection <int> tagKeys, CancellationToken cancellationToken = default) { EnsureArg.IsNotNull(tagKeys, nameof(tagKeys)); EnsureArg.HasItems(tagKeys, nameof(tagKeys)); // Start the re-indexing orchestration Guid instanceGuid = _guidFactory.Create(); // TODO: Pass token when supported string instanceId = await _durableClient.StartNewAsync( FunctionNames.ReindexInstances, OperationId.ToString(instanceGuid), new ReindexInput { QueryTagKeys = tagKeys }); _logger.LogInformation("Successfully started new orchestration instance with ID '{InstanceId}'.", instanceId); // Associate the tags to the operation and confirm their processing IReadOnlyList <ExtendedQueryTagStoreEntry> confirmedTags = await _extendedQueryTagStore.AssignReindexingOperationAsync( tagKeys, instanceGuid, returnIfCompleted : true, cancellationToken : cancellationToken); return(confirmedTags.Count > 0 ? instanceGuid : throw new ExtendedQueryTagsAlreadyExistsException()); }
public void Register(string login, string password) { var passwordHash = passwordHasher.Hash(password); var userId = guidFactory.Create(); var userEntity = userEntityFactory.Create(login, userId, passwordHash); userRepository.Create(userEntity); }
private DbTask CreateDbTask(TaskDomain task) { var dbTask = new DbTask { Id = _guidFactory.Create(), AddedDate = _dateTimeProvider.Now }; MapTaskToDb(dbTask, task); return(dbTask); }
/// <summary> /// Creates a new GUID. /// </summary> /// <returns>Generated GUID.</returns> public static Guid Create() { return(_instance.Create()); }
public MockedGuidAbstraction() { guidFactory.Create().Returns(Guid.Parse("89b2c2bc-b296-4ab4-a057-b6add1e37138")); }
private string GenerateCommandOptions(ProjectEntity project, Dictionary <Entity, VirtualFile> projectLibraries, string projectName) { FileEntity projectFileEntity = FileEntity.Decorate(project); VirtualFile commandOptions = projectFileEntity.TempDirectory.File("CommandOptions.txt"); CommandEntity commandOrigin = CommandEntity.Decorate(project.Origin); VirtualDirectory outputRoot = fileSystem.GetDirectory(commandOrigin.Output, project.Path, false); List <string> processedMetaFiles = new List <string>(); executionContext.Observable.OnNext(new Change(() => { }, $"Create command options file {commandOptions.FullName}")); using (Stream stream = commandOptions.OpenWrite()) using (StreamWriter writer = new StreamWriter(stream)) { writer.WriteLine($"{Constants.OutputOption} \"{MakeRelative(Path.Combine(outputRoot.FullName, projectName))}.{Constants.EngineeringLibraryExtension}\""); writer.WriteLine($"{Constants.GuidOption} {project.Id:D}"); RenameAndWriteLibraryFile(writer); WriteMetadata(writer); AddAdditionalFiles(writer); } return(commandOptions.FullName); void RenameAndWriteLibraryFile(StreamWriter writer) { foreach (TargetEntity target in projectLibraries.Keys.Select(TargetEntity.Decorate)) { VirtualFile renamedLibrary = projectFileEntity .TempDirectory.Directory(target.FullName.Replace(",", "_")) .File("lib" + projectName + Path.GetExtension(projectLibraries[target.Base].Name)); executionContext.Observable.OnNext(new Change(() => { }, $"Rename library file to {renamedLibrary.FullName}")); using (Stream source = projectLibraries[target.Base].OpenRead(true)) using (Stream destination = renamedLibrary.OpenWrite()) { source.CopyTo(destination); } writer.WriteLine(string.Format(CultureInfo.InvariantCulture, Constants.PlcnextNativeLibraryOptionPattern, renamedLibrary.Parent.FullName, target.Name, target.EngineerVersion, guidFactory.Create().ToString("D", CultureInfo.InvariantCulture), target.ShortFullName.Replace(",", "_"))); } } void AddAdditionalFiles(StreamWriter writer) { foreach (Entity target in projectLibraries.Keys) { VirtualDirectory deployDirectory = DeployEntity.Decorate(target).DeployDirectory; IEnumerable <VirtualFile> files = deployDirectory .Files(searchRecursive: true).Except(projectLibraries.Values) .Where(f => !processedMetaFiles.Contains(f.GetRelativePath(deployDirectory))); foreach (VirtualFile file in files) { writer.WriteLine(string.Format(CultureInfo.InvariantCulture, "/file \":{0}:{1}\"", file.GetRelativeOrAbsolutePath(projectFileEntity.Directory), TargetEntity.Decorate(target).ShortFullName.Replace(",", "_"))); } } } void WriteMetadata(StreamWriter writer) { VirtualDirectory deployDirectory = DeployEntity.Decorate(projectLibraries.Keys.First()).DeployDirectory; HashSet <VirtualDirectory> createDirectories = new HashSet <VirtualDirectory>(); foreach (VirtualFile metaFile in deployDirectory.Files(searchRecursive: true)) { string destinationPath; string fileType; switch (Path.GetExtension(metaFile.Name)?.ToUpperInvariant() ?? string.Empty) { case ".LIBMETA": destinationPath = string.Empty; fileType = Constants.LibmetaFileType; break; case ".TYPEMETA": destinationPath = string.Empty; fileType = Constants.TypemetaFileType; break; case ".COMPMETA": CreateComponentDirectory(metaFile.Parent); destinationPath = metaFile.Parent.Name; fileType = Constants.CompmetaFileType; break; case ".PROGMETA": CreateProgramDirectory(metaFile.Parent); destinationPath = $"{metaFile.Parent.Parent.Name}/{metaFile.Parent.Name}"; fileType = Constants.ProgmetaFileType; break; default: //do nothing all other files are not interesting continue; } writer.WriteLine(string.Format(CultureInfo.InvariantCulture, Constants.FileOptionPattern, fileType, MakeRelative(metaFile.FullName), guidFactory.Create().ToString("D", CultureInfo.InvariantCulture), destinationPath)); processedMetaFiles.Add(metaFile.GetRelativePath(deployDirectory)); } void CreateComponentDirectory(VirtualDirectory componentDirectory) { if (createDirectories.Contains(componentDirectory)) { return; } writer.WriteLine(string.Format(CultureInfo.InvariantCulture, Constants.DirectoryOptionPattern, $"Logical Elements/{componentDirectory.Name}", Constants.ComponentFolderType, guidFactory.Create().ToString("D", CultureInfo.InvariantCulture))); createDirectories.Add(componentDirectory); } void CreateProgramDirectory(VirtualDirectory programDirectory) { if (createDirectories.Contains(programDirectory)) { return; } CreateComponentDirectory(programDirectory.Parent); writer.WriteLine(string.Format(CultureInfo.InvariantCulture, Constants.DirectoryOptionPattern, $"Logical Elements/{programDirectory.Parent.Name}/{programDirectory.Name}", Constants.ProgramFolderType, guidFactory.Create().ToString("D", CultureInfo.InvariantCulture))); createDirectories.Add(programDirectory); } } string MakeRelative(string path) { return(path.GetRelativePath(projectFileEntity.Directory.FullName)); } }
public IActionResult Privacy() { return(View((object)guidFactory.Create().ToString())); }