using Exferia_Aplicacion.General; using Exferia_EntityFramework; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace Exferia_Actualizacion_BD._1_Datos { public class PRV_Actualizaciones_Datos { public PRV_Actualizaciones Obtener_UltimaActualizacion() { Exferia_Entities obj_Exferia_Entities = null; PRV_Actualizaciones mdl_PRV_Actualizaciones = null; try { //Conexion obj_Exferia_Entities = new Exferia_Entities(); obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false; string str_SQL = " SELECT top 1 " + nameof(PRV_Actualizaciones.id) + " , " + nameof(PRV_Actualizaciones.versionETF_Numero_Texto) + " , " + nameof(PRV_Actualizaciones.versionEFT_Numero_Numerica) + " , " + nameof(PRV_Actualizaciones.fechaEjecucion) + " FROM " + nameof(PRV_Actualizaciones) + " ORDER BY " + nameof(PRV_Actualizaciones.versionEFT_Numero_Numerica) + " DESC "; //Rellenar el Modelo mdl_PRV_Actualizaciones = obj_Exferia_Entities.Database.SqlQuery(str_SQL, new object[]{ }).FirstOrDefault(); } catch (Control_Errores) { throw; } catch (Exception ex) { throw new Control_Errores("", ex, nameof(PRV_Actualizaciones_Datos) + "/" + nameof(Obtener_UltimaActualizacion), true); } finally { obj_Exferia_Entities.Database.Connection.Close(); obj_Exferia_Entities.Dispose(); } return mdl_PRV_Actualizaciones; } public void Ejecutar_Script(string _str_Script) { Exferia_Entities dbcontext = null; try { dbcontext = new Exferia_Entities(); dbcontext.Database.ExecuteSqlCommand(_str_Script); } catch (Exception ex) { throw new Control_Errores(_str_Script, ex, nameof(PRV_Actualizaciones_Datos) + "/" + nameof(Ejecutar_Script), true); } finally { dbcontext.Database.Connection.Close(); dbcontext.Dispose(); } } public void Ejecutar_Script_Procedimientos(string _str_Script) { SqlCommand obj_SqlCommand; SqlConnectionStringBuilder obj_SqlConnectionStringBuilder = new SqlConnectionStringBuilder(); obj_SqlConnectionStringBuilder.DataSource = Variables.G_STR_CONEXION_SERVIDOR; obj_SqlConnectionStringBuilder.InitialCatalog = Variables.G_STR_CONEXION_BASEDATOS; if (Variables.G_STR_CONEXION_USUARIO.Trim().Equals("") || Variables.G_STR_CONEXION_CLAVE.Trim().Equals("")) { obj_SqlConnectionStringBuilder.IntegratedSecurity = true; } else { obj_SqlConnectionStringBuilder.Password = Variables.G_STR_CONEXION_CLAVE; obj_SqlConnectionStringBuilder.UserID = Variables.G_STR_CONEXION_USUARIO; } SqlConnection obj_SqlConnection = null; try { obj_SqlConnection = new SqlConnection(obj_SqlConnectionStringBuilder.ConnectionString); obj_SqlConnection.Open(); string[] arr_Scripts = _str_Script.Split(new string[] { "SIGUIENTELINEAPARAEJECUCION" }, StringSplitOptions.None); foreach (string str_Script_Final in arr_Scripts) { obj_SqlCommand = new SqlCommand(str_Script_Final, obj_SqlConnection); obj_SqlCommand.ExecuteNonQuery(); } obj_SqlConnection.Close(); } catch (Exception ex) { throw new Control_Errores(_str_Script, ex, nameof(PRV_Actualizaciones_Datos) + "/" + nameof(Ejecutar_Script_Procedimientos), true); } finally { if (obj_SqlConnection != null) { if (obj_SqlConnection.State == ConnectionState.Open) { obj_SqlConnection.Close(); } obj_SqlConnection.Dispose(); } } } public void Insertar(PRV_Actualizaciones _mdl_PRV_Actualizaciones) { Exferia_Entities obj_Exferia_Entities = null; try { obj_Exferia_Entities = new Exferia_Entities(); obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false; // Grabar Datos string str_SQL_Existe = " SELECT " + nameof(PRV_Actualizaciones.id) + " FROM " + nameof(PRV_Actualizaciones) + //WHERE " WHERE " + nameof(PRV_Actualizaciones) + "." + nameof(PRV_Actualizaciones.versionEFT_Numero_Numerica) + "=@versionEFT_Numero_Numerica"; //Parametros object[] arr_Parametros_Existe = new object[] { new SqlParameter("@versionEFT_Numero_Numerica", _mdl_PRV_Actualizaciones.versionEFT_Numero_Numerica) }; long? lng_id = obj_Exferia_Entities.Database.SqlQuery(str_SQL_Existe, arr_Parametros_Existe).FirstOrDefault(); //Insertar if (lng_id == null || lng_id.Value==0) { #region INSERT string str_SQL_Insert = " INSERT INTO " + nameof(PRV_Actualizaciones) + " (" + nameof(PRV_Actualizaciones.versionETF_Numero_Texto) + "," + nameof(PRV_Actualizaciones.versionEFT_Numero_Numerica) + "," + nameof(PRV_Actualizaciones.fechaEjecucion) + " ) " + " VALUES " + " ( " + "@versionETF_Numero_Texto," + "@versionEFT_Numero_Numerica," + "@fechaEjecucion" + " ) "; //Parametros object[] arr_Parametros_Insert = new object[] { new SqlParameter("@versionETF_Numero_Texto", _mdl_PRV_Actualizaciones.versionETF_Numero_Texto), new SqlParameter("@versionEFT_Numero_Numerica", _mdl_PRV_Actualizaciones.versionEFT_Numero_Numerica), new SqlParameter("@fechaEjecucion", _mdl_PRV_Actualizaciones.fechaEjecucion), }; #endregion obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Insert, arr_Parametros_Insert); } } catch (Exception ex) { throw new Control_Errores(_mdl_PRV_Actualizaciones.versionETF_Numero_Texto, ex, nameof(PRV_Actualizaciones_Datos) + "/" + nameof(Insertar), true); } finally { obj_Exferia_Entities.Database.Connection.Close(); obj_Exferia_Entities.Dispose(); } } } }