public static IEnumerable <Instruction> GetInstructions()
            {
                var repository = new InstructionReadRepository(new DataContext(new PersistenceConfiguration(RepositoryTestsHelper.ConnectionString)));
                var result     = repository.ListAsync(null, null, null).Result;

                return(result);
            }
            public static Instruction CreateInstruction(Guid id, string name, string description, string icon, string content, string image, string video, IEnumerable <Tag> tags)
            {
                // prepare
                var writeRepository = new InstructionWriteRepository(new DataContext(new PersistenceConfiguration(RepositoryTestsHelper.ConnectionString)));
                var readRepository  = new InstructionReadRepository(new DataContext(new PersistenceConfiguration(RepositoryTestsHelper.ConnectionString)));

                // create
                var instruction = new Instruction(id, name, description, icon, content, image, video);

                foreach (var tag in tags)
                {
                    instruction.AddTag(tag);
                }

                writeRepository.CreateAsync(instruction).GetAwaiter().GetResult();

                // result
                var result = readRepository.GetAsync(id).Result;

                return(result);
            }