using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exferia_EntityFramework.Script_Actualizacion
{
    class Scripts_Version_1342
    {
        public static Version G_VRS_VERSION = new Version("1.3.4.2");
        public static long G_LNG_VERSION = 1342;
        public static int G_INT_TIPO = 0;
        public static string G_STR_SCRIPT =
                                    //CREAR OPCION MYT_GESTIONCONTRATOS
                                    "IF not exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opciones " +
                                        "WHERE opcion = 'MYT_GESTIONCONTRATOS' " +
                                    ") " +
                                    "BEGIN " +
                                        "INSERT INTO " + nameof(PRV_OpcionesDetalle) + " (" + nameof(PRV_OpcionesDetalle.opcion) + "," + nameof(PRV_OpcionesDetalle.descripcion_TituloListado) + "," + nameof(PRV_OpcionesDetalle.descripcion_TituloMantenimiento) + "," + nameof(PRV_OpcionesDetalle.descripcion_Plural) + "," + nameof(PRV_OpcionesDetalle.descripcion_Singular) + "," + nameof(PRV_OpcionesDetalle.camposMostrar_TituloMantenimiento) + ") VALUES('MYT_GESTIONCONTRATOS','Gestión de contratos','Gestión de contratos','Gestión de contratos','Gestión de contratos', NULL) " +
                                        "INSERT INTO " + nameof(PRV_Opciones) + " (" + nameof(PRV_Opciones.opcion) + "," + nameof(PRV_Opciones.libreria) + "," + nameof(PRV_Opciones.descripcionAMostrar) + "," + nameof(PRV_Opciones.mostrable_Arbol) + "," + nameof(PRV_Opciones.fechaCreacion) + ") VALUES('MYT_GESTIONCONTRATOS','Exferia_Mythos','Gestión de contratos',1,GETDATE()) " +
                                        "INSERT INTO " + nameof(PRV_Opcion_Objeto_Permiso) + " (" + nameof(PRV_Opcion_Objeto_Permiso.opcion) + "," + nameof(PRV_Opcion_Objeto_Permiso.idPermiso) + "," + nameof(PRV_Opcion_Objeto_Permiso.idObjeto) + "," + nameof(PRV_Opcion_Objeto_Permiso.opcionPadre) + "," + nameof(PRV_Opcion_Objeto_Permiso.mostrar) + ") VALUES('MYT_GESTIONCONTRATOS',2, NULL,NULL,1) " +
                                        "INSERT INTO " + nameof(PRV_Opcion_Objeto_Permiso) + " (" + nameof(PRV_Opcion_Objeto_Permiso.opcion) + "," + nameof(PRV_Opcion_Objeto_Permiso.idPermiso) + "," + nameof(PRV_Opcion_Objeto_Permiso.idObjeto) + "," + nameof(PRV_Opcion_Objeto_Permiso.opcionPadre) + "," + nameof(PRV_Opcion_Objeto_Permiso.mostrar) + ") VALUES('MYT_GESTIONCONTRATOS',6, NULL,NULL,1) " +
                                        "INSERT INTO " + nameof(PRV_Opcion_Objeto_Permiso) + " (" + nameof(PRV_Opcion_Objeto_Permiso.opcion) + "," + nameof(PRV_Opcion_Objeto_Permiso.idPermiso) + "," + nameof(PRV_Opcion_Objeto_Permiso.idObjeto) + "," + nameof(PRV_Opcion_Objeto_Permiso.opcionPadre) + "," + nameof(PRV_Opcion_Objeto_Permiso.mostrar) + ") VALUES('MYT_GESTIONCONTRATOS',7, NULL,NULL,1) " +
                                        "INSERT INTO " + nameof(PRV_Opcion_Objeto_Permiso) + " (" + nameof(PRV_Opcion_Objeto_Permiso.opcion) + "," + nameof(PRV_Opcion_Objeto_Permiso.idPermiso) + "," + nameof(PRV_Opcion_Objeto_Permiso.idObjeto) + "," + nameof(PRV_Opcion_Objeto_Permiso.opcionPadre) + "," + nameof(PRV_Opcion_Objeto_Permiso.mostrar) + ") VALUES('MYT_GESTIONCONTRATOS',8, NULL,NULL,1) " +
                                    " END " +
                                     //AÑADIR campo idInstalacionLineaContrato_Renovado a la tabla MYT_InstalacionesLineasContratos
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='idInstalacionLineaContrato_Renovado' AND TABLE_NAME = 'MYT_InstalacionesLineasContratos' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [MYT_InstalacionesLineasContratos]ADD[idInstalacionLineaContrato_Renovado] bigint NULL  " +
                                        //Relaciones
                                        " ALTER TABLE[MYT_InstalacionesLineasContratos] WITH CHECK ADD  CONSTRAINT[FK_MYT_InstalacionesLineasContratos_MYT_InstalacionesLineasContratos] FOREIGN KEY([idInstalacionLineaContrato_Renovado]) REFERENCES[MYT_InstalacionesLineasContratos] ([id]) " +
                                        " ALTER TABLE[MYT_InstalacionesLineasContratos] CHECK CONSTRAINT[FK_MYT_InstalacionesLineasContratos_MYT_InstalacionesLineasContratos] " +
                                    "END ";

    }
}
