private static void FinalizarPagina(Pagina curPagina) { // If previous page has no Procs, then clear the columns of that page. if (curPagina != null) { var cntProcsInPage = curPagina.GetProcs().Length; if (cntProcsInPage == 0) { curPagina.Colunas.Clear(); curPagina.Colunas.Capacity = 0; } else { var sequences = new[] { new string[] { }, new[] { "código", "procedimentos", "porte" }, new[] { "código", "procedimentos", "porte", "custo oper" }, new[] { "código", "procedimentos", "porte", "custo oper", "porte anest" }, new[] { "código", "procedimentos", "porte", "custo oper", "nº de aux" }, new[] { "código", "procedimentos", "porte", "custo oper", "nº de aux", "porte anest" }, new[] { "código", "procedimentos", "ur", "filme ou doc", "porte", "custo oper" }, new[] { "código", "procedimentos", "inc", "filme ou doc", "porte", "custo oper" }, new[] { "código", "procedimentos", "inc", "filme ou doc", "porte", "custo oper", "nº de aux", "porte anest" }, }; bool isColumnsValid = curPagina.FixColumnsOrder(sequences); if (!isColumnsValid) { throw new Exception("Invalid sequence of columns."); } } } }