/// <summary> /// Método que retorna o tipo do campo referente ao núcleo /// </summary> /// <returns></returns> public Util.Enumerator.DataType TipoNucleo() { Util.CL_Files.WriteOnTheLog("MD_Campos.TipoNucleo()", Util.Global.TipoLog.DETALHADO); Util.Enumerator.DataType data = Util.Enumerator.DataType.STRING; if (this.DAO.TipoCampo.Nome.ToUpper().Contains("INT")) { data = Util.Enumerator.DataType.INT; } else if (this.DAO.TipoCampo.Nome.ToUpper().Contains("DECIMAL") || this.DAO.TipoCampo.Nome.Contains("FLOAT")) { data = Util.Enumerator.DataType.DECIMAL; } else if (this.DAO.TipoCampo.Nome.ToUpper().Contains("VARCHAR")) { data = Util.Enumerator.DataType.STRING; } else if (this.DAO.TipoCampo.Nome.ToUpper().Contains("CHAR")) { data = Util.Enumerator.DataType.CHAR; } else { data = Util.Enumerator.DataType.STRING; } return(data); }
/// <summary> /// Método que retorna o tipo de campo /// </summary> /// <param name="campo">CAmpo para resgatar o tipo</param> /// <returns>Tipo do campo</returns> private static Util.Enumerator.DataType RetornaTipoCampo(Model.MD_Campos campo) { Util.Enumerator.DataType tipo = campo.TipoNucleo(); return(tipo); }
/// <summary> /// Método que cria a coluna /// </summary> /// <param name="colunas">Colunas</param> /// <returns>Modelo de coluna</returns> private static MDN_Campo MontaColuna(List <string> colunas, BarraDeCarregamento barra) { Util.CL_Files.WriteOnTheLog("Backup.MontaColuna()", Util.Global.TipoLog.DETALHADO); MDN_Campo Campo = null; bool primarykey = false; bool notnull = false; bool unique = false; object obj = null; string colunaNome = ""; Util.Enumerator.DataType type = Enumerator.DataType.INT; int size = 0; int precision = 0; int i = 0; foreach (string coluna in colunas) { barra.AvancaBarra(1); if (string.IsNullOrEmpty(coluna)) { continue; } coluna.Replace("|", ""); string palavra = coluna.Trim(); switch (i) { case 0: //Key primarykey = palavra.ToUpper().Equals("PK"); break; case 1: //Column name colunaNome = palavra; break; case 2: //Domain break; case 3: // Data type if (palavra.ToUpper().Contains("VARCHAR")) { type = Enumerator.DataType.STRING; size = int.Parse(palavra.Split('(')[1].Replace(")", "").ToString()); } else if (palavra.ToUpper().Contains("TIMESTAMP")) { type = Enumerator.DataType.DATE; } else if (palavra.ToUpper().Contains("DECIMAL")) { type = Enumerator.DataType.DECIMAL; size = int.Parse(palavra.Split('(')[1].ToString().Split(',')[0].ToString()); precision = int.Parse(palavra.Split('(')[1].ToString().Split(',')[1].Replace(")", "").ToString()); } else if (palavra.ToUpper().Contains("CHAR")) { type = Enumerator.DataType.CHAR; size = int.Parse(palavra.Split('(')[1].Replace(")", "").ToString()); } else if (palavra.ToUpper().Contains("INTEGER")) { type = Enumerator.DataType.INT; } break; case 4: // Not Null if (palavra.ToUpper().Equals("YES")) { notnull = true; } break; case 5: // Unique if (palavra.ToUpper().Equals("YES")) { unique = true; } break; case 6: // Check break; case 7: // Default obj = palavra.Replace("'", "").ToString(); break; case 8: // Comments break; case 9: // Notes break; } i++; } Campo = new MDN_Campo(colunaNome, notnull, type, obj, primarykey, unique, size, precision); return(Campo); }