public void MySQLGenerarInsert() { int n_identity = (from c in _lstColumnaBE where c.Es_Identity select c).Count(); int n_no_identity = (from c in _lstColumnaBE where !c.Es_Identity select c).Count(); int n_parameter = (from c in _lstColumnaBE where !c.Es_Identity && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoHabilitado select c).Count(); int n_iteraciones = 0; using (StreamWriter sp = File.AppendText(_Ruta)) { MySQLGenerarHeaderSP(sp); sp.WriteLine("CREATE PROCEDURE `" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Insert` ("); var creador = from c in _lstColumnaBE where c.Nombre == _CampoUsuarioCreacion select c; foreach (ColumnaBE c in _lstColumnaBE) { if (!c.Es_Identity && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoHabilitado) { if (c.Nombre != _CampoUsuarioModificacion) { sp.WriteLine(" in v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (n_iteraciones != n_parameter - 1 ? "," : "")); } else { if (creador.Count() == 0) //existe campo creador { sp.WriteLine(" in v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (n_iteraciones != n_parameter - 1 ? "," : "")); } } n_iteraciones++; } } sp.WriteLine(")"); sp.WriteLine("BEGIN"); sp.WriteLine(" insert `" + _objTablaBE.Nombre + "`"); sp.WriteLine(" ("); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (!c.Es_Identity) { sp.WriteLine(" `" + c.Nombre + "`" + (n_iteraciones != n_no_identity - 1 ? "," : "")); n_iteraciones++; } } sp.WriteLine(" )"); sp.WriteLine(" values"); sp.WriteLine(" ("); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (!c.Es_Identity) { if (c.Nombre == _CampoFechaCreacion || c.Nombre == _CampoFechaModificacion) { sp.WriteLine(" UTC_TIMESTAMP()" + (n_iteraciones != n_no_identity - 1 ? "," : "")); } else if (c.Nombre == _CampoHabilitado) { sp.WriteLine(" 1" + (n_iteraciones != n_no_identity - 1 ? "," : "")); } else if (c.Nombre == _CampoUsuarioModificacion) { if (creador.Count() > 0) //Existe usuario creación { sp.WriteLine(" v_" + ToolBC.StandarizarNombreParametro(_CampoUsuarioCreacion) + (n_iteraciones != n_no_identity - 1 ? "," : "")); } else { sp.WriteLine(" v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_identity - 1 ? "," : "")); } } else { sp.WriteLine(" v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_identity - 1 ? "," : "")); } n_iteraciones++; } } sp.WriteLine(" );"); if (n_identity == 1) { sp.WriteLine(""); sp.WriteLine(" select @@IDENTITY as '" + ToolBC.StandarizarNombreParametro((from c in _lstColumnaBE where c.Es_Identity select c.Nombre).ToList()[0]) + "';"); } sp.WriteLine("END $$"); sp.WriteLine(""); } }
public void SQLGenerarInsert() { int n_identity = (from c in _lstColumnaBE where c.Es_Identity select c).Count(); int n_no_identity = (from c in _lstColumnaBE where !c.Es_Identity select c).Count(); int n_parameter = (from c in _lstColumnaBE where !c.Es_Identity && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoHabilitado select c).Count(); int n_iteraciones = 0; using (StreamWriter sp = File.AppendText(_Ruta)) { SQLGenerarHeaderSP(sp, Modo.Insertar); sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Insert] ("); var creador = from c in _lstColumnaBE where c.Nombre == _CampoUsuarioCreacion select c; foreach (ColumnaBE c in _lstColumnaBE) { if (!c.Es_Identity && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoHabilitado) { if (c.Nombre != _CampoUsuarioModificacion) { sp.WriteLine(" @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (c.Acepta_Nulos ? " = null" : "") + (n_iteraciones != n_parameter - 1 ? "," : "")); } else { if (creador.Count() == 0) //existe campo creador { sp.WriteLine(" @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (c.Acepta_Nulos ? " = null" : "") + (n_iteraciones != n_parameter - 1 ? "," : "")); } } n_iteraciones++; } } sp.WriteLine(")"); sp.WriteLine("AS"); sp.WriteLine("BEGIN"); sp.WriteLine(""); sp.WriteLine(" SET NOCOUNT ON;"); sp.WriteLine(""); sp.WriteLine(" insert into [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]"); sp.WriteLine(" ("); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (!c.Es_Identity) { sp.WriteLine(" [" + c.Nombre + "]" + (n_iteraciones != n_no_identity - 1 ? "," : "")); n_iteraciones++; } } sp.WriteLine(" )"); sp.WriteLine(" values"); sp.WriteLine(" ("); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (!c.Es_Identity) { if (c.Nombre == _CampoFechaCreacion || c.Nombre == _CampoFechaModificacion) { sp.WriteLine(" GETUTCDATE()" + (n_iteraciones != n_no_identity - 1 ? "," : "")); } else if (c.Nombre == _CampoHabilitado) { sp.WriteLine(" 1" + (n_iteraciones != n_no_identity - 1 ? "," : "")); } else if (c.Nombre == _CampoUsuarioModificacion) { if (creador.Count() > 0) //Existe usuario creación { sp.WriteLine(" @" + ToolBC.StandarizarNombreParametro(_CampoUsuarioCreacion) + (n_iteraciones != n_no_identity - 1 ? "," : "")); } else { sp.WriteLine(" @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_identity - 1 ? "," : "")); } } else { sp.WriteLine(" @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_identity - 1 ? "," : "")); } n_iteraciones++; } } sp.WriteLine(" )"); if (n_identity == 1) { sp.WriteLine(""); sp.WriteLine(" select @@IDENTITY as '" + ToolBC.StandarizarNombreParametro((from c in _lstColumnaBE where c.Es_Identity select c.Nombre).ToList()[0]) + "'"); } sp.WriteLine("END"); sp.WriteLine("GO"); sp.WriteLine(""); } }
public void SQLGenerarChangeState() { int n_iteraciones = 0; int n_pk = (from c in _lstColumnaBE where c.Es_PK select c).Count(); int n_no_pk = (from c in _lstColumnaBE where !c.Es_PK select c).Count(); string whereHabilitado = ""; using (StreamWriter sp = File.AppendText(_Ruta)) { SQLGenerarHeaderSP(sp, Modo.Change_Estate); sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Change_State] ("); foreach (ColumnaBE c in _lstColumnaBE) { if (c.Es_PK) { sp.WriteLine(" @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (n_iteraciones != n_pk - 1 ? "," : "")); whereHabilitado += "[" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : ""); n_iteraciones++; } } sp.WriteLine(")"); sp.WriteLine("AS"); sp.WriteLine("BEGIN"); sp.WriteLine(""); sp.WriteLine(" SET NOCOUNT ON;"); sp.WriteLine(""); sp.WriteLine(" declare @habilitado bit = (select [" + _CampoHabilitado + "] from [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "] where " + whereHabilitado + ");"); sp.WriteLine(""); sp.WriteLine(" if(@habilitado = 1)"); sp.WriteLine(" set @habilitado = 0"); sp.WriteLine(" else"); sp.WriteLine(" set @habilitado = 1"); sp.WriteLine(""); sp.WriteLine(" update [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]"); sp.WriteLine(" set [" + _CampoHabilitado + "] = @habilitado"); sp.WriteLine(" where"); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (c.Es_PK) { sp.WriteLine(" [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : "")); n_iteraciones++; } } sp.WriteLine("END"); sp.WriteLine("GO"); sp.WriteLine(""); } }
public void SQLGenerarGet() { String inicial_tabla = _objTablaBE.Nombre.First().ToString().ToLower(); bool primero = true; int n_iteraciones = 0; int n_pk = (from c in _lstColumnaBE where c.Es_PK select c).Count(); int n_no_pk = (from c in _lstColumnaBE where !c.Es_PK select c).Count(); using (StreamWriter sp = File.AppendText(_Ruta)) { SQLGenerarHeaderSP(sp, Modo.Seleccioar_X_ID); sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Get]("); foreach (ColumnaBE c in _lstColumnaBE) { if (c.Es_PK) { sp.WriteLine(" @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (n_iteraciones != n_pk - 1 ? "," : "")); n_iteraciones++; } } sp.WriteLine(")"); sp.WriteLine("AS"); sp.WriteLine("BEGIN"); sp.WriteLine(""); sp.WriteLine(" SET NOCOUNT ON;"); sp.WriteLine(""); sp.WriteLine(" select "); foreach (ColumnaBE c in _lstColumnaBE) { sp.WriteLine(" " + (primero ? "" : ",") + inicial_tabla + ".[" + c.Nombre + "]"); primero = false; } sp.WriteLine(" from [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "] " + inicial_tabla); sp.WriteLine(" where"); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (c.Es_PK) { sp.WriteLine(" " + inicial_tabla + ".[" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : "")); n_iteraciones++; } } sp.WriteLine("END"); sp.WriteLine("GO"); sp.WriteLine(""); } }
public void SQLGenerarDelete() { int n_iteraciones = 0; int n_pk = (from c in _lstColumnaBE where c.Es_PK select c).Count(); int n_no_pk = (from c in _lstColumnaBE where !c.Es_PK select c).Count(); using (StreamWriter sp = File.AppendText(_Ruta)) { SQLGenerarHeaderSP(sp, Modo.Eliminar); sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Delete] ("); foreach (ColumnaBE c in _lstColumnaBE) { if (c.Es_PK) { sp.WriteLine(" @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (n_iteraciones != n_pk - 1 ? "," : "")); n_iteraciones++; } } sp.WriteLine(")"); sp.WriteLine("AS"); sp.WriteLine("BEGIN"); sp.WriteLine(""); sp.WriteLine(" SET NOCOUNT ON;"); sp.WriteLine(""); sp.WriteLine(" delete from [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]"); sp.WriteLine(" where"); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (c.Es_PK) { sp.WriteLine(" [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : "")); n_iteraciones++; } } sp.WriteLine("END"); sp.WriteLine("GO"); sp.WriteLine(""); } }
public void SQLGenerarInsertUpdate() { int n_no_pk = (from c in _lstColumnaBE where !c.Es_PK select c).Count(); int n_pk = (from c in _lstColumnaBE where c.Es_PK select c).Count(); if (n_no_pk != 0 && n_pk != 0) { int n_iteraciones = 0; int n_identity = (from c in _lstColumnaBE where c.Es_Identity select c).Count(); int n_no_identity = (from c in _lstColumnaBE where !c.Es_Identity select c).Count(); using (StreamWriter sp = File.AppendText(_Ruta)) { SQLGenerarHeaderSP(sp, Modo.Insertar_Actualizar); sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre_Sin_Espacios + "_Insert_Update] ("); foreach (ColumnaBE c in _lstColumnaBE) { sp.WriteLine(" @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (c.Acepta_Nulos ? " = null" : "") + (n_iteraciones != _lstColumnaBE.Count - 1 ? "," : "")); n_iteraciones++; } sp.WriteLine(")"); sp.WriteLine("AS"); sp.WriteLine("BEGIN"); sp.WriteLine(""); sp.WriteLine(" SET NOCOUNT ON;"); //sp.WriteLine(""); //sp.WriteLine(" declare @count int"); //String count_pk = ""; //foreach (ColumnaBE c in _lstColumnaBE) //{ // if (c.Es_PK) // { // count_pk += "[" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? "," : ""); // n_iteraciones++; // } //} //sp.WriteLine(" set @count = (select count(*) from [" + _objTablaBE.Nombre + "] " + "where " + count_pk + ")"); //sp.WriteLine(""); String if_pk = ""; n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (c.Es_PK) { if_pk += "@" + ToolBC.StandarizarNombreParametro(c.Nombre) + " = 0" + (n_iteraciones != n_pk - 1 ? " or " : ""); n_iteraciones++; } } sp.WriteLine(""); sp.WriteLine(" if(" + if_pk + ")"); sp.WriteLine(" begin"); sp.WriteLine(" insert into [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]"); sp.WriteLine(" ("); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (!c.Es_Identity) { sp.WriteLine(" [" + c.Nombre + "]" + (n_iteraciones != n_no_identity - 1 ? "," : "")); n_iteraciones++; } } sp.WriteLine(" )"); sp.WriteLine(" values"); sp.WriteLine(" ("); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (!c.Es_Identity) { sp.WriteLine(" @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_identity - 1 ? "," : "")); n_iteraciones++; } } sp.WriteLine(" )"); if (n_identity == 1) { sp.WriteLine(""); sp.WriteLine(" select @@IDENTITY as '" + ToolBC.StandarizarNombreParametro((from c in _lstColumnaBE where c.Es_Identity select c.Nombre).ToList()[0]) + "'"); } sp.WriteLine(" end"); sp.WriteLine(" else"); sp.WriteLine(" begin"); sp.WriteLine(" update [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]"); sp.WriteLine(" set"); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (!c.Es_PK) { sp.WriteLine(" [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_pk - 1 ? "," : "")); n_iteraciones++; } } sp.WriteLine(" where"); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (c.Es_PK) { sp.WriteLine(" [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : "")); n_iteraciones++; } } sp.WriteLine(""); if (n_identity == 1) { String nombre_parametro = ToolBC.StandarizarNombreParametro((from c in _lstColumnaBE where c.Es_Identity select c.Nombre).ToList()[0]); sp.WriteLine(" select @" + nombre_parametro + " as '" + nombre_parametro + "'"); } sp.WriteLine(" end"); sp.WriteLine("END"); sp.WriteLine("GO"); sp.WriteLine(""); } } }
public void SQLGenerarUpdate() { int n_no_pk = (from c in _lstColumnaBE where !c.Es_PK select c).Count(); int n_pk = (from c in _lstColumnaBE where c.Es_PK select c).Count(); if (n_no_pk != 0 && n_pk != 0) { int n_iteraciones = 0; using (StreamWriter sp = File.AppendText(_Ruta)) { SQLGenerarHeaderSP(sp, Modo.Actualizar); sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Update] ("); foreach (ColumnaBE c in _lstColumnaBE) { if (c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoUsuarioCreacion && c.Nombre != _CampoHabilitado) { sp.WriteLine(" @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (c.Acepta_Nulos ? " = null" : "") + (n_iteraciones != _lstColumnaBE.Count - 1 ? "," : "")); n_iteraciones++; } } sp.WriteLine(")"); sp.WriteLine("AS"); sp.WriteLine("BEGIN"); sp.WriteLine(""); sp.WriteLine(" SET NOCOUNT ON;"); sp.WriteLine(""); sp.WriteLine(" update [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]"); sp.WriteLine(" set"); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (!c.Es_PK && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoUsuarioCreacion && c.Nombre != _CampoHabilitado) { if (c.Nombre == _CampoFechaModificacion) { sp.WriteLine(" [" + c.Nombre + "] = GETUTCDATE()" + (n_iteraciones != n_no_pk - 1 ? "," : "")); } else { sp.WriteLine(" [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_pk - 1 ? "," : "")); } n_iteraciones++; } } sp.WriteLine(" where"); n_iteraciones = 0; foreach (ColumnaBE c in _lstColumnaBE) { if (c.Es_PK) { sp.WriteLine(" [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : "")); n_iteraciones++; } } sp.WriteLine("END"); sp.WriteLine("GO"); sp.WriteLine(""); } } }