Пример #1
0
        protected void btnGuardarAcronimo_OnClick(object sender, EventArgs e)
        {
            try
            {
                // Validamos
                if (!ValidarAcronimos())
                {
                    return;
                }

                // Seteamos
                _acronimo.ProyectoModelo      = txtProyectoModelo.Text;
                _acronimo.AcronimoModelo      = txtAcronimoModelo.Text;
                _acronimo.ProyectoControlador = txtProyectoControlador.Text;
                _acronimo.AcronimoControlador = txtAcronimoControlador.Text;
                _acronimo.ProyectoContenedor  = txtProyectoContenedor.Text;

                // Guardamos
                Acronimo.Escribir(_acronimo);

                // Libre de pecados
                Notificacion.Success(this, $"Se ha guardado el acrónimo");
            }
            catch (Exception ex)
            {
                Notificacion.Success(this, $"Ha ocurrido un error; {ex.Message}");
            }
        }
Пример #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                // Cargamos la sesión anterior
                _sql      = Sql.Leer();
                _acronimo = Acronimo.Leer();

                txtDbServidor.Text  = _sql.Servidor;
                txtDbusuario.Text   = _sql.Usuario;
                txtContrasenia.Text = _sql.Contrasenia;
                txtDbBaseDatos.Text = _sql.BaseDatos;

                txtProyectoModelo.Text      = _acronimo.ProyectoModelo;
                txtAcronimoModelo.Text      = _acronimo.AcronimoModelo;
                txtProyectoControlador.Text = _acronimo.ProyectoControlador;
                txtAcronimoControlador.Text = _acronimo.AcronimoControlador;
                txtProyectoContenedor.Text  = _acronimo.ProyectoContenedor;

                // Evitamso el doble click
                UControl.EvitarDobleEnvioButton(this, btnConectarse);
                UControl.EvitarDobleEnvioButton(this, btnBdGenerar);
                UControl.EvitarDobleEnvioButton(this, btnGuardarAcronimo);
            }
        }
Пример #3
0
        public static Acronimo Leer()
        {
            Acronimo acronimo = new Acronimo();

            try
            {
                // Validamos que exista un directorio
                if (!Directory.Exists(directorio))
                {
                    // Creamos el directorio
                    Directory.CreateDirectory(directorio);
                }

                // Validamos que exista el archivo
                if (!File.Exists(archivo))
                {
                    // Creamos el archivos
                    File.WriteAllText(archivo, string.Empty);
                }

                // Escribimos en el archivoo
                string temp = File.ReadAllText(archivo);

                // Convertimos
                acronimo = JsonConvert.DeserializeObject <Acronimo>(temp) ?? new Acronimo();

                // Libre de pecados
                return(acronimo);
            }
            catch (Exception)
            {
                return(acronimo);
            }
        }
Пример #4
0
        public static void Escribir(Acronimo sql)
        {
            try
            {
                // Validamos que exista u ndirectorio
                if (!Directory.Exists(directorio))
                {
                    // Creamos el directorio
                    Directory.CreateDirectory(directorio);
                }

                // Validamos que exista el archivo
                if (!File.Exists(archivo))
                {
                    // Creamos el archivos
                    File.WriteAllText(archivo, string.Empty);
                }

                // Escribimos en el archivoo
                File.WriteAllText(archivo, Fichero.ObjectToJson(sql));
            }
            catch (Exception)
            {
                // ignored
            }
        }
