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

namespace Exferia_EntityFramework.Script_Actualizacion
{
    class Scripts_Version_1186
    {
        public static Version G_VRS_VERSION = new Version("1.1.8.6");
        public static long G_LNG_VERSION = 1186;
        public static int G_INT_TIPO = 0;
        public static string G_STR_SCRIPT =
                                     //AÑADIR campo aplicarRetencion a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='aplicarRetencion' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[aplicarRetencion] int NULL  " +
                                    "END " +
                                     //AÑADIR campo noDeclararModelo190 a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='noDeclararModelo190' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[noDeclararModelo190] bit NULL  " +
                                    "END " +
                                     //AÑADIR campo clienteArrendamiento a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='clienteArrendamiento' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[clienteArrendamiento] bit NULL  " +
                                    "END " +
                                     //AÑADIR campo facturaAduana a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='facturaAduana' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[facturaAduana] bit NULL  " +
                                    "END " +
                                     //AÑADIR campo bienesInversion a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='bienesInversion' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[bienesInversion] bit NULL  " +
                                    "END " +
                                     //AÑADIR campo gasto a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='gasto' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[gasto] bit NULL  " +
                                    "END " +
                                     //AÑADIR campo criterioCaja a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='criterioCaja' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[criterioCaja] bit NULL  " +
                                    "END " +
                                     //AÑADIR campo retencion_Porcentaje a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='retencion_Porcentaje' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[retencion_Porcentaje] decimal(18,2) NULL  " +
                                    "END " +
                                     //AÑADIR campo retencion_Valor a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='retencion_Valor' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[retencion_Valor] decimal(18,2) NULL  " +
                                    "END " +
                                     //AÑADIR campo retencion_Base a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='retencion_Base' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[retencion_Base] decimal(18,2) NULL  " +
                                    "END " +
                                     //AÑADIR campo descuentoProntoPago_Importe a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='descuentoProntoPago_Importe' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[descuentoProntoPago_Importe] decimal(18,2) NULL  " +
                                    "END " +
                                     //AÑADIR campo descuentoFinalFactura_Importe a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='descuentoFinalFactura_Importe' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[descuentoFinalFactura_Importe] decimal(18,2) NULL  " +
                                    "END " +
                                     //AÑADIR campo tipoPantalla a la tabla VTA_FacturasCabecera
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='tipoPantalla' AND TABLE_NAME = 'VTA_FacturasCabecera' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera]ADD[tipoPantalla] int NULL  " +
                                    "END " +
                                     //AÑADIR campo retencion_Porcentaje a la tabla VTA_FacturasCabecera_Resumen
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='retencion_Porcentaje' AND TABLE_NAME = 'VTA_FacturasCabecera_Resumen' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera_Resumen]ADD[retencion_Porcentaje] decimal(18,2) NULL  " +
                                    "END " +
                                     //AÑADIR campo retencion_Valor a la tabla VTA_FacturasCabecera_Resumen
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='retencion_Valor' AND TABLE_NAME = 'VTA_FacturasCabecera_Resumen' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera_Resumen]ADD[retencion_Valor] decimal(18,2) NULL  " +
                                    "END " +
                                     //AÑADIR campo retencion_Base a la tabla VTA_FacturasCabecera_Resumen
                                     "IF not exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='retencion_Base' AND TABLE_NAME = 'VTA_FacturasCabecera_Resumen' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE [VTA_FacturasCabecera_Resumen]ADD[retencion_Base] decimal(18,2) NULL  " +
                                    "END " +
                                    //CREAR OPCION VTA_FACTURACABECERA_AUX
                                    "IF not exists " +
                                    "( " +
                                        "SELECT * " +
                                        "FROM PRV_Opciones " +
                                        "WHERE opcion = 'VTA_FACTURACABECERA_AUX' " +
                                    ") " +
                                    "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_FACTURACABECERA_AUX','Facturas','Factura','Facturas','Factura', 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_FACTURACABECERA_AUX','Exferia_Ventas','Facturas',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_FACTURACABECERA_AUX',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_FACTURACABECERA_AUX',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_FACTURACABECERA_AUX',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_FACTURACABECERA_AUX',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_FACTURACABECERA_AUX',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_FACTURACABECERA_AUX',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_FACTURACABECERA_AUX',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_FACTURACABECERA_AUX',8, 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_FACTURACABECERA_AUX',9, NULL,NULL,1) " +
                                    " END ";
    }
}
