public static string Serialize(this SisGroup group) { var sb = new StringBuilder(); sb.AppendLine($"GROUP\t{group.Number}\t{group.Description}"); foreach (var line in group.Lines) { sb.AppendLine(line.Serialize()); } return(sb.ToString()); }
public static Result <Okay, Error> WriteToDirectory(this SisGroup group, string directory) { if (!Directory.Exists(directory)) { return(new Error($"Invalid directory: {directory}")); } string filename = $"{group.Number}.sis"; string path = Path.Combine(directory, filename); string contents = group.Serialize(); try { File.WriteAllText(path, contents); return(new Okay()); } catch { return(new Error($"Error writing serialized file: {path}")); } }