Пример #5
0
        public static string Generar(List <OCampos> listCampos, Acronimo acronimo, string tbl)
        {
            StringBuilder stringBuilder = new StringBuilder();

            try
            {
                // Empezamos
                stringBuilder.AppendLine($"// {acronimo.AcronimoModelo}{tbl}.cs");
                stringBuilder.AppendLine($"// Clase generada por");
                stringBuilder.AppendLine($"// Leonardo Chuello");
                stringBuilder.AppendLine($"// {DateTime.Now:yyyy-MM-dd}");
                stringBuilder.AppendLine($"");
                stringBuilder.AppendLine($"namespace {acronimo.ProyectoModelo}");
                stringBuilder.AppendLine($"{{");
                stringBuilder.AppendLine($"    public class {acronimo.AcronimoModelo}{tbl}");
                stringBuilder.AppendLine($"    {{");

                // Recorremos los campos
                foreach (var row in listCampos)
                {
                    switch (row.TipoDotNet)
                    {
                    case "decimal":
                        stringBuilder.AppendLine($"        public decimal {row.Campo} {{ set; get; }} = 0;");
                        break;

                    case "int":
                        stringBuilder.AppendLine($"        public int {row.Campo} {{ set; get; }} = 0;");
                        break;

                    case "DateTime":
                        stringBuilder.AppendLine($"        public DateTime {row.Campo} {{ set; get; }} = new DateTime(1900, 01,01);");
                        break;

                    case "bool":
                        stringBuilder.AppendLine($"        public bool {row.Campo} {{ set; get; }} = false;");
                        break;

                    default:
                        stringBuilder.AppendLine($"        public string {row.Campo} {{ set; get; }} = string.Empty;");
                        break;
                    }
                }

                stringBuilder.AppendLine($"    }}");
                stringBuilder.AppendLine($"}}");

                // Libre de pecados
                return(stringBuilder.ToString());
            }
            catch (Exception)
            {
                return(stringBuilder.ToString());
            }
        }
Пример #6
0
        protected void btngenerarClases_OnClick(object sender, EventArgs e)
        {
            List <OCampos> listOCampos = new List <OCampos>();

            try
            {
                // Llenamos
                foreach (GridViewRow row in GridView1.Rows)
                {
                    // Seteamos el objeto
                    _oCampos            = new OCampos();
                    _oCampos.Campo      = row.Cells[0].Text;
                    _oCampos.TipoSql    = row.Cells[1].Text;
                    _oCampos.TipoDotNet = row.Cells[2].Text;
                    _oCampos.Largo      = Convert.ToInt32(row.Cells[3].Text);
                    _oCampos.Precision  = Convert.ToInt32(row.Cells[4].Text);
                    _oCampos.Escala     = Convert.ToInt32(row.Cells[5].Text);
                    _oCampos.Where      = row.Cells[6].Text == "1";

                    // Agregamos
                    listOCampos.Add(_oCampos);
                }

                // Leer acronimo
                _acronimo = Acronimo.Leer();

                // Generamos el modelo
                txtModelo.InnerText = Modelo.Generar(listOCampos, _acronimo, ddlBdTablas.SelectedValue);

                // Generamos el controlador
                txtControlador.InnerText = Controlador.Generar(listOCampos, _acronimo, ddlBdTablas.SelectedValue);

                // Granular
                txtGranular.InnerText = Granular.Generar(listOCampos, _acronimo, ddlBdTablas.SelectedValue);
            }
            catch (Exception ex)
            {
                Notificacion.Success(this, $"Ha ocurrido un error; {ex.Message}");
            }
        }
