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

namespace Exferia_EntityFramework.Script_Actualizacion
{
    class Scripts_Version_1323
    {
        public static Version G_VRS_VERSION = new Version("1.3.2.3");
        public static long G_LNG_VERSION = 1323;
        public static int G_INT_TIPO = 0;
        public static string G_STR_SCRIPT =
                                     //BORRAR campo orden a la tabla MYT_EstructurasPartesPeticionDatos_Secciones
                                     "IF exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='orden' AND TABLE_NAME = 'MYT_EstructurasPartesPeticionDatos_Secciones' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE MYT_EstructurasPartesPeticionDatos_Secciones DROP COLUMN [orden] " +
                                    "END " +
                                     //BORRAR campo orden a la tabla MYT_EstructurasPartesPeticionDatos_Preguntas
                                     "IF exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='orden' AND TABLE_NAME = 'MYT_EstructurasPartesPeticionDatos_Preguntas' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE MYT_EstructurasPartesPeticionDatos_Preguntas DROP COLUMN [orden] " +
                                    "END " +
                                     //BORRAR campo orden a la tabla MYT_EstructurasPartesPeticionDatos_Repuestas
                                     "IF exists " +
                                      "( " +
                                      "    SELECT * " +
                                      "    FROM INFORMATION_SCHEMA.COLUMNS " +
                                      "    WHERE COLUMN_NAME='orden' AND TABLE_NAME = 'MYT_EstructurasPartesPeticionDatos_Repuestas' " +
                                      ") " +
                                    "BEGIN " +
                                        " ALTER TABLE MYT_EstructurasPartesPeticionDatos_Repuestas DROP COLUMN [orden] " +
                                    "END " +
                                    //CREAR TABLA MYT_EstructurasPartesPeticionDatos_Arbol
                                    " IF not exists " +
                                    " ( " +
                                        " SELECT * " +
                                        " FROM INFORMATION_SCHEMA.TABLES " +
                                        " WHERE TABLE_NAME = 'MYT_EstructurasPartesPeticionDatos_Arbol' " +
                                    " ) " +
                                    " BEGIN " +
                                            " CREATE TABLE[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol]" +
                                            " (" +
                                                " [id][bigint] IDENTITY(1,1) NOT NULL," +
                                                " [idEstructuraPartePeticionDatoCabecera] [bigint]NOT NULL," +
                                                " [idEstructuraPartePeticionDatoArbol_Padre] [bigint] NULL," +
                                                " [idEstructuraPartePeticionDatoSeccion] [bigint] NULL," +
                                                " [idEstructuraPartePeticionDatoPregunta] [bigint] NULL," +
                                                " [idEstructuraPartePeticionDatoRespuesta] [bigint] NULL," +
                                                " [finPeticionDatos] [bit] NULL," +
                                                " [orden] [int] NOT NULL," +
                                            " CONSTRAINT[PK_MYT_EstructurasPartesPeticionDatos_Arbol] PRIMARY KEY CLUSTERED" +
                                            " (" +
                                            " [id] ASC" +
                                            " )WITH(PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON[PRIMARY]" +
                                            " ) ON[PRIMARY] " +

                                            " ALTER TABLE[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol] WITH CHECK ADD CONSTRAINT[FK_MYT_EstructurasPartesPeticionDatos_Arbol_MYT_EstructurasPartesPeticionDatos_Cabecera] FOREIGN KEY([idEstructuraPartePeticionDatoCabecera]) REFERENCES[dbo].[MYT_EstructurasPartesPeticionDatos_Cabecera] ([id]) ON DELETE CASCADE " +
                                            " ALTER TABLE[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol] CHECK CONSTRAINT[FK_MYT_EstructurasPartesPeticionDatos_Arbol_MYT_EstructurasPartesPeticionDatos_Cabecera]" +

                                            " ALTER TABLE[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol] WITH CHECK ADD CONSTRAINT[FK_MYT_EstructurasPartesPeticionDatos_Arbol_MYT_EstructurasPartesPeticionDatos_Arbol] FOREIGN KEY([idEstructuraPartePeticionDatoArbol_Padre]) REFERENCES[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol] ([id])   " +
                                            " ALTER TABLE[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol] CHECK CONSTRAINT[FK_MYT_EstructurasPartesPeticionDatos_Arbol_MYT_EstructurasPartesPeticionDatos_Arbol]" +

                                            " ALTER TABLE[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol] WITH CHECK ADD CONSTRAINT[FK_MYT_EstructurasPartesPeticionDatos_Arbol_MYT_EstructurasPartesPeticionDatos_Secciones] FOREIGN KEY([idEstructuraPartePeticionDatoSeccion]) REFERENCES[dbo].[MYT_EstructurasPartesPeticionDatos_Secciones] ([id])  ON DELETE CASCADE " +
                                            " ALTER TABLE[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol] CHECK CONSTRAINT[FK_MYT_EstructurasPartesPeticionDatos_Arbol_MYT_EstructurasPartesPeticionDatos_Secciones]" +

                                            " ALTER TABLE[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol] WITH CHECK ADD CONSTRAINT[FK_MYT_EstructurasPartesPeticionDatos_Arbol_MYT_EstructurasPartesPeticionDatos_Preguntas] FOREIGN KEY([idEstructuraPartePeticionDatoPregunta]) REFERENCES[dbo].[MYT_EstructurasPartesPeticionDatos_Preguntas] ([id])  ON DELETE CASCADE " +
                                            " ALTER TABLE[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol] CHECK CONSTRAINT[FK_MYT_EstructurasPartesPeticionDatos_Arbol_MYT_EstructurasPartesPeticionDatos_Preguntas]" +

                                            " ALTER TABLE[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol] WITH CHECK ADD CONSTRAINT[FK_MYT_EstructurasPartesPeticionDatos_Arbol_MYT_EstructurasPartesPeticionDatos_Repuestas] FOREIGN KEY([idEstructuraPartePeticionDatoRespuesta]) REFERENCES[dbo].[MYT_EstructurasPartesPeticionDatos_Repuestas] ([id]) ON DELETE CASCADE " +
                                            " ALTER TABLE[dbo].[MYT_EstructurasPartesPeticionDatos_Arbol] CHECK CONSTRAINT[FK_MYT_EstructurasPartesPeticionDatos_Arbol_MYT_EstructurasPartesPeticionDatos_Repuestas]" +
                                    " END ";




    }
}
