public static StoredProgram Create(Stream stream, IProgram program) { var result = new StoredProgram(); result.Create(stream); stream.WriteString(program.Name); stream.WriteString(StoredProgramData.SetCommands(program.Steps)); var programs = program.Programs.ToArray(); var programArray = StreamArray <StoredProgram> .Create(stream, programs.Length); programArray.Value = programs.Select(p => StoredProgram.Create(stream, p)).ToArray(); return(result); }
public static StoredProgramFolder Create(Stream stream, IProgramFolder source) { var result = new StoredProgramFolder(); result.Create(stream); stream.WriteString(source.Name); var programs = source.Programs.ToArray(); var folders = source.Folders.ToArray(); var programData = StreamArray <StoredProgram> .Create(stream, programs.Length); var folderData = StreamArray <StoredProgramFolder> .Create(stream, folders.Length); programData.Value = programs.Select(p => StoredProgram.Create(stream, p)).ToArray(); folderData.Value = folders.Select(p => StoredProgramFolder.Create(stream, p)).ToArray(); return(result); }