Пример #7
0
        public static string Generar(List <OCampos> listCampos, Acronimo acronimo, string tbl)
        {
            StringBuilder stringBuilder = new StringBuilder();

            try
            {
                // Empezamos
                stringBuilder.AppendLine($"// {acronimo.AcronimoControlador}{tbl}.cs");
                stringBuilder.AppendLine($"// Clase generada por");
                stringBuilder.AppendLine($"// Leonardo Chuello");
                stringBuilder.AppendLine($"// {DateTime.Now:yyyy-MM-dd}");
                stringBuilder.AppendLine($"");
                stringBuilder.AppendLine($"using System;");
                stringBuilder.AppendLine($"using System.Data;");
                stringBuilder.AppendLine($"using System.Data.SqlClient;");
                stringBuilder.AppendLine($"using System.Text;");
                stringBuilder.AppendLine($"using {acronimo.ProyectoModelo};");
                stringBuilder.AppendLine($"");
                stringBuilder.AppendLine($"namespace {acronimo.ProyectoControlador}");
                stringBuilder.AppendLine($"{{");
                stringBuilder.AppendLine($"    public class {acronimo.AcronimoControlador}{tbl}");
                stringBuilder.AppendLine($"    {{");
                stringBuilder.AppendLine($"        private {acronimo.AcronimoModelo}{tbl} {acronimo.AcronimoModelo}{tbl} = new {acronimo.AcronimoModelo}{tbl}();");
                stringBuilder.AppendLine($"");

                #region Granular

                //List<OCampos> conWhere = listCampos.Where(x => x.Where).ToList();
                //List<OCampos> sinWhere = listCampos.Where(x => x.Where == false).ToList();

                List <string> selectList = new List <string>();
                foreach (var row in listCampos)
                {
                    selectList.Add($"tbl.{row.Campo}");
                }

                //stringBuilder.AppendLine($"private const string select = \"SELECT {string.Join(", ", selectList)}\" FROM {tbl} tbl");
                stringBuilder.AppendLine($"private const string Select = \"SELECT {string.Join(", ", selectList)} FROM {tbl} tbl\";");
                stringBuilder.AppendLine($"");

                #region First Select

                stringBuilder.AppendLine($"        public {acronimo.AcronimoModelo}{tbl} Select_{listCampos[0].Campo}({listCampos[0].TipoDotNet} {listCampos[0].Campo})");
                stringBuilder.AppendLine($"        {{");
                stringBuilder.AppendLine($"            {acronimo.AcronimoModelo}{tbl} {acronimo.AcronimoModelo}{tbl} = new {acronimo.AcronimoModelo}{tbl}();");
                stringBuilder.AppendLine($"            try");
                stringBuilder.AppendLine($"            {{");
                stringBuilder.AppendLine($"                SqlCommand sqlCommand = new SqlCommand();");
                stringBuilder.AppendLine($"                sqlCommand.Connection = Conexion.Devolver();");
                stringBuilder.AppendLine($"                sqlCommand.CommandType = CommandType.Text;");
                stringBuilder.AppendLine($"                sqlCommand.CommandText = \"@Select WHERE tbl.{listCampos[0].Campo} = @{listCampos[0].Campo};\";");
                stringBuilder.AppendLine($"                sqlCommand.Parameters.AddWithValue(\"@Select\", Select);");
                stringBuilder.AppendLine($"                sqlCommand.Parameters.AddWithValue(\"@{listCampos[0].Campo}\", {listCampos[0].Campo});");
                stringBuilder.AppendLine($"                using (SqlDataReader sqlDataReader = sqlCommand.ExecuteReader())");
                stringBuilder.AppendLine($"                {{");
                stringBuilder.AppendLine($"                    while (sqlDataReader.Read())");
                stringBuilder.AppendLine($"                    {{");
                stringBuilder.AppendLine($"                        {acronimo.AcronimoModelo}{tbl} = Maker(sqlDataReader);");
                stringBuilder.AppendLine($"                    }}");
                stringBuilder.AppendLine($"                }}");
                stringBuilder.AppendLine($"                return {acronimo.AcronimoModelo}{tbl};");
                stringBuilder.AppendLine($"            }}");
                stringBuilder.AppendLine($"            catch (Exception ex)");
                stringBuilder.AppendLine($"            {{");
                stringBuilder.AppendLine($"                Console.WriteLine(ex);");
                stringBuilder.AppendLine($"                return {acronimo.AcronimoModelo}{tbl};");
                stringBuilder.AppendLine($"            }}");
                stringBuilder.AppendLine($"        }}");
                stringBuilder.AppendLine($"");

                #endregion

                #region Insert

                stringBuilder.AppendLine($"        public static string Insert({acronimo.AcronimoModelo}{tbl} {acronimo.AcronimoModelo}{tbl})");
                stringBuilder.AppendLine($"        {{");
                stringBuilder.AppendLine($"            StringBuilder stringBuilder = new StringBuilder();");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"--  Insert {tbl}\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"INSERT INTO {tbl}\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"(\");");

                // Recorremos los item 1 de 2
                for (int i = 0; i <= listCampos.Count - 1; i++)
                {
                    // Validamos si es el ultimo
                    if (i != listCampos.Count - 1)
                    {
                        // No es el ultimo
                        stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"{listCampos[i].Campo}, -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                    }
                    else
                    {
                        // Si es el ultimo
                        stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"{listCampos[i].Campo} -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                    }
                }

                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\") VALUES (\");");

                // Recorremos los item 2 de 2
                for (int i = 0; i <= listCampos.Count - 1; i++)
                {
                    // Validamos si es el ultimo
                    if (i != listCampos.Count - 1)
                    {
                        // No es el ultimo
                        switch (listCampos[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}}, -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"N'{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}}', -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;
                        }
                    }
                    else
                    {
                        // Si es el ultimo
                        switch (listCampos[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}} -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"N'{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}}' -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;
                        }
                    }
                }

                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\");\");");
                stringBuilder.AppendLine($"            return stringBuilder.ToString();");
                stringBuilder.AppendLine($"        }}");

                #endregion

                #region Update

                stringBuilder.AppendLine($"");
                stringBuilder.AppendLine($"        public static string Update({acronimo.AcronimoModelo}{tbl} {acronimo.AcronimoModelo}{tbl})");
                stringBuilder.AppendLine($"        {{");
                stringBuilder.AppendLine($"            StringBuilder stringBuilder = new StringBuilder();");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"--  Update {tbl}\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"UPDATE {tbl} SET\");");

                // Recorremos 1 de 2
                for (int i = 0; i <= listCampos.Count - 1; i++)
                {
                    if (i != listCampos.Count - 1)
                    {
                        // No es el ultimo
                        switch (listCampos[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{listCampos[i].Campo} = {{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}}, -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{listCampos[i].Campo} = N'{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}}', -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;
                        }
                    }
                    else
                    {
                        // Si es el ultimo
                        switch (listCampos[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{listCampos[i].Campo} = {{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}} -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{listCampos[i].Campo} = N'{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}}' -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;
                        }
                    }
                }

                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"WHERE\");");

                // Recorremos 2 de 2
                switch (listCampos[0].TipoSql)
                {
                case "int":
                case "decimal":
                case "bit":
                    stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{listCampos[0].Campo} = {{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[0].Campo})}}; -- {listCampos[0].Campo} | {listCampos[0].TipoSql} | {listCampos[0].TipoDotNet}\");");
                    break;

                default:
                    stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{listCampos[0].Campo} = N'{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[0].Campo})}}'; -- {listCampos[0].Campo} | {listCampos[0].TipoSql} | {listCampos[0].TipoDotNet}\");");
                    break;
                }

                stringBuilder.AppendLine($"            return stringBuilder.ToString();");
                stringBuilder.AppendLine($"        }}");

                #endregion

                #region Delete

                stringBuilder.AppendLine($"");
                stringBuilder.AppendLine($"        public static string Delete({acronimo.AcronimoModelo}{tbl} {acronimo.AcronimoModelo}{tbl})");
                stringBuilder.AppendLine($"        {{");
                stringBuilder.AppendLine($"            StringBuilder stringBuilder = new StringBuilder();");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"--  Delete {tbl}\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"DELETE {tbl} WHERE\");");
                switch (listCampos[0].TipoSql)
                {
                case "int":
                case "decimal":
                case "bit":
                    stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{listCampos[0].Campo} = {{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[0].Campo})}}; -- {listCampos[0].Campo} | {listCampos[0].TipoSql} | {listCampos[0].TipoDotNet}\");");
                    break;

                default:
                    stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{listCampos[0].Campo} = N'{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[0].Campo})}}'; -- {listCampos[0].Campo} | {listCampos[0].TipoSql} | {listCampos[0].TipoDotNet}\");");
                    break;
                }
                stringBuilder.AppendLine($"            return stringBuilder.ToString();");
                stringBuilder.AppendLine($"        }}");
                stringBuilder.AppendLine($"");

                #endregion

                #endregion

                //#region Select´s

                //foreach (var rowSelect in listCampos.Where(x => x.Where).ToList())
                //{
                //    stringBuilder.AppendLine($"        public {acronimo.AcronimoModelo}{tbl} Select_{rowSelect.Campo}(string {rowSelect.Campo})");
                //    stringBuilder.AppendLine($"        {{");
                //    stringBuilder.AppendLine($"            try");
                //    stringBuilder.AppendLine($"            {{");
                //    stringBuilder.AppendLine($"                SqlCommand sqlCommand = new SqlCommand();");
                //    stringBuilder.AppendLine($"                sqlCommand.Connection = Conexion.ReadConnection();");
                //    stringBuilder.AppendLine($"                sqlCommand.CommandType = CommandType.Text;");

                //    switch (rowSelect.TipoSql)
                //    {
                //        case "decimal":
                //        case "int":
                //            stringBuilder.AppendLine($"                sqlCommand.CommandText = $\"{GenerarSelect(listCampos, tbl, $"WHERE {rowSelect.Campo} = @{rowSelect.Campo}")}\";");
                //            break;

                //        case "bool":
                //            stringBuilder.AppendLine($"                sqlCommand.CommandText = $\"{GenerarSelect(listCampos, tbl, $"WHERE {rowSelect.Campo} = @{rowSelect.Campo}")}\";");
                //            break;

                //        case "DateTime":
                //            stringBuilder.AppendLine($"                sqlCommand.CommandText = $\"SET DATEFORMAT YMD; {GenerarSelect(listCampos, tbl, $"WHERE {rowSelect.Campo} = @{rowSelect.Campo}'")}\";");
                //            break;

                //        default:
                //            stringBuilder.AppendLine($"                sqlCommand.CommandText = $\"{GenerarSelect(listCampos, tbl, $"WHERE {rowSelect.Campo} = @{rowSelect.Campo}")}\";");
                //            break;
                //    }

                //    stringBuilder.AppendLine($"                sqlCommand.Parameters.AddWithValue(\"@{rowSelect.Campo}\", {rowSelect.Campo});");
                //    stringBuilder.AppendLine($"                using (SqlDataReader sqlDataReader = sqlCommand.ExecuteReader())");
                //    stringBuilder.AppendLine($"                {{");
                //    stringBuilder.AppendLine($"                    while (sqlDataReader.Read())");
                //    stringBuilder.AppendLine($"                    {{");
                //    stringBuilder.AppendLine($"                        {acronimo.AcronimoModelo}{tbl} = Maker(sqlDataReader);");
                //    stringBuilder.AppendLine($"                    }}");
                //    stringBuilder.AppendLine($"                }}");
                //    stringBuilder.AppendLine($"                return {acronimo.AcronimoModelo}{tbl};");
                //    stringBuilder.AppendLine($"            }}");
                //    stringBuilder.AppendLine($"            catch (Exception ex)");
                //    stringBuilder.AppendLine($"            {{");
                //    stringBuilder.AppendLine($"                Console.WriteLine(ex);");
                //    stringBuilder.AppendLine($"                return new {acronimo.AcronimoModelo}{tbl}();");
                //    stringBuilder.AppendLine($"            }}");
                //    stringBuilder.AppendLine($"        }}");
                //    stringBuilder.AppendLine($"");
                //}

                //#endregion

                #region maker

                stringBuilder.AppendLine($"        protected virtual {acronimo.AcronimoModelo}{tbl} Maker(SqlDataReader sqlDataReader)");
                stringBuilder.AppendLine($"        {{");
                stringBuilder.AppendLine($"            {acronimo.AcronimoModelo}{tbl} = new {acronimo.AcronimoModelo}{tbl}();");

                // Recorremos
                foreach (var row in listCampos)
                {
                    switch (row.TipoDotNet)
                    {
                    case "decimal":
                        stringBuilder.AppendLine($"            {acronimo.AcronimoModelo}{tbl}.{row.Campo} = sqlDataReader.IsDBNull(sqlDataReader.GetOrdinal(\"{row.Campo}\")) ? 0 : sqlDataReader.GetDecimal(sqlDataReader.GetOrdinal(\"{row.Campo}\"));");
                        break;

                    case "int":
                        stringBuilder.AppendLine($"            {acronimo.AcronimoModelo}{tbl}.{row.Campo} = sqlDataReader.IsDBNull(sqlDataReader.GetOrdinal(\"{row.Campo}\")) ? 0 : sqlDataReader.GetInt32(sqlDataReader.GetOrdinal(\"{row.Campo}\"));");
                        break;

                    case "DateTime":
                        stringBuilder.AppendLine($"            {acronimo.AcronimoModelo}{tbl}.{row.Campo} = sqlDataReader.IsDBNull(sqlDataReader.GetOrdinal(\"{row.Campo}\")) ? new DateTime(1900, 01, 01) : sqlDataReader.GetDateTime(sqlDataReader.GetOrdinal(\"{row.Campo}\"));");
                        break;

                    //case "bool":
                    //    stringBuilder.AppendLine($"            {acronimo.AcronimoModelo}{tbl}.{row.Campo} = sqlDataReader.IsDBNull(sqlDataReader.GetOrdinal(\"{row.Campo}\")) ? false : sqlDataReader.GetBoolean(sqlDataReader.GetOrdinal(\"{row.Campo}\"));");
                    //    break;

                    case "bool":
                        stringBuilder.AppendLine($"            {acronimo.AcronimoModelo}{tbl}.{row.Campo} = !sqlDataReader.IsDBNull(sqlDataReader.GetOrdinal(\"{row.Campo}\")) && sqlDataReader.GetBoolean(sqlDataReader.GetOrdinal(\"{row.Campo}\"));");
                        break;

                    default:
                        stringBuilder.AppendLine($"            {acronimo.AcronimoModelo}{tbl}.{row.Campo} = sqlDataReader.IsDBNull(sqlDataReader.GetOrdinal(\"{row.Campo}\")) ? string.Empty : sqlDataReader.GetString(sqlDataReader.GetOrdinal(\"{row.Campo}\"));");
                        break;
                    }
                }

                stringBuilder.AppendLine($"            return {acronimo.AcronimoModelo}{tbl};");
                stringBuilder.AppendLine($"        }}");

                #endregion

                stringBuilder.AppendLine($"    }}");
                stringBuilder.AppendLine($"}}");

                // Libre de pecados
                return(stringBuilder.ToString());
            }
            catch (Exception)
            {
                return(stringBuilder.ToString());
            }
        }
