protected override string GerarComandoInsert(EstruturaSaveRAD.MetodoRow mrw)
        {
            if (!ListaOpcoesContemOpcao(mrw, DataObjectMethodType.Insert))
            {
                return "";
            }
            this.Tabela = mrw.ClasseCRUDRow.Tabela;
            StringBuilder classe = new StringBuilder();
            classe.AppendLine("\n\t[System.ComponentModel.DataObjectMethod( System.ComponentModel.DataObjectMethodType.Insert)]");
            classe.AppendFormat("\tpublic static int {0} ({1})",
                string.IsNullOrEmpty(mrw.NomeMetodo) ? Settings.Default.NomeDefaultMetodoInsert : mrw.NomeMetodo,
                MontarDeclaracaoParametro(RetornarColunas(mrw.GetListaCamposRows()), false, true, true, true)
            );
            classe.AppendLine("{\n");

            //TODO: adicionar validação de insert.
            // Adicionando a chamada para o método que irá validar os campos

            classe.AppendFormat("return {0}.{1}.{2}({3});",
                mrw.ClasseCRUDRow.NameSpace,
                mrw.ClasseCRUDRow.NomeClasse,
                string.IsNullOrEmpty(mrw.NomeMetodo) ? Settings.Default.NomeDefaultMetodoInsert : mrw.NomeMetodo,
                MontarDeclaracaoParametro(RetornarColunas(mrw.GetListaCamposRows()), false, false, true, true)
            );

            classe.AppendLine("\n}");

            return classe.ToString();
        }
        private List<DataColumn> RetornarListaParaParametros(EstruturaSaveRAD.MetodoRow mrw)
        {
            List<DataColumn> Colunas = new List<DataColumn>();

            if (mrw.Opcoes.IndexOfAny("UDS".ToCharArray()) > -1)
            {
                Colunas.AddRange(base.PrimaryKey);
            }

            if (mrw.Opcoes.IndexOfAny("IUS".ToCharArray()) > -1 )
            {
                foreach (DataColumn Filtro in base.RetornarColunas(mrw.GetListaCamposRows()))
                {
                    if (Filtro.AutoIncrement)
                        continue;

                    if (EhCampoTransacional(Filtro))
                        continue;
                    Colunas.Add(Filtro);
                }
            }
            return Colunas;
        }
        protected override string GerarComandoUpdate(EstruturaSaveRAD.MetodoRow mrw)
        {
            if (!ListaOpcoesContemOpcao(mrw, DataObjectMethodType.Update))
            {
                return "";
            }
            this.Tabela = mrw.ClasseCRUDRow.Tabela;
            string nomeMetodo = string.IsNullOrEmpty(mrw.NomeMetodo) ? Settings.Default.NomeDefaultMetodoUpdate : mrw.NomeMetodo;
            StringBuilder classe = new StringBuilder();
            classe.AppendLine("\n\t[System.ComponentModel.DataObjectMethod( System.ComponentModel.DataObjectMethodType.Update)]");
            classe.AppendFormat("public static void {0} ({1})",
                nomeMetodo,
                this.MontarDeclaracaoParametro(RetornarColunas(mrw.GetListaCamposRows()), true, true, true, true, true));
            classe.Append("{\n");

            // Adicionando a chamada para o método que irá validar os campos
            //AdicionarChamadaValidarCampos(classe);

            classe.AppendFormat("{0}.{1}.{2}({3});",
                mrw.ClasseCRUDRow.NameSpace,
                mrw.ClasseCRUDRow.NomeClasse,
                nomeMetodo,
                this.MontarDeclaracaoParametro(RetornarColunas(mrw.GetListaCamposRows()), true, false, true, true, true)
            );
            classe.Append("\n    }\n"); // Fechamento do método
            return classe.ToString();
        }
 /// <summary>
 /// Cria o comando de OBTER.
 /// </summary>
 /// <param name="mrw">The MRW.</param>
 /// <returns></returns>
 protected string GerarComandoObter(EstruturaSaveRAD.MetodoRow mrw)
 {
     if (!ListaOpcoesContemOpcao(mrw, DataObjectMethodType.Select))
     {
         return "";
     }
     this.Tabela = mrw.ClasseCRUDRow.Tabela;
     return GerarComandoSelect(
             string.IsNullOrEmpty(mrw.NomeMetodo) ? Settings.Default.NomeDefaultMetodoSelect : mrw.NomeMetodo,
             mrw.GetListaCamposRows(),
             ColunasMetaData.PrimaryKey,
             mrw.ClasseCRUDRow
     );
 }