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

namespace Exferia_EntityFramework.Script_Actualizacion
{
    class Scripts_Version_1238
    {
        public static Version G_VRS_VERSION = new Version("1.2.3.8");
        public static long G_LNG_VERSION = 1238;
        public static int G_INT_TIPO = 0;
        public static string G_STR_SCRIPT =
                                    //AÑADIR campo tipoPantalla a la tabla VTA_DevolucionesCobros
                                    " IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='tipoPantalla' AND TABLE_NAME = 'VTA_DevolucionesCobros' " +
                                      ") " +
                                    " BEGIN " +
                                        " ALTER TABLE [VTA_DevolucionesCobros]ADD[tipoPantalla] int NULL  " +
                                    " END " +
                                     //BORRAR campo idTipoPago a la tabla VTA_DevolucionesCobros
                                     "IF exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='idTipoPago' AND TABLE_NAME = 'VTA_DevolucionesCobros' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE VTA_DevolucionesCobros DROP CONSTRAINT[FK_VNT_Devoluciones_MAE_TiposPagos] " +
                                        " ALTER TABLE VTA_DevolucionesCobros DROP COLUMN [idTipoPago] " +
                                    "END " +
                                     //BORRAR campo idVendedor a la tabla VTA_DevolucionesCobros
                                     "IF exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='idVendedor' AND TABLE_NAME = 'VTA_DevolucionesCobros' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE VTA_DevolucionesCobros DROP CONSTRAINT[FK_VNT_Devoluciones_MAE_Vendedores] " +
                                        " ALTER TABLE VTA_DevolucionesCobros DROP COLUMN [idVendedor] " +
                                    "END " +
                                    //BORRAR OPCION VTA_DEVOLUCIONCOBRO_FACTURA
                                    "IF exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opciones " +
                                        "WHERE opcion = 'VTA_DEVOLUCIONCOBRO_FACTURA' " +
                                    ") " +
                                    "BEGIN " +
                                        " DELETE FROM " + nameof(PRV_Productos_OpcionesDisponiblesParaCliente) + " WHERE " + nameof(PRV_Productos_OpcionesDisponiblesParaCliente.opcion) + "='VTA_DEVOLUCIONCOBRO_FACTURA' " +
                                        " DELETE FROM " + nameof(PRV_OpcionesDisponiblesParaCliente) + " WHERE " + nameof(PRV_OpcionesDisponiblesParaCliente.opcion) + "='VTA_DEVOLUCIONCOBRO_FACTURA' " +
                                        " DELETE FROM " + nameof(PRV_ArbolPrincipal_USR_Usuarios) + " WHERE " + nameof(PRV_ArbolPrincipal_USR_Usuarios.opcion) + "='VTA_DEVOLUCIONCOBRO_FACTURA' " +
                                        " DELETE FROM " + nameof(PRV_ArbolPrincipal) + " WHERE " + nameof(PRV_ArbolPrincipal.opcion) + "='VTA_DEVOLUCIONCOBRO_FACTURA' " +
                                        " DELETE FROM " + nameof(PRV_Opcion_Objeto_Permiso) + " WHERE " + nameof(PRV_Opcion_Objeto_Permiso.opcion) + "='VTA_DEVOLUCIONCOBRO_FACTURA' " +
                                        " DELETE FROM " + nameof(PRV_Opcion_Objeto_Permiso) + " WHERE " + nameof(PRV_Opcion_Objeto_Permiso.opcionPadre) + "='VTA_DEVOLUCIONCOBRO_FACTURA' " +
                                        " DELETE FROM " + nameof(PRV_Opciones_USR_Usuarios) + " WHERE " + nameof(PRV_Opciones_USR_Usuarios.opcion) + "='VTA_DEVOLUCIONCOBRO_FACTURA' " +
                                        " DELETE FROM " + nameof(PRV_OpcionesDetalle_USR_Usuarios) + " WHERE " + nameof(PRV_OpcionesDetalle_USR_Usuarios.opcion) + "='VTA_DEVOLUCIONCOBRO_FACTURA' " +
                                        " DELETE FROM " + nameof(PRV_Opciones) + " WHERE " + nameof(PRV_Opciones.opcion) + "='VTA_DEVOLUCIONCOBRO_FACTURA' " +
                                        " DELETE FROM " + nameof(PRV_OpcionesDetalle) + " WHERE " + nameof(PRV_OpcionesDetalle.opcion) + "='VTA_DEVOLUCIONCOBRO_FACTURA' " +
                                    " END  " +
                                    //BORRAR OPCION VTA_DEVOLUCIONCOBRO_SOCIO
                                    "IF exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opciones " +
                                        "WHERE opcion = 'VTA_DEVOLUCIONCOBRO_SOCIO' " +
                                    ") " +
                                    "BEGIN " +
                                        " DELETE FROM " + nameof(PRV_Productos_OpcionesDisponiblesParaCliente) + " WHERE " + nameof(PRV_Productos_OpcionesDisponiblesParaCliente.opcion) + "='VTA_DEVOLUCIONCOBRO_SOCIO' " +
                                        " DELETE FROM " + nameof(PRV_OpcionesDisponiblesParaCliente) + " WHERE " + nameof(PRV_OpcionesDisponiblesParaCliente.opcion) + "='VTA_DEVOLUCIONCOBRO_SOCIO' " +
                                        " DELETE FROM " + nameof(PRV_ArbolPrincipal_USR_Usuarios) + " WHERE " + nameof(PRV_ArbolPrincipal_USR_Usuarios.opcion) + "='VTA_DEVOLUCIONCOBRO_SOCIO' " +
                                        " DELETE FROM " + nameof(PRV_ArbolPrincipal) + " WHERE " + nameof(PRV_ArbolPrincipal.opcion) + "='VTA_DEVOLUCIONCOBRO_SOCIO' " +
                                        " DELETE FROM " + nameof(PRV_Opcion_Objeto_Permiso) + " WHERE " + nameof(PRV_Opcion_Objeto_Permiso.opcion) + "='VTA_DEVOLUCIONCOBRO_SOCIO' " +
                                        " DELETE FROM " + nameof(PRV_Opcion_Objeto_Permiso) + " WHERE " + nameof(PRV_Opcion_Objeto_Permiso.opcionPadre) + "='VTA_DEVOLUCIONCOBRO_SOCIO' " +
                                        " DELETE FROM " + nameof(PRV_Opciones_USR_Usuarios) + " WHERE " + nameof(PRV_Opciones_USR_Usuarios.opcion) + "='VTA_DEVOLUCIONCOBRO_SOCIO' " +
                                        " DELETE FROM " + nameof(PRV_OpcionesDetalle_USR_Usuarios) + " WHERE " + nameof(PRV_OpcionesDetalle_USR_Usuarios.opcion) + "='VTA_DEVOLUCIONCOBRO_SOCIO' " +
                                        " DELETE FROM " + nameof(PRV_Opciones) + " WHERE " + nameof(PRV_Opciones.opcion) + "='VTA_DEVOLUCIONCOBRO_SOCIO' " +
                                        " DELETE FROM " + nameof(PRV_OpcionesDetalle) + " WHERE " + nameof(PRV_OpcionesDetalle.opcion) + "='VTA_DEVOLUCIONCOBRO_SOCIO' " +
                                    " END  " +
                                    //CREAR OPCION VTA_DEVOLUCIONCOBRO
                                    "IF not exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opciones " +
                                        "WHERE opcion = 'VTA_DEVOLUCIONCOBRO' " +
                                    ") " +
                                    "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('VTA_DEVOLUCIONCOBRO','Devoluciones','Devolución','Devoluciones','Devolución', 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('VTA_DEVOLUCIONCOBRO','Exferia_Ventas','Devolución',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('VTA_DEVOLUCIONCOBRO',1, 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('VTA_DEVOLUCIONCOBRO',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('VTA_DEVOLUCIONCOBRO',3, 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('VTA_DEVOLUCIONCOBRO',4, 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('VTA_DEVOLUCIONCOBRO',5, 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('VTA_DEVOLUCIONCOBRO',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('VTA_DEVOLUCIONCOBRO',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('VTA_DEVOLUCIONCOBRO',8, NULL,NULL,1) " +
                                    " END " +
                                    //CREAR OPCION VTA_DEVOLUCIONCOBRO_AUX_1
                                    "IF not exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opciones " +
                                        "WHERE opcion = 'VTA_DEVOLUCIONCOBRO_AUX_1' " +
                                    ") " +
                                    "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('VTA_DEVOLUCIONCOBRO_AUX_1','Devoluciones (GTT)','Devolución (GTT)','Devoluciones (GTT)','Devolución (GTT)', 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('VTA_DEVOLUCIONCOBRO_AUX_1','Exferia_Ventas','Devolución',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('VTA_DEVOLUCIONCOBRO_AUX_1',1, 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('VTA_DEVOLUCIONCOBRO_AUX_1',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('VTA_DEVOLUCIONCOBRO_AUX_1',3, 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('VTA_DEVOLUCIONCOBRO_AUX_1',4, 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('VTA_DEVOLUCIONCOBRO_AUX_1',5, 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('VTA_DEVOLUCIONCOBRO_AUX_1',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('VTA_DEVOLUCIONCOBRO_AUX_1',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('VTA_DEVOLUCIONCOBRO_AUX_1',8, NULL,NULL,1) " +
                                    " END ";



    }
}