Пример #8
0
        public static string Generar(List <OCampos> listCampos, Acronimo acronimo, string tbl)
        {
            StringBuilder stringBuilder = new StringBuilder();

            try
            {
                List <OCampos> conWhere = listCampos.Where(x => x.Where).ToList();
                List <OCampos> sinWhere = listCampos.Where(x => x.Where == false).ToList();

                #region Insert

                stringBuilder.AppendLine($"        // ReSharper disable once InconsistentNaming");
                stringBuilder.AppendLine($"        public static string Insert({acronimo.AcronimoModelo}{tbl} {acronimo.AcronimoModelo}{tbl})");
                stringBuilder.AppendLine($"        {{");
                stringBuilder.AppendLine($"            StringBuilder stringBuilder = new StringBuilder();");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"--  Insert {tbl}\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"INSERT INTO {tbl}\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"(\");");

                // Recorremos los item 1 de 2
                for (int i = 0; i <= listCampos.Count - 1; i++)
                {
                    // Validamos si es el ultimo
                    if (i != listCampos.Count - 1)
                    {
                        // No es el ultimo
                        stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"{listCampos[i].Campo}, -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                    }
                    else
                    {
                        // Si es el ultimo
                        stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"{listCampos[i].Campo} -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                    }
                }

                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\") VALUES (\");");

                // Recorremos los item 2 de 2
                for (int i = 0; i <= listCampos.Count - 1; i++)
                {
                    // Validamos si es el ultimo
                    if (i != listCampos.Count - 1)
                    {
                        // No es el ultimo
                        switch (listCampos[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}}, -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"'{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}}', -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;
                        }
                    }
                    else
                    {
                        // Si es el ultimo
                        switch (listCampos[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}} -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"'{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{listCampos[i].Campo})}}' -- {listCampos[i].Campo} | {listCampos[i].TipoSql} | {listCampos[i].TipoDotNet}\");");
                            break;
                        }
                    }
                }

                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\");\");");
                stringBuilder.AppendLine($"            return stringBuilder.ToString();");
                stringBuilder.AppendLine($"        }}");

                #endregion

                #region Update

                stringBuilder.AppendLine($"");
                stringBuilder.AppendLine($"        // ReSharper disable once InconsistentNaming");
                stringBuilder.AppendLine($"        public static string Update({acronimo.AcronimoModelo}{tbl} {acronimo.AcronimoModelo}{tbl})");
                stringBuilder.AppendLine($"        {{");
                stringBuilder.AppendLine($"            StringBuilder stringBuilder = new StringBuilder();");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"--  Update {tbl}\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"UPDATE {tbl} SET\");");

                // Recorremos 1 de 2
                for (int i = 0; i <= sinWhere.Count - 1; i++)
                {
                    if (i != sinWhere.Count - 1)
                    {
                        // No es el ultimo
                        switch (sinWhere[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{sinWhere[i].Campo} = {{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{sinWhere[i].Campo})}}, -- {sinWhere[i].Campo} | {sinWhere[i].TipoSql} | {sinWhere[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{sinWhere[i].Campo} = '{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{sinWhere[i].Campo})}}', -- {sinWhere[i].Campo} | {sinWhere[i].TipoSql} | {sinWhere[i].TipoDotNet}\");");
                            break;
                        }
                    }
                    else
                    {
                        // Si es el ultimo
                        switch (sinWhere[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{sinWhere[i].Campo} = {{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{sinWhere[i].Campo})}} -- {sinWhere[i].Campo} | {sinWhere[i].TipoSql} | {sinWhere[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{sinWhere[i].Campo} = '{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{sinWhere[i].Campo})}}' -- {sinWhere[i].Campo} | {sinWhere[i].TipoSql} | {sinWhere[i].TipoDotNet}\");");
                            break;
                        }
                    }
                }

                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"WHERE\");");

                // Recorremos 2 de 2
                for (int i = 0; i <= conWhere.Count - 1; i++)
                {
                    if (i != conWhere.Count - 1)
                    {
                        // No es el ultimo
                        switch (conWhere[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{conWhere[i].Campo} = {{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{conWhere[i].Campo})}} , -- {conWhere[i].Campo} | {conWhere[i].TipoSql} | {conWhere[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{conWhere[i].Campo} = '{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{conWhere[i].Campo})}}' AND -- {conWhere[i].Campo} | {conWhere[i].TipoSql} | {conWhere[i].TipoDotNet}\");");
                            break;
                        }
                    }
                    else
                    {
                        // Si es el ultimo
                        switch (conWhere[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{conWhere[i].Campo} = {{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{conWhere[i].Campo})}}; -- {conWhere[i].Campo} | {conWhere[i].TipoSql} | {conWhere[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{conWhere[i].Campo} = '{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{conWhere[i].Campo})}}'; -- {conWhere[i].Campo} | {conWhere[i].TipoSql} | {conWhere[i].TipoDotNet}\");");
                            break;
                        }
                    }
                }

                stringBuilder.AppendLine($"            return stringBuilder.ToString();");
                stringBuilder.AppendLine($"        }}");

                #endregion

                #region Delete

                stringBuilder.AppendLine($"");
                stringBuilder.AppendLine($"        // ReSharper disable once InconsistentNaming");
                stringBuilder.AppendLine($"        public static string Delete({acronimo.AcronimoModelo}{tbl} {acronimo.AcronimoModelo}{tbl})");
                stringBuilder.AppendLine($"        {{");
                stringBuilder.AppendLine($"            StringBuilder stringBuilder = new StringBuilder();");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"--  Delete {tbl}\");");
                stringBuilder.AppendLine($"            stringBuilder.AppendLine(\"DELETE {tbl} WHERE\");");

                // Recorremos 1 de 1
                for (int i = 0; i <= conWhere.Count - 1; i++)
                {
                    if (i != conWhere.Count - 1)
                    {
                        // No es el ultimo
                        switch (conWhere[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{conWhere[i].Campo} = {{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{conWhere[i].Campo})}} AND -- {conWhere[i].Campo} | {conWhere[i].TipoSql} | {conWhere[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{conWhere[i].Campo} = '{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{conWhere[i].Campo})}}' AND -- {conWhere[i].Campo} | {conWhere[i].TipoSql} | {conWhere[i].TipoDotNet}\");");
                            break;
                        }
                    }
                    else
                    {
                        // Si es el ultimo
                        switch (conWhere[i].TipoSql)
                        {
                        case "int":
                        case "decimal":
                        case "bit":
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{conWhere[i].Campo} = {{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{conWhere[i].Campo})}}; -- {conWhere[i].Campo} | {conWhere[i].TipoSql} | {conWhere[i].TipoDotNet}\");");
                            break;

                        default:
                            stringBuilder.AppendLine($"            stringBuilder.AppendLine($\"{conWhere[i].Campo} = '{{Tools.Remplazar({acronimo.AcronimoModelo}{tbl}.{conWhere[i].Campo})}}'; -- {conWhere[i].Campo} | {conWhere[i].TipoSql} | {conWhere[i].TipoDotNet}\");");
                            break;
                        }
                    }
                }

                stringBuilder.AppendLine($"            return stringBuilder.ToString();");
                stringBuilder.AppendLine($"        }}");

                #endregion

                stringBuilder.AppendLine($"    }}");
                stringBuilder.AppendLine($"}}");

                // Libre de pecados
                return(stringBuilder.ToString());
            }
            catch (Exception)
            {
                return(stringBuilder.ToString());
            }
        }