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

namespace Exferia_EntityFramework.Script_Actualizacion
{
    public class Scripts_Version_1108
    {
        public static Version G_VRS_VERSION = new Version("1.1.0.8");
        public static long G_LNG_VERSION = 1108;
        public static int G_INT_TIPO = 0;
        public static string G_STR_SCRIPT =
                                    //CREAR OPCION GEN_MONEDAHISTORICO
                                    "IF not exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opciones " +
                                        "WHERE opcion = 'GEN_MONEDAHISTORICO' " +
                                    ") " +
                                    "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('GEN_MONEDAHISTORICO','Historico de moneda','Historico de moneda','Historico de moneda','Historico de moneda', 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('GEN_MONEDAHISTORICO','Exferia_General','Historico de moneda',0,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('GEN_MONEDAHISTORICO',1, NULL,'GEN_MONEDA',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('GEN_MONEDAHISTORICO',2, NULL,'GEN_MONEDA',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('GEN_MONEDAHISTORICO',4, NULL,'GEN_MONEDA',1) " +
                                    " END " +
                                    //CREAR OPCION MAE_CUENTABANCARIA_PROVEEDOR
                                    "IF not exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opciones " +
                                        "WHERE opcion = 'MAE_CUENTABANCARIA_PROVEEDOR' " +
                                    ") " +
                                    "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('MAE_CUENTABANCARIA_PROVEEDOR','Cuentas Bancarias','Cuenta Bancaria','Cuentas Bancarias','Cuenta Bancaria', 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('MAE_CUENTABANCARIA_PROVEEDOR','Exferia_Maestros','Cuentas Bancarias',0,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('MAE_CUENTABANCARIA_PROVEEDOR',1, NULL,'MAE_PROVEEDOR',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('MAE_CUENTABANCARIA_PROVEEDOR',2, NULL,'MAE_PROVEEDOR',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('MAE_CUENTABANCARIA_PROVEEDOR',3, NULL,'MAE_PROVEEDOR',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('MAE_CUENTABANCARIA_PROVEEDOR',4, NULL,'MAE_PROVEEDOR',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('MAE_CUENTABANCARIA_PROVEEDOR',6, NULL,'MAE_PROVEEDOR',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('MAE_CUENTABANCARIA_PROVEEDOR',8, NULL,'MAE_PROVEEDOR',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('MAE_CUENTABANCARIA_PROVEEDOR',9, NULL,'MAE_PROVEEDOR',1) " +
                                    " END " +
                                    //CREAR OPCION MAE_CUENTABANCARIA_EMPLEADO
                                    "IF not exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opciones " +
                                        "WHERE opcion = 'MAE_CUENTABANCARIA_EMPLEADO' " +
                                    ") " +
                                    "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('MAE_CUENTABANCARIA_EMPLEADO','Cuentas Bancarias','Cuenta Bancaria','Cuentas Bancarias','Cuenta Bancaria', 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('MAE_CUENTABANCARIA_EMPLEADO','Exferia_Maestros','Cuentas Bancarias',0,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('MAE_CUENTABANCARIA_EMPLEADO',1, NULL,'MAE_EMPLEADO',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('MAE_CUENTABANCARIA_EMPLEADO',2, NULL,'MAE_EMPLEADO',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('MAE_CUENTABANCARIA_EMPLEADO',3, NULL,'MAE_EMPLEADO',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('MAE_CUENTABANCARIA_EMPLEADO',4, NULL,'MAE_EMPLEADO',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('MAE_CUENTABANCARIA_EMPLEADO',6, NULL,'MAE_EMPLEADO',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('MAE_CUENTABANCARIA_EMPLEADO',8, NULL,'MAE_EMPLEADO',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('MAE_CUENTABANCARIA_EMPLEADO',9, NULL,'MAE_EMPLEADO',1) " +
                                    " END " +
                                    //ACTUALIZAR OPCION MAE_CUENTABANCARIA_SOCIO
                                    "IF exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opcion_Objeto_Permiso " +
                                        "WHERE opcion = 'MAE_CUENTABANCARIA_SOCIO' and idPermiso=9 " +
                                    ") " +
                                    "BEGIN " +
                                        "UPDATE " + nameof(PRV_Opcion_Objeto_Permiso) + " SET opcionPadre='GTT_SOCIO' WHERE opcion='MAE_CUENTABANCARIA_SOCIO' and idPermiso=9 " +
                                    " END " +
                                    //ACTUALIZAR OPCION MAE_CUENTABANCARIA_CLIENTE
                                    "IF exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opcion_Objeto_Permiso " +
                                        "WHERE opcion = 'MAE_CUENTABANCARIA_CLIENTE' and idPermiso=9 " +
                                    ") " +
                                    "BEGIN " +
                                        "UPDATE " + nameof(PRV_Opcion_Objeto_Permiso) + " SET opcionPadre='MAE_CLIENTE' WHERE opcion='MAE_CUENTABANCARIA_CLIENTE' and idPermiso=9 " +
                                    " END " +
                                    //BORRAR opcion COM_SOLICITUDOFERTATRAZABILIDAD
                                    "IF exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opciones " +
                                        "WHERE opcion = 'COM_SOLICITUDOFERTATRAZABILIDAD' " +
                                    ") " +
                                    "BEGIN " +
                                         " DELETE FROM PRV_Opcion_Objeto_Permiso  WHERE opcion = 'COM_SOLICITUDOFERTATRAZABILIDAD' " +
                                         " DELETE FROM PRV_Opciones WHERE opcion = 'COM_SOLICITUDOFERTATRAZABILIDAD' " +
                                         " DELETE FROM PRV_OpcionesDetalle WHERE opcion = 'COM_SOLICITUDOFERTATRAZABILIDAD' " +
                                    "END " +
                                     //AÑADIR campo sinRepeticion a la tabla MAE_AgrupacionesArticulosCabeceras
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='sinRepeticion' AND TABLE_NAME = 'MAE_AgrupacionesArticulosCabeceras' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [MAE_AgrupacionesArticulosCabeceras]ADD[sinRepeticion] bit NULL  " +                    
                                    "END " +
                                     //AÑADIR campo sinRepeticion a la tabla MAE_AgrupacionesClientesCabeceras
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='sinRepeticion' AND TABLE_NAME = 'MAE_AgrupacionesClientesCabeceras' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [MAE_AgrupacionesClientesCabeceras]ADD[sinRepeticion] bit NULL  " +
                                    "END " +
                                     //AÑADIR campo sinRepeticion a la tabla MAE_AgrupacionesProveedoresCabeceras
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='sinRepeticion' AND TABLE_NAME = 'MAE_AgrupacionesProveedoresCabeceras' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [MAE_AgrupacionesProveedoresCabeceras]ADD[sinRepeticion] bit NULL  " +
                                    "END ";




    }
}
