
using ClosedXML.Excel;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Visualizacion;
using Exferia_Formularios;
using Exferia_TraspasoDatos._0_Modelos;
using Exferia_TraspasoDatos.General;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Threading;
using System.Windows.Forms;

namespace Exferia_TraspasoDatos._3_Vistas.Controladoras
{
    public class P_TraspasoDato_Controladora
    {
        #region Variablas Generales
        private P_TraspasoDato g_frm_P_TraspasoDato = null; //Variable que enlaza con la pantalla asociada
        private PE_Esperando g_frm_PE_Esperando;//Pantalla de Espera, para cuando se ejecutan tareas pesadas como cargar, guardar, etc
        private PE_Traspaso_BarraProgreso g_frm_PE_Traspaso_BarraProgreso;//Pantalla de Espera, para cuando se ejecutan tareas pesadas como cargar, guardar, etc

        private Funciones_Insertar g_obj_Funciones_Insertar = new Funciones_Insertar();

        public bool g_bol_Termino_CargaDatos_Inicial = false;//Se utiliza para saber cuando se termina la carga de datos estaticos inciales
        
        #region Tareas Asincronas
        //Tarea Asincrona de Rellenar Listado SigmaERP
        private BackgroundWorker g_obj_TareaAsincrona_Rellenar_Listado_SigmaERP;
        public bool g_bol_Rellenar_Listado_SigmaERP_Termino = true;

        //Tarea Asincrona de Rellenar Listado Mythos
        private BackgroundWorker g_obj_TareaAsincrona_Rellenar_Listado_Mythos;
        public bool g_bol_Rellenar_Listado_Mythos_Termino = true;

        //Tarea Asincrona de Rellenar Listado ExpedientesAgenda
        private BackgroundWorker g_obj_TareaAsincrona_Rellenar_Listado_ExpedientesAgenda;
        public bool g_bol_Rellenar_Listado_ExpedientesAgenda_Termino = true;

        //Tarea Asincrona de Rellenar Listado DatosIniciales
        private BackgroundWorker g_obj_TareaAsincrona_Rellenar_Listado_DatosIniciales;
        public bool g_bol_Rellenar_Listado_DatosIniciales_Termino = true;

        //Tarea Asincrona de Importar Datos
        private BackgroundWorker g_obj_TareaAsincrona_Importar_Datos;
        public bool g_bol_Importar_Datos = true;
        private int g_int_TotalDocumentosImportados_Importar = 0;
        private int g_int_TotalDocumentos_Importar = 0;

        private int g_int_TotalFilas_Importar = 0;
        private int g_int_TotalFilasImportados_Importar = 0;

        #endregion

        public string g_str_ValorCelda_MARCADA = "V";
        public string g_str_ValorCelda_SINMARCAR = "";

        public enum G_ENUM_ESTADOCELDA
        {
            MARCADA = 0,
            SINMARCAR = 1
        }

        //Diccinaro que continene los todos los proyectos
        private Dictionary<INTERNO_Identificador_Descripcion_Modelo, Dictionary<INTERNO_Identificador_Descripcion_Modelo, List<INTERNO_Identificador_Descripcion_Modelo>>> g_dct_INTERNO_Identificador_Descripcion_Modelo_Proyectos = null;
        public List<INTERNO_Identificador_Descripcion_Modelo> g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado = null;

        #region Sigma ERP
        private Dictionary<INTERNO_Identificador_Descripcion_Modelo, List<INTERNO_Identificador_Descripcion_Modelo>> g_dct_INTERNO_Identificador_Descripcion_Modelo_SigmaERP = null;

        public List<INTERNO_Identificador_Descripcion_Modelo> g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP = null;
        #endregion

        #region Mythos
        private Dictionary<INTERNO_Identificador_Descripcion_Modelo, List<INTERNO_Identificador_Descripcion_Modelo>> g_dct_INTERNO_Identificador_Descripcion_Modelo_Mythos = null;

        public List<INTERNO_Identificador_Descripcion_Modelo> g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos = null;
        #endregion

        #region ExpedientesAgenda
        private Dictionary<INTERNO_Identificador_Descripcion_Modelo, List<INTERNO_Identificador_Descripcion_Modelo>> g_dct_INTERNO_Identificador_Descripcion_Modelo_ExpedientesAgenda = null;

        public List<INTERNO_Identificador_Descripcion_Modelo> g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_ = null;
        #endregion

        #region DatosIniciales
        private Dictionary<INTERNO_Identificador_Descripcion_Modelo, List<INTERNO_Identificador_Descripcion_Modelo>> g_dct_INTERNO_Identificador_Descripcion_Modelo_DatosIniciales = null;

        public List<INTERNO_Identificador_Descripcion_Modelo> g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales = null;
        #endregion

        #endregion

        #region DataGridView Posicion Campos
        //Excel
        public int g_int_PosicionCampo_DataGridView_Excel_Identificador = 0;
        public int g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre = 1;
        public int g_int_PosicionCampo_DataGridView_Excel_EsSolapa = 2;
        public int g_int_PosicionCampo_DataGridView_Excel_ExpandirContraer = 3;
        public int g_int_PosicionCampo_DataGridView_Excel_Descripcion = 4;
        public int g_int_PosicionCampo_DataGridView_Excel_Importar = 5;
        public int g_int_PosicionCampo_DataGridView_Excel_Ruta = 6;
        public int g_int_PosicionCampo_DataGridView_Excel_Orden = 7;
        #endregion

        #region Constructor
        public P_TraspasoDato_Controladora(P_TraspasoDato _frm_P_TraspasoDato)
        {
            g_frm_P_TraspasoDato = _frm_P_TraspasoDato;

            //Rellenamos el diccionario con todo lo necesario
            g_dct_INTERNO_Identificador_Descripcion_Modelo_Proyectos = Funciones_TraspasoDatos.Rellenar_Diccionario_Excel_Proyectos();

        }
        #endregion

        #region SigmaERP

        #region VaciarDatos_SigmaERP
        public void VaciarDatos_SIGMAERP(string _str_Identificador)
        {
            //si el identificador es vacio demarco todos los documentos
            if (_str_Identificador.Trim().Length > 0)
            {
                //Desmarcamos las solapas

                List<DataGridViewRow> lst_DataGridViewRow = g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_SigmaERP.Rows.Cast<DataGridViewRow>().ToList();

                if (lst_DataGridViewRow != null)
                {
                    lst_DataGridViewRow = (lst_DataGridViewRow.Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(_str_Identificador) 
                                            )).ToList();

                    if (lst_DataGridViewRow != null)
                    {
                        lst_DataGridViewRow.ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_SINMARCAR);
                    }
                }
            }
            //Sino desmarco los documentos cullo identificador padre sea el que recivo
            else
            {
                //Vaciamos tambien la ruta
                g_frm_P_TraspasoDato.Exferia_TextBox_Carpeta_SigmaERP.Text = "";

                //Vaciamos todos los documentos marcados
                (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_SigmaERP.Rows.Cast<DataGridViewRow>()
                              ).ToList().ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_SINMARCAR);

                //Vaciamos el listado
                g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP = null;
                
            }

        }
        #endregion

        #region Rellenar_Listado_SigmaERP
        public void Rellenar_Listado_SigmaERP()
        {
            try
            {
                //Bloquear el formulario para que no se pueda hacer nada hasta que termine
                g_frm_P_TraspasoDato.Enabled = false;

                g_bol_Rellenar_Listado_SigmaERP_Termino = false;

                //Mostrar lka pantalla de espera
                g_frm_PE_Esperando = new PE_Esperando();

                //Si la tarea asincrona esta en marcha la paro
                if (g_obj_TareaAsincrona_Rellenar_Listado_SigmaERP != null)
                {
                    while (g_obj_TareaAsincrona_Rellenar_Listado_SigmaERP.IsBusy)
                        Application.DoEvents();
                }
                else
                {
                    g_obj_TareaAsincrona_Rellenar_Listado_SigmaERP = new BackgroundWorker();
                    g_obj_TareaAsincrona_Rellenar_Listado_SigmaERP.DoWork += new DoWorkEventHandler(TareaAsincrona_Rellenar_Listado_SigmaERP_DoWork);
                    g_obj_TareaAsincrona_Rellenar_Listado_SigmaERP.ProgressChanged += new ProgressChangedEventHandler(TareaAsincrona_Rellenar_Listado_SigmaERP_ProgressChanged);
                    g_obj_TareaAsincrona_Rellenar_Listado_SigmaERP.RunWorkerCompleted += new RunWorkerCompletedEventHandler(TareaAsincrona_Rellenar_Listado_SigmaERP_Completed);
                    g_obj_TareaAsincrona_Rellenar_Listado_SigmaERP.WorkerReportsProgress = true;
                }

                //Vaciar DataGridView
                g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_SigmaERP.Rows.Clear();
                g_frm_P_TraspasoDato.Exferia_TextBox_Carpeta_SigmaERP.Text ="";

                //(Tarea Asincrona) Cargar Datos ##################################################################
                g_obj_TareaAsincrona_Rellenar_Listado_SigmaERP.RunWorkerAsync();
                //#################################################################################################

                g_frm_PE_Esperando.ShowDialog();
            }
            catch (Exception ex)
            {
                g_frm_P_TraspasoDato.Enabled = true;
                g_bol_Termino_CargaDatos_Inicial = true;

                if (g_frm_PE_Esperando != null)
                {
                    g_frm_PE_Esperando.Close();
                    g_frm_PE_Esperando = null;
                }

                throw new Control_Errores(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA(), ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Rellenar_Listado_SigmaERP), true);
            }
        }

        private void TareaAsincrona_Rellenar_Listado_SigmaERP_DoWork(object sender, DoWorkEventArgs e)
        {
            INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
            mdl_ValorDevuelto_Modelo.TodoCorrecto = true;

            try
            {
                //Obtengo el proyecto SigmaERP del diccionario
                g_dct_INTERNO_Identificador_Descripcion_Modelo_SigmaERP = g_dct_INTERNO_Identificador_Descripcion_Modelo_Proyectos[Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_SIGMAERP];

                if (g_dct_INTERNO_Identificador_Descripcion_Modelo_SigmaERP != null &&
                  g_dct_INTERNO_Identificador_Descripcion_Modelo_SigmaERP.Count > 0)
                {
                    DataGridViewRow obj_DataGridViewRow = null;

                    //recorremos el diccionario a vamos agregando el DataGridView
                    foreach (KeyValuePair<INTERNO_Identificador_Descripcion_Modelo, List<INTERNO_Identificador_Descripcion_Modelo>> kvp_INTERNO_Identificador_Descripcion_Modelo in g_dct_INTERNO_Identificador_Descripcion_Modelo_SigmaERP)
                    {
                        
                        //Se Cancelo la tarea asincrona #########################
                        if (((BackgroundWorker)sender).CancellationPending)
                        {
                            e.Cancel = true;
                            return;
                        }

                        //Agregamos la Cabecera
                        obj_DataGridViewRow = Transformar_Modelo_A_Row_Excel(kvp_INTERNO_Identificador_Descripcion_Modelo.Key, null);
                        ((BackgroundWorker)sender).ReportProgress(1, obj_DataGridViewRow);
                        Thread.Sleep(1);

                        //Comprobamos si tiene solapas
                        List<INTERNO_Identificador_Descripcion_Modelo> lst_str_Solapas = kvp_INTERNO_Identificador_Descripcion_Modelo.Value;
                        if (lst_str_Solapas != null &&
                            lst_str_Solapas.Count > 0)
                        {
                            foreach(INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in lst_str_Solapas)
                            {
                                //Agregamos la Solapa
                                obj_DataGridViewRow = Transformar_Modelo_A_Row_Excel(kvp_INTERNO_Identificador_Descripcion_Modelo.Key, mdl_INTERNO_Identificador_Descripcion_Modelo);
                                ((BackgroundWorker)sender).ReportProgress(1, obj_DataGridViewRow);
                                Thread.Sleep(1);
                            }
                        }
                    }
                }
            }
            catch (ThreadAbortException ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_SigmaERP_DoWork));

                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            catch (Control_Errores)
            {
                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_SigmaERP_DoWork));

                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            finally
            {
                e.Result = mdl_ValorDevuelto_Modelo;
            }
        }
        private DataGridViewRow Transformar_Modelo_A_Row_Excel(INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera, INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa)
        {
            DataGridViewRow obj_DataGridViewRow = (DataGridViewRow)g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_SigmaERP.RowTemplate.Clone();
            obj_DataGridViewRow.CreateCells(g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_SigmaERP);

            //Comprobamos si es Solapa o Cabecera
            //Dependeiendo de lo que se rellenamos de una manera u otra
            if(_mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa!= null)
            {
                // Rellenamos las celdas de la fila
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_EsSolapa].Value = true;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Descripcion].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa.Descripcion;

                Cambio_Texto_Celda_Permiso_Perfil(obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar], G_ENUM_ESTADOCELDA.SINMARCAR ,false);
            }
            //Sino Rellenamos como cabecera
            else
            {
                // Rellenamos las celdas de la fila
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value = "";
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_EsSolapa].Value = false;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Descripcion].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Descripcion;
            }

            //Orden
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Orden].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Orden;

            //Generico tanto para cabecera como solapa
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_ExpandirContraer].Value = "/";
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_ExpandirContraer].ToolTipText = "Contraer";
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].ToolTipText = "";

            return obj_DataGridViewRow;
        }
        private  void TareaAsincrona_Rellenar_Listado_SigmaERP_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            try
            {
                //Excels
                if (e.ProgressPercentage == 1)
                {
                    g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_SigmaERP.Rows.Add((DataGridViewRow)e.UserState);
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log(ex.Message, ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_SigmaERP_ProgressChanged));
            }
        }

        private void TareaAsincrona_Rellenar_Listado_SigmaERP_Completed(object sender, RunWorkerCompletedEventArgs e)
        {
            if (g_frm_PE_Esperando != null)
            {
                g_frm_PE_Esperando.Close();
                g_frm_PE_Esperando = null;
            }

            //Desbloquear el Formulario
            g_frm_P_TraspasoDato.Enabled = true;

            try
            {
                INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo_Resultado = (INTERNO_ValorDevuelto_Modelo)e.Result;

                //Mostrar si tuviera algun mensaje
                if (mdl_ValorDevuelto_Modelo_Resultado.TodoCorrecto == false)
                {
                    Mensajes.MostrarMensaje(mdl_ValorDevuelto_Modelo_Resultado.Mensaje);
                    g_frm_P_TraspasoDato.Salir_P_Base();
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_SigmaERP_Completed));
                Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());

                g_frm_P_TraspasoDato.Salir_P_Base();
            }
            finally
            {

                g_bol_Rellenar_Listado_SigmaERP_Termino = true;

            }
        }
        #endregion

        #region Fichero Excel Sigma ERP
        public void Comprobar_Carpeta_Ficheros_Excel_SigmaERP(string _str_Ruta_Carpeta)
        {
            //Si existe calculo sino no
            if (Directory.Exists(_str_Ruta_Carpeta))
            {
                //Primero obtengo la carpeta seleccionada
                DirectoryInfo obj_DirectoryInfo = new DirectoryInfo(_str_Ruta_Carpeta);

                string str_Identificador_Anterior = "";

                //Recorro la carpeta para ver que archivos se encuentran en ella
                foreach (FileInfo obj_FileInfo in obj_DirectoryInfo.GetFiles().ToList())
                {
                    string str_Identificador = Path.GetFileNameWithoutExtension(obj_FileInfo.Name).Trim();

                    //Si el identificador viejo es igual al nuevo lo obvio por que es un xslm y tiene prioridad
                    if (!str_Identificador.Equals(str_Identificador_Anterior))
                    {
                        // Recorro un listado de filas cuyo identificador exista en la carpeta
                        DataGridViewRow obj_DataGridViewRow = (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_SigmaERP.Rows.Cast<DataGridViewRow>()
                            .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && 
                                        n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(str_Identificador)
                                   ).FirstOrDefault());

                        if (obj_DataGridViewRow != null)
                        {
                            string str_Ruta = obj_FileInfo.FullName;

                            //Los archivos que existan en ella los guardo en un listado
                            //Actualizo el listado de rutas
                            Actualizar_Diccionario_Ruta_SigmaERP(str_Identificador, str_Ruta,int.Parse(obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Orden].Value.ToString()));
                        }
                    }

                    str_Identificador_Anterior = str_Identificador;
                }

                //Despues Recorro los archivos para saber que solapas existen para marcarlas en el listado
                if (g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP != null &&
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP.Count > 0)
                {
                    List<INTERNO_Identificador_Descripcion_Modelo> lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP_CLON = new List<INTERNO_Identificador_Descripcion_Modelo>(g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP);

                    foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP_CLON)
                    {
                        //Esto seria para habrir los excel y extraer la informacion
                        Comprobar_Fichero_Excel_SigmaERP(mdl_INTERNO_Identificador_Descripcion_Modelo);

                    }
                }
            }
            else
            {
                VaciarDatos_SIGMAERP("");
            }
        }
        public void Comprobar_Fichero_Excel_SigmaERP(INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo)
        {
            try
            {
                //Antes de comprobar desmarco todos
                //Por si cambia la ruta del archivo
                VaciarDatos_SIGMAERP(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador);

                //si existe calculo sino no
                if (File.Exists(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion))
                {
                    //Esto seria para habrir los excel y extraer la informacion
                    OpenSettings o = new OpenSettings();
                    o.MarkupCompatibilityProcessSettings = new MarkupCompatibilityProcessSettings(MarkupCompatibilityProcessMode.ProcessLoadedPartsOnly,DocumentFormat.OpenXml.FileFormatVersions.Office2013);

                    SpreadsheetDocument obj_SpreadsheetDocument = SpreadsheetDocument.Open(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion,false,o);
                    WorkbookPart workbookPart = obj_SpreadsheetDocument.WorkbookPart;
                    List<Sheet> lst_Sheet = workbookPart.Workbook.Descendants<Sheet>().ToList();

                    //Primero añado la ruta a su identificador
                    (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_SigmaERP.Rows.Cast<DataGridViewRow>()
                        .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)
                               ).FirstOrDefault()).Cells[g_int_PosicionCampo_DataGridView_Excel_Ruta].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion;

                    List<string> lst_SolapasDelExcel = lst_Sheet.Select(x => x.Name.InnerText).ToList();

                    // Recorro un listado de filas cuyo identificador exista para marcar como que existe
                    (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_SigmaERP.Rows.Cast<DataGridViewRow>()
                        .Where(n => lst_SolapasDelExcel.Contains(n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value))
                               ).ToList().ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_MARCADA);

                    //Actualizo el listado de rutas
                    Actualizar_Diccionario_Ruta_SigmaERP(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador, _mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion, _mdl_INTERNO_Identificador_Descripcion_Modelo.Orden);
                }
            }
            catch (Exception ex)
            {
                //Aqui muestro un mensaje para indicar que el documento este abierto
                Mensajes.MostrarMensaje(Mensajes_TraspasoDatos.G_STR_MENSAJES_ERROR_DOCUMENTOABIERTO(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion), Mensajes_TraspasoDatos.G_STR_MENSAJES_TITULO_DOCUMENTOABIERTO());
                //Aqui desmarco todo
                VaciarDatos_SIGMAERP("");
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Comprobar_Fichero_Excel_SigmaERP));
            }
        }
        #endregion

        public void Actualizar_Diccionario_Ruta_SigmaERP(string _str_Identificador, string _str_Ruta, int _int_Orden)
        {
            try
            {
                if(g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP == null)
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP = new List<INTERNO_Identificador_Descripcion_Modelo>();
                }

                //si existe actualizo la ruta
                if(g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP.Exists(x => x.Identificador.Equals(_str_Identificador)))
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP.Where(x => x.Identificador.Equals(_str_Identificador)).FirstOrDefault().Descripcion = _str_Ruta;
                }
                //si no existe lo añado
                else
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP.Add(new INTERNO_Identificador_Descripcion_Modelo(_str_Identificador, _str_Ruta, _int_Orden));
                }
            }
            catch(Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "" + nameof(Actualizar_Diccionario_Ruta_SigmaERP));
            }
        }

        #endregion

        #region Mythos

        #region VaciarDatos_Mythos
        public void VaciarDatos_Mythos(string _str_Identificador)
        {
            //si el identificador es vacio demarco todos los documentos
            if (_str_Identificador.Trim().Length > 0)
            {
                //Desmarcamos las solapas

                List<DataGridViewRow> lst_DataGridViewRow = g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_Mythos.Rows.Cast<DataGridViewRow>().ToList();

                if (lst_DataGridViewRow != null)
                {
                    lst_DataGridViewRow = (lst_DataGridViewRow.Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(_str_Identificador)
                                            )).ToList();

                    if (lst_DataGridViewRow != null)
                    {
                        lst_DataGridViewRow.ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_SINMARCAR);
                    }
                }
            }
            //Sino desmarco los documentos cullo identificador padre sea el que recivo
            else
            {
                //Vaciamos tambien la ruta
                g_frm_P_TraspasoDato.Exferia_TextBox_Carpeta_Mythos.Text = "";

                //Vaciamos todos los documentos marcados
                (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_Mythos.Rows.Cast<DataGridViewRow>()
                              ).ToList().ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_SINMARCAR);

                //Vaciamos el listado
                g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos = null;

            }

        }
        #endregion

        #region Rellenar_Listado_Mythos
        public void Rellenar_Listado_Mythos()
        {
            try
            {
                //Bloquear el formulario para que no se pueda hacer nada hasta que termine
                g_frm_P_TraspasoDato.Enabled = false;

                g_bol_Rellenar_Listado_Mythos_Termino = false;

                //Mostrar lka pantalla de espera
                g_frm_PE_Esperando = new PE_Esperando();

                //Si la tarea asincrona esta en marcha la paro
                if (g_obj_TareaAsincrona_Rellenar_Listado_Mythos != null)
                {
                    while (g_obj_TareaAsincrona_Rellenar_Listado_Mythos.IsBusy)
                        Application.DoEvents();
                }
                else
                {
                    g_obj_TareaAsincrona_Rellenar_Listado_Mythos = new BackgroundWorker();
                    g_obj_TareaAsincrona_Rellenar_Listado_Mythos.DoWork += new DoWorkEventHandler(TareaAsincrona_Rellenar_Listado_Mythos_DoWork);
                    g_obj_TareaAsincrona_Rellenar_Listado_Mythos.ProgressChanged += new ProgressChangedEventHandler(TareaAsincrona_Rellenar_Listado_Mythos_ProgressChanged);
                    g_obj_TareaAsincrona_Rellenar_Listado_Mythos.RunWorkerCompleted += new RunWorkerCompletedEventHandler(TareaAsincrona_Rellenar_Listado_Mythos_Completed);
                    g_obj_TareaAsincrona_Rellenar_Listado_Mythos.WorkerReportsProgress = true;
                }

                //Vaciar DataGridView
                g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_Mythos.Rows.Clear();
                g_frm_P_TraspasoDato.Exferia_TextBox_Carpeta_Mythos.Text = "";

                //(Tarea Asincrona) Cargar Datos ##################################################################
                g_obj_TareaAsincrona_Rellenar_Listado_Mythos.RunWorkerAsync();
                //#################################################################################################

                g_frm_PE_Esperando.ShowDialog();
            }
            catch (Exception ex)
            {
                g_frm_P_TraspasoDato.Enabled = true;
                g_bol_Termino_CargaDatos_Inicial = true;

                if (g_frm_PE_Esperando != null)
                {
                    g_frm_PE_Esperando.Close();
                    g_frm_PE_Esperando = null;
                }

                throw new Control_Errores(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA(), ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Rellenar_Listado_Mythos), true);
            }
        }

        private void TareaAsincrona_Rellenar_Listado_Mythos_DoWork(object sender, DoWorkEventArgs e)
        {
            INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
            mdl_ValorDevuelto_Modelo.TodoCorrecto = true;

            try
            {
                //Obtengo el proyecto Mythos del diccionario
                g_dct_INTERNO_Identificador_Descripcion_Modelo_Mythos = g_dct_INTERNO_Identificador_Descripcion_Modelo_Proyectos[Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_MYTHOS];

                if (g_dct_INTERNO_Identificador_Descripcion_Modelo_Mythos != null &&
                  g_dct_INTERNO_Identificador_Descripcion_Modelo_Mythos.Count > 0)
                {
                    DataGridViewRow obj_DataGridViewRow = null;

                    //recorremos el diccionario a vamos agregando el DataGridView
                    foreach (KeyValuePair<INTERNO_Identificador_Descripcion_Modelo, List<INTERNO_Identificador_Descripcion_Modelo>> kvp_INTERNO_Identificador_Descripcion_Modelo in g_dct_INTERNO_Identificador_Descripcion_Modelo_Mythos)
                    {

                        //Se Cancelo la tarea asincrona #########################
                        if (((BackgroundWorker)sender).CancellationPending)
                        {
                            e.Cancel = true;
                            return;
                        }

                        //Agregamos la Cabecera
                        obj_DataGridViewRow = Transformar_Modelo_A_Row_Excel_Mythos(kvp_INTERNO_Identificador_Descripcion_Modelo.Key, null);
                        ((BackgroundWorker)sender).ReportProgress(1, obj_DataGridViewRow);
                        Thread.Sleep(1);

                        //Comprobamos si tiene solapas
                        List<INTERNO_Identificador_Descripcion_Modelo> lst_str_Solapas = kvp_INTERNO_Identificador_Descripcion_Modelo.Value;
                        if (lst_str_Solapas != null &&
                            lst_str_Solapas.Count > 0)
                        {
                            foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in lst_str_Solapas)
                            {
                                //Agregamos la Solapa
                                obj_DataGridViewRow = Transformar_Modelo_A_Row_Excel_Mythos(kvp_INTERNO_Identificador_Descripcion_Modelo.Key, mdl_INTERNO_Identificador_Descripcion_Modelo);
                                ((BackgroundWorker)sender).ReportProgress(1, obj_DataGridViewRow);
                                Thread.Sleep(1);
                            }
                        }
                    }
                }
            }
            catch (ThreadAbortException ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_Mythos_DoWork));

                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            catch (Control_Errores)
            {
                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_Mythos_DoWork));

                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            finally
            {
                e.Result = mdl_ValorDevuelto_Modelo;
            }
        }
        private DataGridViewRow Transformar_Modelo_A_Row_Excel_Mythos(INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera, INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa)
        {
            DataGridViewRow obj_DataGridViewRow = (DataGridViewRow)g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_Mythos.RowTemplate.Clone();
            obj_DataGridViewRow.CreateCells(g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_Mythos);

            //Comprobamos si es Solapa o Cabecera
            //Dependeiendo de lo que se rellenamos de una manera u otra
            if (_mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa != null)
            {
                // Rellenamos las celdas de la fila
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_EsSolapa].Value = true;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Descripcion].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa.Descripcion;

                Cambio_Texto_Celda_Permiso_Perfil(obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar], G_ENUM_ESTADOCELDA.SINMARCAR, false);
            }
            //Sino Rellenamos como cabecera
            else
            {
                // Rellenamos las celdas de la fila
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value = "";
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_EsSolapa].Value = false;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Descripcion].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Descripcion;
            }

            //Orden
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Orden].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Orden;

            //Generico tanto para cabecera como solapa
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_ExpandirContraer].Value = "/";
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_ExpandirContraer].ToolTipText = "Contraer";
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].ToolTipText = "";

            return obj_DataGridViewRow;
        }
        private void TareaAsincrona_Rellenar_Listado_Mythos_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            try
            {
                //Excels
                if (e.ProgressPercentage == 1)
                {
                    g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_Mythos.Rows.Add((DataGridViewRow)e.UserState);
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log(ex.Message, ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_Mythos_ProgressChanged));
            }
        }

        private void TareaAsincrona_Rellenar_Listado_Mythos_Completed(object sender, RunWorkerCompletedEventArgs e)
        {
            if (g_frm_PE_Esperando != null)
            {
                g_frm_PE_Esperando.Close();
                g_frm_PE_Esperando = null;
            }

            //Desbloquear el Formulario
            g_frm_P_TraspasoDato.Enabled = true;

            try
            {
                INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo_Resultado = (INTERNO_ValorDevuelto_Modelo)e.Result;

                //Mostrar si tuviera algun mensaje
                if (mdl_ValorDevuelto_Modelo_Resultado.TodoCorrecto == false)
                {
                    Mensajes.MostrarMensaje(mdl_ValorDevuelto_Modelo_Resultado.Mensaje);
                    g_frm_P_TraspasoDato.Salir_P_Base();
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_Mythos_Completed));
                Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());

                g_frm_P_TraspasoDato.Salir_P_Base();
            }
            finally
            {

                g_bol_Rellenar_Listado_Mythos_Termino = true;

            }
        }
        #endregion

        #region Fichero Excel Mythos
        public void Comprobar_Carpeta_Ficheros_Excel_Mythos(string _str_Ruta_Carpeta)
        {
            //Si existe calculo sino no
            if (Directory.Exists(_str_Ruta_Carpeta))
            {
                //Primero obtengo la carpeta seleccionada
                DirectoryInfo obj_DirectoryInfo = new DirectoryInfo(_str_Ruta_Carpeta);

                string str_Identificador_Anterior = "";

                //Recorro la carpeta para ver que archivos se encuentran en ella
                foreach (FileInfo obj_FileInfo in obj_DirectoryInfo.GetFiles().ToList())
                {
                    string str_Identificador = Path.GetFileNameWithoutExtension(obj_FileInfo.Name).Trim();

                    //Si el identificador viejo es igual al nuevo lo obvio por que es un xslm y tiene prioridad
                    if (!str_Identificador.Equals(str_Identificador_Anterior))
                    {
                        // Recorro un listado de filas cuyo identificador exista en la carpeta
                        DataGridViewRow obj_DataGridViewRow = (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_Mythos.Rows.Cast<DataGridViewRow>()
                            .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(str_Identificador)
                                   ).FirstOrDefault());

                        if (obj_DataGridViewRow != null)
                        {
                            string str_Ruta = obj_FileInfo.FullName;


                            //Los archivos que existan en ella los guardo en un listado
                            //Actualizo el listado de rutas
                            Actualizar_Diccionario_Ruta_Mythos(str_Identificador, str_Ruta, int.Parse(obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Orden].Value.ToString()));
                        }
                    }

                    str_Identificador_Anterior = str_Identificador;
                }

                //Despues Recorro los archivos para saber que solapas existen para marcarlas en el listado
                if (g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos != null &&
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos.Count > 0)
                {
                    List<INTERNO_Identificador_Descripcion_Modelo> lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos_CLON = new List<INTERNO_Identificador_Descripcion_Modelo>(g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos);

                    foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos_CLON)
                    {
                        //Esto seria para habrir los excel y extraer la informacion
                        Comprobar_Fichero_Excel_Mythos(mdl_INTERNO_Identificador_Descripcion_Modelo);

                    }
                }
            }
            else
            {
                VaciarDatos_Mythos("");
            }
        }
        public void Comprobar_Fichero_Excel_Mythos(INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo)
        {
            try
            {
                //Antes de comprobar desmarco todos
                //Por si cambia la ruta del archivo
                VaciarDatos_Mythos(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador);

                //si existe calculo sino no
                if (File.Exists(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion))
                {
                    //Esto seria para habrir los excel y extraer la informacion
                    OpenSettings o = new OpenSettings();
                    o.MarkupCompatibilityProcessSettings = new MarkupCompatibilityProcessSettings(MarkupCompatibilityProcessMode.ProcessLoadedPartsOnly, DocumentFormat.OpenXml.FileFormatVersions.Office2013);

                    SpreadsheetDocument obj_SpreadsheetDocument = SpreadsheetDocument.Open(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion, false, o);
                    WorkbookPart workbookPart = obj_SpreadsheetDocument.WorkbookPart;
                    List<Sheet> lst_Sheet = workbookPart.Workbook.Descendants<Sheet>().ToList();

                    //Primero añado la ruta a su identificador
                    (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_Mythos.Rows.Cast<DataGridViewRow>()
                        .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)
                               ).FirstOrDefault()).Cells[g_int_PosicionCampo_DataGridView_Excel_Ruta].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion;

                    List<string> lst_SolapasDelExcel = lst_Sheet.Select(x => x.Name.InnerText).ToList();

                    // Recorro un listado de filas cuyo identificador exista para marcar como que existe
                    (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_Mythos.Rows.Cast<DataGridViewRow>()
                        .Where(n => lst_SolapasDelExcel.Contains(n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value))
                               ).ToList().ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_MARCADA);

                    //Actualizo el listado de rutas
                    Actualizar_Diccionario_Ruta_Mythos(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador, _mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion, _mdl_INTERNO_Identificador_Descripcion_Modelo.Orden);
                }
            }
            catch (Exception ex)
            {
                //Aqui muestro un mensaje para indicar que el documento este abierto
                Mensajes.MostrarMensaje(Mensajes_TraspasoDatos.G_STR_MENSAJES_ERROR_DOCUMENTOABIERTO(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion), Mensajes_TraspasoDatos.G_STR_MENSAJES_TITULO_DOCUMENTOABIERTO());
                //Aqui desmarco todo
                VaciarDatos_Mythos("");
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Comprobar_Fichero_Excel_Mythos));
            }
        }
        #endregion

        public void Actualizar_Diccionario_Ruta_Mythos(string _str_Identificador, string _str_Ruta, int _int_Orden)
        {
            try
            {
                if (g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos == null)
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos = new List<INTERNO_Identificador_Descripcion_Modelo>();
                }

                //si existe actualizo la ruta
                if (g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos.Exists(x => x.Identificador.Equals(_str_Identificador)))
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos.Where(x => x.Identificador.Equals(_str_Identificador)).FirstOrDefault().Descripcion = _str_Ruta;
                }
                //si no existe lo añado
                else
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos.Add(new INTERNO_Identificador_Descripcion_Modelo(_str_Identificador, _str_Ruta, _int_Orden));
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "" + nameof(Actualizar_Diccionario_Ruta_Mythos));
            }
        }

        #endregion

        #region ExpedientesAgenda

        #region VaciarDatos_ExpedientesAgenda
        public void VaciarDatos_ExpedientesAgenda(string _str_Identificador)
        {
            //si el identificador es vacio demarco todos los documentos
            if (_str_Identificador.Trim().Length > 0)
            {
                //Desmarcamos las solapas

                List<DataGridViewRow> lst_DataGridViewRow = g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_ExpedientesAgenda.Rows.Cast<DataGridViewRow>().ToList();

                if (lst_DataGridViewRow != null)
                {
                    lst_DataGridViewRow = (lst_DataGridViewRow.Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(_str_Identificador)
                                            )).ToList();

                    if (lst_DataGridViewRow != null)
                    {
                        lst_DataGridViewRow.ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_SINMARCAR);
                    }
                }
            }
            //Sino desmarco los documentos cullo identificador padre sea el que recivo
            else
            {
                //Vaciamos tambien la ruta
                g_frm_P_TraspasoDato.Exferia_TextBox_Carpeta_ExpedientesAgenda.Text = "";

                //Vaciamos todos los documentos marcados
                (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_ExpedientesAgenda.Rows.Cast<DataGridViewRow>()
                              ).ToList().ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_SINMARCAR);

                //Vaciamos el listado
                g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_ = null;

            }

        }
        #endregion

        #region Rellenar_Listado_ExpedientesAgenda
        public void Rellenar_Listado_ExpedientesAgenda()
        {
            try
            {
                //Bloquear el formulario para que no se pueda hacer nada hasta que termine
                g_frm_P_TraspasoDato.Enabled = false;

                g_bol_Rellenar_Listado_ExpedientesAgenda_Termino = false;

                //Mostrar lka pantalla de espera
                g_frm_PE_Esperando = new PE_Esperando();

                //Si la tarea asincrona esta en marcha la paro
                if (g_obj_TareaAsincrona_Rellenar_Listado_ExpedientesAgenda != null)
                {
                    while (g_obj_TareaAsincrona_Rellenar_Listado_ExpedientesAgenda.IsBusy)
                        Application.DoEvents();
                }
                else
                {
                    g_obj_TareaAsincrona_Rellenar_Listado_ExpedientesAgenda = new BackgroundWorker();
                    g_obj_TareaAsincrona_Rellenar_Listado_ExpedientesAgenda.DoWork += new DoWorkEventHandler(TareaAsincrona_Rellenar_Listado_ExpedientesAgenda_DoWork);
                    g_obj_TareaAsincrona_Rellenar_Listado_ExpedientesAgenda.ProgressChanged += new ProgressChangedEventHandler(TareaAsincrona_Rellenar_Listado_ExpedientesAgenda_ProgressChanged);
                    g_obj_TareaAsincrona_Rellenar_Listado_ExpedientesAgenda.RunWorkerCompleted += new RunWorkerCompletedEventHandler(TareaAsincrona_Rellenar_Listado_ExpedientesAgenda_Completed);
                    g_obj_TareaAsincrona_Rellenar_Listado_ExpedientesAgenda.WorkerReportsProgress = true;
                }

                //Vaciar DataGridView
                g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_ExpedientesAgenda.Rows.Clear();
                g_frm_P_TraspasoDato.Exferia_TextBox_Carpeta_ExpedientesAgenda.Text = "";

                //(Tarea Asincrona) Cargar Datos ##################################################################
                g_obj_TareaAsincrona_Rellenar_Listado_ExpedientesAgenda.RunWorkerAsync();
                //#################################################################################################

                g_frm_PE_Esperando.ShowDialog();
            }
            catch (Exception ex)
            {
                g_frm_P_TraspasoDato.Enabled = true;
                g_bol_Termino_CargaDatos_Inicial = true;

                if (g_frm_PE_Esperando != null)
                {
                    g_frm_PE_Esperando.Close();
                    g_frm_PE_Esperando = null;
                }

                throw new Control_Errores(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA(), ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Rellenar_Listado_ExpedientesAgenda), true);
            }
        }

        private void TareaAsincrona_Rellenar_Listado_ExpedientesAgenda_DoWork(object sender, DoWorkEventArgs e)
        {
            INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
            mdl_ValorDevuelto_Modelo.TodoCorrecto = true;

            try
            {
                //Obtengo el proyecto ExpedientesAgenda del diccionario
                g_dct_INTERNO_Identificador_Descripcion_Modelo_ExpedientesAgenda = g_dct_INTERNO_Identificador_Descripcion_Modelo_Proyectos[Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_EXPEPEDIENTESAGENDA];

                if (g_dct_INTERNO_Identificador_Descripcion_Modelo_ExpedientesAgenda != null &&
                  g_dct_INTERNO_Identificador_Descripcion_Modelo_ExpedientesAgenda.Count > 0)
                {
                    DataGridViewRow obj_DataGridViewRow = null;

                    //recorremos el diccionario a vamos agregando el DataGridView
                    foreach (KeyValuePair<INTERNO_Identificador_Descripcion_Modelo, List<INTERNO_Identificador_Descripcion_Modelo>> kvp_INTERNO_Identificador_Descripcion_Modelo in g_dct_INTERNO_Identificador_Descripcion_Modelo_ExpedientesAgenda)
                    {

                        //Se Cancelo la tarea asincrona #########################
                        if (((BackgroundWorker)sender).CancellationPending)
                        {
                            e.Cancel = true;
                            return;
                        }

                        //Agregamos la Cabecera
                        obj_DataGridViewRow = Transformar_Modelo_A_Row_Excel_ExpedientesAgenda(kvp_INTERNO_Identificador_Descripcion_Modelo.Key, null);
                        ((BackgroundWorker)sender).ReportProgress(1, obj_DataGridViewRow);
                        Thread.Sleep(1);

                        //Comprobamos si tiene solapas
                        List<INTERNO_Identificador_Descripcion_Modelo> lst_str_Solapas = kvp_INTERNO_Identificador_Descripcion_Modelo.Value;
                        if (lst_str_Solapas != null &&
                            lst_str_Solapas.Count > 0)
                        {
                            foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in lst_str_Solapas)
                            {
                                //Agregamos la Solapa
                                obj_DataGridViewRow = Transformar_Modelo_A_Row_Excel_ExpedientesAgenda(kvp_INTERNO_Identificador_Descripcion_Modelo.Key, mdl_INTERNO_Identificador_Descripcion_Modelo);
                                ((BackgroundWorker)sender).ReportProgress(1, obj_DataGridViewRow);
                                Thread.Sleep(1);
                            }
                        }
                    }
                }
            }
            catch (ThreadAbortException ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_ExpedientesAgenda_DoWork));

                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            catch (Control_Errores)
            {
                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_ExpedientesAgenda_DoWork));

                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            finally
            {
                e.Result = mdl_ValorDevuelto_Modelo;
            }
        }
        private DataGridViewRow Transformar_Modelo_A_Row_Excel_ExpedientesAgenda(INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera, INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa)
        {
            DataGridViewRow obj_DataGridViewRow = (DataGridViewRow)g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_ExpedientesAgenda.RowTemplate.Clone();
            obj_DataGridViewRow.CreateCells(g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_ExpedientesAgenda);

            //Comprobamos si es Solapa o Cabecera
            //Dependeiendo de lo que se rellenamos de una manera u otra
            if (_mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa != null)
            {
                // Rellenamos las celdas de la fila
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_EsSolapa].Value = true;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Descripcion].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa.Descripcion;

                Cambio_Texto_Celda_Permiso_Perfil(obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar], G_ENUM_ESTADOCELDA.SINMARCAR, false);
            }
            //Sino Rellenamos como cabecera
            else
            {
                // Rellenamos las celdas de la fila
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value = "";
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_EsSolapa].Value = false;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Descripcion].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Descripcion;
            }

            //Orden
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Orden].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Orden;

            //Generico tanto para cabecera como solapa
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_ExpandirContraer].Value = "/";
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_ExpandirContraer].ToolTipText = "Contraer";
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].ToolTipText = "";

            return obj_DataGridViewRow;
        }
        private void TareaAsincrona_Rellenar_Listado_ExpedientesAgenda_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            try
            {
                //Excels
                if (e.ProgressPercentage == 1)
                {
                    g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_ExpedientesAgenda.Rows.Add((DataGridViewRow)e.UserState);
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log(ex.Message, ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_ExpedientesAgenda_ProgressChanged));
            }
        }

        private void TareaAsincrona_Rellenar_Listado_ExpedientesAgenda_Completed(object sender, RunWorkerCompletedEventArgs e)
        {
            if (g_frm_PE_Esperando != null)
            {
                g_frm_PE_Esperando.Close();
                g_frm_PE_Esperando = null;
            }

            //Desbloquear el Formulario
            g_frm_P_TraspasoDato.Enabled = true;

            try
            {
                INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo_Resultado = (INTERNO_ValorDevuelto_Modelo)e.Result;

                //Mostrar si tuviera algun mensaje
                if (mdl_ValorDevuelto_Modelo_Resultado.TodoCorrecto == false)
                {
                    Mensajes.MostrarMensaje(mdl_ValorDevuelto_Modelo_Resultado.Mensaje);
                    g_frm_P_TraspasoDato.Salir_P_Base();
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_ExpedientesAgenda_Completed));
                Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());

                g_frm_P_TraspasoDato.Salir_P_Base();
            }
            finally
            {

                g_bol_Rellenar_Listado_ExpedientesAgenda_Termino = true;

            }
        }
        #endregion

        #region Fichero Excel ExpedientesAgenda
        public void Comprobar_Carpeta_Ficheros_Excel_ExpedientesAgenda(string _str_Ruta_Carpeta)
        {
            //Si existe calculo sino no
            if (Directory.Exists(_str_Ruta_Carpeta))
            {
                //Primero obtengo la carpeta seleccionada
                DirectoryInfo obj_DirectoryInfo = new DirectoryInfo(_str_Ruta_Carpeta);

                string str_Identificador_Anterior = "";

                //Recorro la carpeta para ver que archivos se encuentran en ella
                foreach (FileInfo obj_FileInfo in obj_DirectoryInfo.GetFiles().ToList())
                {
                    string str_Identificador = Path.GetFileNameWithoutExtension(obj_FileInfo.Name).Trim();

                    //Si el identificador viejo es igual al nuevo lo obvio por que es un xslm y tiene prioridad
                    if (!str_Identificador.Equals(str_Identificador_Anterior))
                    {
                        // Recorro un listado de filas cuyo identificador exista en la carpeta
                        DataGridViewRow obj_DataGridViewRow = (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_ExpedientesAgenda.Rows.Cast<DataGridViewRow>()
                            .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && 
                                        n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(str_Identificador)
                                   ).FirstOrDefault());

                        if (obj_DataGridViewRow != null)
                        {
                            string str_Ruta = obj_FileInfo.FullName;

                            //Los archivos que existan en ella los guardo en un listado
                            //Actualizo el listado de rutas
                            Actualizar_Diccionario_Ruta_ExpedientesAgenda(str_Identificador, str_Ruta, int.Parse(obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Orden].Value.ToString()));
                        }
                    }

                    str_Identificador_Anterior = str_Identificador;
                }

                //Despues Recorro los archivos para saber que solapas existen para marcarlas en el listado
                if (g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_ != null &&
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_.Count > 0)
                {
                    List<INTERNO_Identificador_Descripcion_Modelo> lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_CLON = new List<INTERNO_Identificador_Descripcion_Modelo>(g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_);

                    foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_CLON)
                    {
                        //Esto seria para habrir los excel y extraer la informacion
                        Comprobar_Fichero_Excel_ExpedientesAgenda(mdl_INTERNO_Identificador_Descripcion_Modelo);

                    }
                }
            }
            else
            {
                VaciarDatos_ExpedientesAgenda("");
            }
        }
        public void Comprobar_Fichero_Excel_ExpedientesAgenda(INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo)
        {
            try
            {
                //Antes de comprobar desmarco todos
                //Por si cambia la ruta del archivo
                VaciarDatos_ExpedientesAgenda(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador);

                //si existe calculo sino no
                if (File.Exists(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion))
                {
                    //Esto seria para habrir los excel y extraer la informacion
                    OpenSettings o = new OpenSettings();
                    o.MarkupCompatibilityProcessSettings = new MarkupCompatibilityProcessSettings(MarkupCompatibilityProcessMode.ProcessLoadedPartsOnly, DocumentFormat.OpenXml.FileFormatVersions.Office2013);

                    SpreadsheetDocument obj_SpreadsheetDocument = SpreadsheetDocument.Open(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion, false, o);
                    WorkbookPart workbookPart = obj_SpreadsheetDocument.WorkbookPart;
                    List<Sheet> lst_Sheet = workbookPart.Workbook.Descendants<Sheet>().ToList();

                    //Primero añado la ruta a su identificador
                    (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_ExpedientesAgenda.Rows.Cast<DataGridViewRow>()
                        .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)
                               ).FirstOrDefault()).Cells[g_int_PosicionCampo_DataGridView_Excel_Ruta].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion;

                    List<string> lst_SolapasDelExcel = lst_Sheet.Select(x => x.Name.InnerText).ToList();

                    // Recorro un listado de filas cuyo identificador exista para marcar como que existe
                    (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_ExpedientesAgenda.Rows.Cast<DataGridViewRow>()
                        .Where(n => lst_SolapasDelExcel.Contains(n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value))
                               ).ToList().ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_MARCADA);

                    //Actualizo el listado de rutas
                    Actualizar_Diccionario_Ruta_ExpedientesAgenda(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador, _mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion, _mdl_INTERNO_Identificador_Descripcion_Modelo.Orden);
                }
            }
            catch (Exception ex)
            {
                //Aqui muestro un mensaje para indicar que el documento este abierto
                Mensajes.MostrarMensaje(Mensajes_TraspasoDatos.G_STR_MENSAJES_ERROR_DOCUMENTOABIERTO(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion), Mensajes_TraspasoDatos.G_STR_MENSAJES_TITULO_DOCUMENTOABIERTO());
                //Aqui desmarco todo
                VaciarDatos_ExpedientesAgenda("");
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Comprobar_Fichero_Excel_ExpedientesAgenda));
            }
        }
        #endregion

        public void Actualizar_Diccionario_Ruta_ExpedientesAgenda(string _str_Identificador, string _str_Ruta,int _int_Orden)
        {
            try
            {
                if (g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_ == null)
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_ = new List<INTERNO_Identificador_Descripcion_Modelo>();
                }

                //si existe actualizo la ruta
                if (g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_.Exists(x => x.Identificador.Equals(_str_Identificador)))
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_.Where(x => x.Identificador.Equals(_str_Identificador)).FirstOrDefault().Descripcion = _str_Ruta;
                }
                //si no existe lo añado
                else
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_.Add(new INTERNO_Identificador_Descripcion_Modelo(_str_Identificador, _str_Ruta, _int_Orden));
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "" + nameof(Actualizar_Diccionario_Ruta_ExpedientesAgenda));
            }
        }

        #endregion

        #region DatosIniciales

        #region VaciarDatos_DatosIniciales
        public void VaciarDatos_DatosIniciales(string _str_Identificador)
        {
            //si el identificador es vacio demarco todos los documentos
            if (_str_Identificador.Trim().Length > 0)
            {
                //Desmarcamos las solapas

                List<DataGridViewRow> lst_DataGridViewRow = g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_DatosIniciales.Rows.Cast<DataGridViewRow>().ToList();

                if (lst_DataGridViewRow != null)
                {
                    lst_DataGridViewRow = (lst_DataGridViewRow.Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(_str_Identificador)
                                            )).ToList();

                    if (lst_DataGridViewRow != null)
                    {
                        lst_DataGridViewRow.ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_SINMARCAR);
                    }
                }
            }
            //Sino desmarco los documentos cullo identificador padre sea el que recivo
            else
            {
                //Vaciamos tambien la ruta
                g_frm_P_TraspasoDato.Exferia_TextBox_Carpeta_DatosIniciales.Text = "";

                //Vaciamos todos los documentos marcados
                (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_DatosIniciales.Rows.Cast<DataGridViewRow>()
                              ).ToList().ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_SINMARCAR);

                //Vaciamos el listado
                g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales = null;

            }

        }
        #endregion

        #region DatosIniciales
        public void Rellenar_Listado_DatosIniciales()
        {
            try
            {
                //Bloquear el formulario para que no se pueda hacer nada hasta que termine
                g_frm_P_TraspasoDato.Enabled = false;

                g_bol_Rellenar_Listado_DatosIniciales_Termino = false;

                //Mostrar lka pantalla de espera
                g_frm_PE_Esperando = new PE_Esperando();

                //Si la tarea asincrona esta en marcha la paro
                if (g_obj_TareaAsincrona_Rellenar_Listado_DatosIniciales != null)
                {
                    while (g_obj_TareaAsincrona_Rellenar_Listado_DatosIniciales.IsBusy)
                        Application.DoEvents();
                }
                else
                {
                    g_obj_TareaAsincrona_Rellenar_Listado_DatosIniciales = new BackgroundWorker();
                    g_obj_TareaAsincrona_Rellenar_Listado_DatosIniciales.DoWork += new DoWorkEventHandler(TareaAsincrona_Rellenar_Listado_DatosIniciales_DoWork);
                    g_obj_TareaAsincrona_Rellenar_Listado_DatosIniciales.ProgressChanged += new ProgressChangedEventHandler(TareaAsincrona_Rellenar_Listado_DatosIniciales_ProgressChanged);
                    g_obj_TareaAsincrona_Rellenar_Listado_DatosIniciales.RunWorkerCompleted += new RunWorkerCompletedEventHandler(TareaAsincrona_Rellenar_Listado_DatosIniciales_Completed);
                    g_obj_TareaAsincrona_Rellenar_Listado_DatosIniciales.WorkerReportsProgress = true;
                }

                //Vaciar DataGridView
                g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_DatosIniciales.Rows.Clear();
                g_frm_P_TraspasoDato.Exferia_TextBox_Carpeta_DatosIniciales.Text = "";

                //(Tarea Asincrona) Cargar Datos ##################################################################
                g_obj_TareaAsincrona_Rellenar_Listado_DatosIniciales.RunWorkerAsync();
                //#################################################################################################

                g_frm_PE_Esperando.ShowDialog();
            }
            catch (Exception ex)
            {
                g_frm_P_TraspasoDato.Enabled = true;
                g_bol_Termino_CargaDatos_Inicial = true;

                if (g_frm_PE_Esperando != null)
                {
                    g_frm_PE_Esperando.Close();
                    g_frm_PE_Esperando = null;
                }

                throw new Control_Errores(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA(), ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Rellenar_Listado_DatosIniciales), true);
            }
        }

        private void TareaAsincrona_Rellenar_Listado_DatosIniciales_DoWork(object sender, DoWorkEventArgs e)
        {
            INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
            mdl_ValorDevuelto_Modelo.TodoCorrecto = true;

            try
            {
                //Obtengo el proyecto DatosIniciales del diccionario
                g_dct_INTERNO_Identificador_Descripcion_Modelo_DatosIniciales = g_dct_INTERNO_Identificador_Descripcion_Modelo_Proyectos[Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_DATOSINICIALES];

                if (g_dct_INTERNO_Identificador_Descripcion_Modelo_DatosIniciales != null &&
                  g_dct_INTERNO_Identificador_Descripcion_Modelo_DatosIniciales.Count > 0)
                {
                    DataGridViewRow obj_DataGridViewRow = null;

                    //recorremos el diccionario a vamos agregando el DataGridView
                    foreach (KeyValuePair<INTERNO_Identificador_Descripcion_Modelo, List<INTERNO_Identificador_Descripcion_Modelo>> kvp_INTERNO_Identificador_Descripcion_Modelo in g_dct_INTERNO_Identificador_Descripcion_Modelo_DatosIniciales)
                    {

                        //Se Cancelo la tarea asincrona #########################
                        if (((BackgroundWorker)sender).CancellationPending)
                        {
                            e.Cancel = true;
                            return;
                        }

                        //Agregamos la Cabecera
                        obj_DataGridViewRow = Transformar_Modelo_A_Row_Excel_DatosIniciales(kvp_INTERNO_Identificador_Descripcion_Modelo.Key, null);
                        ((BackgroundWorker)sender).ReportProgress(1, obj_DataGridViewRow);
                        Thread.Sleep(1);

                        //Comprobamos si tiene solapas
                        List<INTERNO_Identificador_Descripcion_Modelo> lst_str_Solapas = kvp_INTERNO_Identificador_Descripcion_Modelo.Value;
                        if (lst_str_Solapas != null &&
                            lst_str_Solapas.Count > 0)
                        {
                            foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in lst_str_Solapas)
                            {
                                //Agregamos la Solapa
                                obj_DataGridViewRow = Transformar_Modelo_A_Row_Excel_DatosIniciales(kvp_INTERNO_Identificador_Descripcion_Modelo.Key, mdl_INTERNO_Identificador_Descripcion_Modelo);
                                ((BackgroundWorker)sender).ReportProgress(1, obj_DataGridViewRow);
                                Thread.Sleep(1);
                            }
                        }
                    }
                }
            }
            catch (ThreadAbortException ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_DatosIniciales_DoWork));

                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            catch (Control_Errores)
            {
                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_DatosIniciales_DoWork));

                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            finally
            {
                e.Result = mdl_ValorDevuelto_Modelo;
            }
        }
        private DataGridViewRow Transformar_Modelo_A_Row_Excel_DatosIniciales(INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera, INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa)
        {
            DataGridViewRow obj_DataGridViewRow = (DataGridViewRow)g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_DatosIniciales.RowTemplate.Clone();
            obj_DataGridViewRow.CreateCells(g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_DatosIniciales);

            //Comprobamos si es Solapa o Cabecera
            //Dependeiendo de lo que se rellenamos de una manera u otra
            if (_mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa != null)
            {
                // Rellenamos las celdas de la fila
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_EsSolapa].Value = true;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Descripcion].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Solapa.Descripcion;

                Cambio_Texto_Celda_Permiso_Perfil(obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar], G_ENUM_ESTADOCELDA.SINMARCAR, false);
            }
            //Sino Rellenamos como cabecera
            else
            {
                // Rellenamos las celdas de la fila
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Identificador;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value = "";
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_EsSolapa].Value = false;
                obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Descripcion].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Descripcion;
            }

            //Orden
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Orden].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo_Cabecera.Orden;

            //Generico tanto para cabecera como solapa
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_ExpandirContraer].Value = "/";
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_ExpandirContraer].ToolTipText = "Contraer";
            obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].ToolTipText = "";

            return obj_DataGridViewRow;
        }
        private void TareaAsincrona_Rellenar_Listado_DatosIniciales_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            try
            {
                //Excels
                if (e.ProgressPercentage == 1)
                {
                    g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_DatosIniciales.Rows.Add((DataGridViewRow)e.UserState);
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log(ex.Message, ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_DatosIniciales_ProgressChanged));
            }
        }

        private void TareaAsincrona_Rellenar_Listado_DatosIniciales_Completed(object sender, RunWorkerCompletedEventArgs e)
        {
            if (g_frm_PE_Esperando != null)
            {
                g_frm_PE_Esperando.Close();
                g_frm_PE_Esperando = null;
            }

            //Desbloquear el Formulario
            g_frm_P_TraspasoDato.Enabled = true;

            try
            {
                INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo_Resultado = (INTERNO_ValorDevuelto_Modelo)e.Result;

                //Mostrar si tuviera algun mensaje
                if (mdl_ValorDevuelto_Modelo_Resultado.TodoCorrecto == false)
                {
                    Mensajes.MostrarMensaje(mdl_ValorDevuelto_Modelo_Resultado.Mensaje);
                    g_frm_P_TraspasoDato.Salir_P_Base();
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Rellenar_Listado_DatosIniciales_Completed));
                Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());

                g_frm_P_TraspasoDato.Salir_P_Base();
            }
            finally
            {

                g_bol_Rellenar_Listado_DatosIniciales_Termino = true;

            }
        }
        #endregion

        #region Fichero Excel DatosIniciales
        public void Comprobar_Carpeta_Ficheros_Excel_DatosIniciales(string _str_Ruta_Carpeta)
        {
            //Si existe calculo sino no
            if (Directory.Exists(_str_Ruta_Carpeta))
            {
                //Primero obtengo la carpeta seleccionada
                DirectoryInfo obj_DirectoryInfo = new DirectoryInfo(_str_Ruta_Carpeta);

                string str_Identificador_Anterior = "";

                //Recorro la carpeta para ver que archivos se encuentran en ella
                foreach (FileInfo obj_FileInfo in obj_DirectoryInfo.GetFiles().ToList())
                {
                    string str_Identificador = Path.GetFileNameWithoutExtension(obj_FileInfo.Name).Trim();

                    //Si el identificador viejo es igual al nuevo lo obvio por que es un xslm y tiene prioridad
                    if (!str_Identificador.Equals(str_Identificador_Anterior))
                    {
                        // Recorro un listado de filas cuyo identificador exista en la carpeta
                        DataGridViewRow obj_DataGridViewRow = (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_DatosIniciales.Rows.Cast<DataGridViewRow>()
                            .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(str_Identificador)
                                   ).FirstOrDefault());

                        if (obj_DataGridViewRow != null)
                        {
                            string str_Ruta = obj_FileInfo.FullName;

                            //Los archivos que existan en ella los guardo en un listado
                            //Actualizo el listado de rutas
                            Actualizar_Diccionario_Ruta_DatosIniciales(str_Identificador, str_Ruta, int.Parse(obj_DataGridViewRow.Cells[g_int_PosicionCampo_DataGridView_Excel_Orden].Value.ToString()));
                        }
                    }

                    str_Identificador_Anterior = str_Identificador;
                }

                //Despues Recorro los archivos para saber que solapas existen para marcarlas en el listado
                if (g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales != null &&
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales.Count > 0)
                {
                    List<INTERNO_Identificador_Descripcion_Modelo> lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales_CLON = new List<INTERNO_Identificador_Descripcion_Modelo>(g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales);

                    foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales_CLON)
                    {
                        //Esto seria para habrir los excel y extraer la informacion
                        Comprobar_Fichero_Excel_DatosIniciales(mdl_INTERNO_Identificador_Descripcion_Modelo);

                    }
                }
            }
            else
            {
                VaciarDatos_DatosIniciales("");
            }
        }
        public void Comprobar_Fichero_Excel_DatosIniciales(INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo)
        {
            try
            {
                //Antes de comprobar desmarco todos
                //Por si cambia la ruta del archivo
                VaciarDatos_DatosIniciales(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador);

                //si existe calculo sino no
                if (File.Exists(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion))
                {
                    //Esto seria para habrir los excel y extraer la informacion
                    OpenSettings o = new OpenSettings();
                    o.MarkupCompatibilityProcessSettings = new MarkupCompatibilityProcessSettings(MarkupCompatibilityProcessMode.ProcessLoadedPartsOnly, DocumentFormat.OpenXml.FileFormatVersions.Office2013);

                    SpreadsheetDocument obj_SpreadsheetDocument = SpreadsheetDocument.Open(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion, false, o);
                    WorkbookPart workbookPart = obj_SpreadsheetDocument.WorkbookPart;
                    List<Sheet> lst_Sheet = workbookPart.Workbook.Descendants<Sheet>().ToList();

                    //Primero añado la ruta a su identificador
                    (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_DatosIniciales.Rows.Cast<DataGridViewRow>()
                        .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value.ToString().Equals(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)
                               ).FirstOrDefault()).Cells[g_int_PosicionCampo_DataGridView_Excel_Ruta].Value = _mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion;

                    List<string> lst_SolapasDelExcel = lst_Sheet.Select(x => x.Name.InnerText).ToList();

                    // Recorro un listado de filas cuyo identificador exista para marcar como que existe
                    (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_DatosIniciales.Rows.Cast<DataGridViewRow>()
                        .Where(n => lst_SolapasDelExcel.Contains(n.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value))
                               ).ToList().ForEach(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value = g_str_ValorCelda_MARCADA);

                    //Actualizo el listado de rutas
                    Actualizar_Diccionario_Ruta_DatosIniciales(_mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador, _mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion, _mdl_INTERNO_Identificador_Descripcion_Modelo.Orden);
                }
            }
            catch (Exception ex)
            {
                //Aqui muestro un mensaje para indicar que el documento este abierto
                Mensajes.MostrarMensaje(Mensajes_TraspasoDatos.G_STR_MENSAJES_ERROR_DOCUMENTOABIERTO(_mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion), Mensajes_TraspasoDatos.G_STR_MENSAJES_TITULO_DOCUMENTOABIERTO());
                //Aqui desmarco todo
                VaciarDatos_DatosIniciales("");
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Comprobar_Fichero_Excel_DatosIniciales));
            }
        }
        #endregion

        public void Actualizar_Diccionario_Ruta_DatosIniciales(string _str_Identificador, string _str_Ruta, int _int_Orden)
        {
            try
            {
                if (g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales == null)
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales = new List<INTERNO_Identificador_Descripcion_Modelo>();
                }

                //si existe actualizo la ruta
                if (g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales.Exists(x => x.Identificador.Equals(_str_Identificador)))
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales.Where(x => x.Identificador.Equals(_str_Identificador)).FirstOrDefault().Descripcion = _str_Ruta;
                }
                //si no existe lo añado
                else
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales.Add(new INTERNO_Identificador_Descripcion_Modelo(_str_Identificador, _str_Ruta, _int_Orden));
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "" + nameof(Actualizar_Diccionario_Ruta_DatosIniciales));
            }
        }

        #endregion

        #region Importar
        public void Importar_Datos(INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO)
        {
            try
            {
                //Bloquear el formulario para que no se pueda hacer nada hasta que termine
                g_frm_P_TraspasoDato.Enabled = false;

                g_bol_Importar_Datos = false;

                //Mostrar la pantalla de espera
                g_frm_PE_Traspaso_BarraProgreso = new PE_Traspaso_BarraProgreso(Mensajes_TraspasoDatos.G_STR_MENSAJES_CORRECTO_IMPORTAR_TITULO(_mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Descripcion));

                //Si la tarea asincrona esta en marcha la paro
                if (g_obj_TareaAsincrona_Importar_Datos != null)
                {
                    while (g_obj_TareaAsincrona_Importar_Datos.IsBusy)
                        Application.DoEvents();
                }
                else
                {
                    g_obj_TareaAsincrona_Importar_Datos = new BackgroundWorker();
                    g_obj_TareaAsincrona_Importar_Datos.DoWork += new DoWorkEventHandler(TareaAsincrona_Importar_Datos_DoWork);
                    g_obj_TareaAsincrona_Importar_Datos.ProgressChanged += new ProgressChangedEventHandler(TareaAsincrona_Importar_Datos_ProgressChanged);
                    g_obj_TareaAsincrona_Importar_Datos.RunWorkerCompleted += new RunWorkerCompletedEventHandler(TareaAsincrona_Importar_Datos_Completed);
                    g_obj_TareaAsincrona_Importar_Datos.WorkerReportsProgress = true;
                }

                g_int_TotalDocumentosImportados_Importar = 0;
                g_int_TotalDocumentos_Importar = 0;
                g_frm_PE_Traspaso_BarraProgreso.PE_Traspaso_BarraProgreso_Total = g_int_TotalDocumentos_Importar;
                g_frm_PE_Traspaso_BarraProgreso.PE_Traspaso_BarraProgreso_Actualizar = g_int_TotalDocumentosImportados_Importar;

                //(Tarea Asincrona) Cargar Datos ##################################################################
                g_obj_TareaAsincrona_Importar_Datos.RunWorkerAsync(_mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO);
                //#################################################################################################

                g_frm_PE_Traspaso_BarraProgreso.ShowDialog();
            }
            catch (Exception ex)
            {
                g_frm_P_TraspasoDato.Enabled = true;
                g_bol_Termino_CargaDatos_Inicial = true;

                if (g_frm_PE_Traspaso_BarraProgreso != null)
                {
                    g_frm_PE_Traspaso_BarraProgreso.Close();
                    g_frm_PE_Traspaso_BarraProgreso = null;
                }

                throw new Control_Errores(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA(), ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Importar_Datos), true);
            }
        }
       
        private void TareaAsincrona_Importar_Datos_DoWork(object sender, DoWorkEventArgs e)
        {
            INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
            mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = true;
            INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO = null;

            try
            {
                //Argumentos
                mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO = (INTERNO_Identificador_Descripcion_Modelo)e.Argument;

                //Si el listado no esta vacio importamos el proyecto
                g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado = null;

                //DatosIniciales
                if (mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Identificador == Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_DATOSINICIALES.Identificador)
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado = Validacion(g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_DatosIniciales,
                                                                                                                 mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO);
                }
                //Mythos
                else if (mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Identificador==Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_MYTHOS.Identificador)
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado = Validacion(g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Mythos,
                                                                                                                 mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO);
                }
                //ExpedientesAgenda
                else if (mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Identificador == Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_EXPEPEDIENTESAGENDA.Identificador)
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado = Validacion(g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_ExpedientesAgenda_,
                                                                                                                 mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO);
                }
                //SigmaERP
                else
                {
                    g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado = Validacion(g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_SigmaERP,
                                                                                             mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO);
                }

               
                if (g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado != null &&
                   g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado.Count > 0)
                {
                    mdl_INTERNO_ValorDevuelto_Modelo = Importar(sender, mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO);
                }
            }
            catch (ThreadAbortException ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Importar_Datos_DoWork));

                mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_INTERNO_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            catch (Control_Errores)
            {
                mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_INTERNO_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Importar_Datos_DoWork));

                mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_INTERNO_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA();
            }
            finally
            {
                mdl_INTERNO_ValorDevuelto_Modelo.Objeto_Auxiliar_3 = mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO;

                e.Result = mdl_INTERNO_ValorDevuelto_Modelo;
            }
        }
        private void TareaAsincrona_Importar_Datos_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            try
            {
                //PAra la barra superior
                if (e.ProgressPercentage == 1)
                {
                    g_frm_PE_Traspaso_BarraProgreso.PE_Traspaso_BarraProgreso_Mensaje = e.UserState.ToString();

                    g_frm_PE_Traspaso_BarraProgreso.PE_Traspaso_BarraProgreso_Total = g_int_TotalDocumentos_Importar;
                    g_frm_PE_Traspaso_BarraProgreso.PE_Traspaso_BarraProgreso_Actualizar = g_int_TotalDocumentosImportados_Importar;
                }
                //para la barra inferior
                else if(e.ProgressPercentage == 2)
                {
                    g_frm_PE_Traspaso_BarraProgreso.PE_Traspaso_BarraProgreso_Secundaria_Mensaje = e.UserState.ToString();
                }
                else if(e.ProgressPercentage == 3)
                {
                    g_int_TotalFilasImportados_Importar += 1;

                    g_frm_PE_Traspaso_BarraProgreso.PE_Traspaso_BarraProgreso_Secundaria_Total = g_int_TotalFilas_Importar;
                    g_frm_PE_Traspaso_BarraProgreso.PE_Traspaso_BarraProgreso_Secundaria_Actualizar = g_int_TotalFilasImportados_Importar;
                }
                else if (e.ProgressPercentage == 4)
                {
                    g_int_TotalFilas_Importar = int.Parse(e.UserState.ToString());
                    g_int_TotalFilasImportados_Importar = 0;

                    g_frm_PE_Traspaso_BarraProgreso.PE_Traspaso_BarraProgreso_Secundaria_Total = g_int_TotalFilas_Importar;
                    g_frm_PE_Traspaso_BarraProgreso.PE_Traspaso_BarraProgreso_Secundaria_Actualizar = g_int_TotalFilasImportados_Importar;
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log(ex.Message, ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Importar_Datos_ProgressChanged));
            }
        }
        private void TareaAsincrona_Importar_Datos_Completed(object sender, RunWorkerCompletedEventArgs e)
        {
            if (g_frm_PE_Traspaso_BarraProgreso != null)
            {
                g_frm_PE_Traspaso_BarraProgreso.Close();
                g_frm_PE_Traspaso_BarraProgreso = null;
            }

            //Desbloquear el Formulario
            g_frm_P_TraspasoDato.Enabled = true;

            try
            {
                INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo_Resultado = (INTERNO_ValorDevuelto_Modelo)e.Result;

                //Mostrar si tuviera algun mensaje
                if (mdl_ValorDevuelto_Modelo_Resultado.TodoCorrecto == false)
                {
                    Mensajes.MostrarMensaje(mdl_ValorDevuelto_Modelo_Resultado.Mensaje);
                }
                else
                {
                    INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO = null;
                    if (mdl_ValorDevuelto_Modelo_Resultado.Objeto_Auxiliar_3!=null)
                    {
                        mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO=(INTERNO_Identificador_Descripcion_Modelo)mdl_ValorDevuelto_Modelo_Resultado.Objeto_Auxiliar_3;
                    }

                    //Si el log esta vacio muestro mensaje
                    if (Errores_Existen())
                    {
                        Mensajes.MostrarMensaje(Mensajes_TraspasoDatos.G_STR_MENSAJES_ERRORLOG_IMPORTAR((mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO != null ? mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Descripcion : "")), Mensajes_TraspasoDatos.G_STR_MENSAJES_CORRECTO_IMPORTAR_TITULO((mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO!=null ? mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Descripcion : "")));                        
                    }
                    else
                    {
                        Mensajes.MostrarMensaje(Mensajes_TraspasoDatos.G_STR_MENSAJES_CORRECTO_IMPORTAR((mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO != null ? mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Descripcion : "")), Mensajes_TraspasoDatos.G_STR_MENSAJES_CORRECTO_IMPORTAR_TITULO((mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO != null ? mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Descripcion : "")));
                    }
                    
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(TareaAsincrona_Importar_Datos_Completed));
                Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());

                g_frm_P_TraspasoDato.Salir_P_Base();
            }
            finally
            {
                g_bol_Importar_Datos= true;
            }
        }

        #region Errores
        private bool Errores_Existen()
        {
            bool bol_Existen_Errores = false;

            try
            {
                //Listado de Directorios
                List<string> lst_Directorios = Directory.EnumerateDirectories(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + Variables_TraspasoDatos.G_STR_CARPETA_LOG_Y_FECHA).ToList();
                if (lst_Directorios != null && lst_Directorios.Count > 0)
                {
                    foreach (string str_Directorio in lst_Directorios)
                    {
                        DirectoryInfo obj_Directorio = new DirectoryInfo(str_Directorio);
                        if (obj_Directorio.GetFiles()!=null  && obj_Directorio.GetFiles().Count()>0)
                        {
                            bol_Existen_Errores = true;
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Errores_Existen));
            }

            return bol_Existen_Errores;
        }
        #endregion

        private List<INTERNO_Identificador_Descripcion_Modelo> Validacion(List<INTERNO_Identificador_Descripcion_Modelo> _lst_INTERNO_Identificador_Descripcion_Modelo, INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO)
        {
            g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado = new List<INTERNO_Identificador_Descripcion_Modelo>();
            try
            {
                //DatosIniciales
                if (_mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Identificador == Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_DATOSINICIALES.Identificador)
                {
                    foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in _lst_INTERNO_Identificador_Descripcion_Modelo.OrderBy(m=>m.Orden))
                    {
                        List<DataGridViewRow> lst_DataGridViewRow = (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_DatosIniciales.Rows.Cast<DataGridViewRow>()
                                                                      .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value.Equals(mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)
                                                                                  )).ToList().Where(x => x.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value.ToString() == g_str_ValorCelda_MARCADA).ToList();
                        //Si el listado nio es nulo lo agrego al listado
                        if (lst_DataGridViewRow != null && lst_DataGridViewRow.Count > 0)
                        {
                            g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado.Add(mdl_INTERNO_Identificador_Descripcion_Modelo);
                        }
                    }
                }
                //Mythos
                else if (_mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Identificador==Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_MYTHOS.Identificador)
                {
                    foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in _lst_INTERNO_Identificador_Descripcion_Modelo.OrderBy(m => m.Orden))
                    {
                        List<DataGridViewRow> lst_DataGridViewRow = (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_Mythos.Rows.Cast<DataGridViewRow>()
                                                                      .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value.Equals(mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)
                                                                                  )).ToList().Where(x => x.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value.ToString() == g_str_ValorCelda_MARCADA).ToList();
                        //Si el listado nio es nulo lo agrego al listado
                        if (lst_DataGridViewRow != null && lst_DataGridViewRow.Count > 0)
                        {
                            g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado.Add(mdl_INTERNO_Identificador_Descripcion_Modelo);
                        }
                    }
                }
                //ExpedientesAgenda
                else if (_mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Identificador == Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_EXPEPEDIENTESAGENDA.Identificador)
                {
                    foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in _lst_INTERNO_Identificador_Descripcion_Modelo.OrderBy(m => m.Orden))
                    {

                        List<DataGridViewRow> lst_DataGridViewRow = (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_ExpedientesAgenda.Rows.Cast<DataGridViewRow>()
                                                                      .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value.Equals(mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)
                                                                                  )).ToList().Where(x => x.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value.ToString() == g_str_ValorCelda_MARCADA).ToList();
                        //Si el listado nio es nulo lo agrego al listado
                        if (lst_DataGridViewRow != null && lst_DataGridViewRow.Count > 0)
                        {
                            g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado.Add(mdl_INTERNO_Identificador_Descripcion_Modelo);
                        }
                    }
                }
                //SigmaERP
                else
                {
                    foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in _lst_INTERNO_Identificador_Descripcion_Modelo)
                    {
                        List<DataGridViewRow> lst_DataGridViewRow = (g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_SigmaERP.Rows.Cast<DataGridViewRow>()
                                                                      .Where(n => n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value.Equals(mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)
                                                                                  )).ToList().Where(x => x.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value.ToString() == g_str_ValorCelda_MARCADA).ToList();
                        //Si el listado nio es nulo lo agrego al listado
                        if (lst_DataGridViewRow != null && lst_DataGridViewRow.Count > 0)
                        {
                            g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado.Add(mdl_INTERNO_Identificador_Descripcion_Modelo);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Validacion));
            }
            return g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado;
        }


        private INTERNO_ValorDevuelto_Modelo Importar(object sender, INTERNO_Identificador_Descripcion_Modelo _mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO) 
        {
            INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
            mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = true;

            //Varibales
            List<INTERNO_Tabla_Modelo> lst_INTERNO_Tabla_Modelo = null;

            try
            {
                //Cuenta los documentos que hay y los añado a la barra de progreso
                g_int_TotalDocumentos_Importar = g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado.Count();

                Variables_TraspasoDatos.G_STR_CARPETA_LOG_Y_FECHA = Variables_TraspasoDatos.G_STR_CARPETA_LOG + @"\" + DateTime.Now.ToString("yyyyMMdd_HHmmss");

                //Si no existe la creo
                if (!Directory.Exists(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + Variables_TraspasoDatos.G_STR_CARPETA_LOG))
                {
                    try
                    {
                        //Creo la carperta LOG
                        Directory.CreateDirectory(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + Variables_TraspasoDatos.G_STR_CARPETA_LOG);

                    }
                    catch (Exception ex)
                    {
                        Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Importar));

                        mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
                        mdl_INTERNO_ValorDevuelto_Modelo.Mensaje = "El directorio y los ficheros con ruta '" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + Variables_TraspasoDatos.G_STR_CARPETA_LOG + "' debe estar cerrados.";
                    }
                }

                if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                {
                    //Borro la carpeta de LOG si existiera y la Creo
                    if (Directory.Exists(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + Variables_TraspasoDatos.G_STR_CARPETA_LOG_Y_FECHA))
                    {
                        try
                        {
                            Directory.Delete(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + Variables_TraspasoDatos.G_STR_CARPETA_LOG_Y_FECHA, true);
                        }
                        catch (Exception ex)
                        {
                            Control_Errores.Errores_Log("", ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Importar));

                            mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
                            mdl_INTERNO_ValorDevuelto_Modelo.Mensaje = "El directorio y los ficheros con ruta '" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + Variables_TraspasoDatos.G_STR_CARPETA_LOG_Y_FECHA + "' debe estar cerrados.";
                        }
                    }

                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        //Creo la carperta LOG
                        Directory.CreateDirectory(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + Variables_TraspasoDatos.G_STR_CARPETA_LOG_Y_FECHA);

                        XLWorkbook obj_XLWorkbook = null;

                        //ABRO LA CONEXION
                        if (g_obj_Funciones_Insertar.Abrir_Conexion())
                        {
                            //Borrar todos los Diccionarios
                            g_obj_Funciones_Insertar.Vaciar_Diccionarios();

                            //Recorro cada documento
                            foreach (INTERNO_Identificador_Descripcion_Modelo mdl_INTERNO_Identificador_Descripcion_Modelo in g_lst_INTERNO_Identificador_Descripcion_Modelo_Archivos_Validado)
                            {
                                // Actualizo la Barra de prograso Progreso #######
                                g_int_TotalDocumentosImportados_Importar += 1;
                                ((BackgroundWorker)sender).ReportProgress(1, mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador);
                                //##############################################

                                obj_XLWorkbook = new XLWorkbook(mdl_INTERNO_Identificador_Descripcion_Modelo.Descripcion, XLEventTracking.Disabled);


                                List<IXLWorksheet> lst_Solapas_Excel = obj_XLWorkbook.Worksheets.ToList();

                                //Relleno un lis con los identificadores de las solapas marcadas
                                List<DataGridViewRow> lst_DataGridViewRow = null;

                                //DatosIniciales
                                if (_mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Identificador == Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_DATOSINICIALES.Identificador)
                                {
                                    lst_DataGridViewRow = g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_DatosIniciales.Rows.Cast<DataGridViewRow>()
                                                                                                                                               .Where(n => (n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value.ToString().Equals(mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)) &&
                                                                                                                                                  (n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value.ToString().Equals(g_str_ValorCelda_MARCADA))
                                                                                                                                                     ).ToList();
                                }
                                //Mythos
                                else if (_mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Identificador == Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_MYTHOS.Identificador)
                                {
                                    lst_DataGridViewRow = g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_Mythos.Rows.Cast<DataGridViewRow>()
                                                                                                                                               .Where(n => (n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value.ToString().Equals(mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)) &&
                                                                                                                                                  (n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value.ToString().Equals(g_str_ValorCelda_MARCADA))
                                                                                                                                                     ).ToList();
                                }
                                //ExpedientesAgenda
                                else if (_mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Identificador == Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCELS_EXPEPEDIENTESAGENDA.Identificador)
                                {
                                    lst_DataGridViewRow = g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_ExpedientesAgenda.Rows.Cast<DataGridViewRow>()
                                                                                                                                               .Where(n => (n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value.ToString().Equals(mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)) &&
                                                                                                                                                  (n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value.ToString().Equals(g_str_ValorCelda_MARCADA))
                                                                                                                                                     ).ToList();
                                }
                                //SigmaERP
                                else
                                {
                                    lst_DataGridViewRow = g_frm_P_TraspasoDato.Exferia_DataGridView_Excels_SigmaERP.Rows.Cast<DataGridViewRow>()
                                                                                                                                               .Where(n => (n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_IdentificadorPadre].Value.ToString().Equals(mdl_INTERNO_Identificador_Descripcion_Modelo.Identificador)) &&
                                                                                                                                                  (n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar] != null && n.Cells[g_int_PosicionCampo_DataGridView_Excel_Importar].Value.ToString().Equals(g_str_ValorCelda_MARCADA))
                                                                                                                                                     ).ToList();
                                }

                                List<string> lst_Solapas_Marcadas = null;
                                if (lst_DataGridViewRow != null)
                                {
                                    lst_Solapas_Marcadas = lst_DataGridViewRow.Select(m => m.Cells[g_int_PosicionCampo_DataGridView_Excel_Identificador].Value).ToList().Cast<string>().ToList();
                                }

                                if (lst_Solapas_Marcadas != null && lst_Solapas_Marcadas.Count > 0)
                                {
                                    lst_Solapas_Excel = lst_Solapas_Excel.Where(x => lst_Solapas_Marcadas.Contains(x.Name)).ToList();

                                    //Recorro cada solapa
                                    foreach (IXLWorksheet obj_IXLWorksheet in lst_Solapas_Excel)
                                    {
                                        //######Actualizo la Barra de progreso secundaria
                                        g_int_TotalFilasImportados_Importar = 0;
                                        //###############################################

                                        //Inicializo el listado que contendra todo los modelos de la tabla a insertar
                                        //RELLENO el listado
                                        lst_INTERNO_Tabla_Modelo = Rellenar_Listado_Modelo(obj_IXLWorksheet);

                                        //Si el listado no es nulo y contiene algun modelo
                                        //Miramos de que tabla es y insertamos
                                        if (lst_INTERNO_Tabla_Modelo != null &&
                                            lst_INTERNO_Tabla_Modelo.Count() > 0)
                                        {
                                            //asigno el nombre de la solapa para mostrarlo en la pantalla de espera personalizada
                                            g_int_TotalFilas_Importar = lst_INTERNO_Tabla_Modelo.Count();
                                            ((BackgroundWorker)sender).ReportProgress(2, obj_IXLWorksheet.Name);

                                            #region 01 - PREVIOS 
                                            //MAE_TELEFONOSTIPOS
                                            if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_TELEFONOSTIPOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_TelefonosTipos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_TELEFONOSTIPOS);
                                            }
                                            //MAE_DEPARTAMENTOSEXTERNOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_DEPARTAMENTOSEXTERNOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_DepartamentosExternos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_DEPARTAMENTOSEXTERNOS);
                                            }
                                            //MAE_CATEGORIASPROFESIONALES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_CATEGORIASPROFESIONALES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_CategoriasProfesionales(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_CATEGORIASPROFESIONALES);
                                            }
                                            //MAE_ABONOSTIPOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_ABONOSTIPOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_AbonosTipos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_ABONOSTIPOS);
                                            }
                                            //MAE_Cargos
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_CARGOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Cargos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_CARGOS);
                                            }
                                            //MAE_MotivosAltaBaja
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_MOTIVOSALTABAJA.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_MotivosAltaBaja(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_MAE_MOTIVOSALTABAJA);
                                            }
                                            //MAE_FormasPago
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_FORMASDEPAGO.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_FormasDePago(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_FORMASDEPAGO);
                                            }
                                            //MAE_TiposPagos
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_TIPOSPAGOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_TiposPagos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_SOLAPA_TIPOSPAGOS);
                                            }
                                            #endregion

                                            #region 02 - DATOS INICIALES 
                                            //GEN_PAISES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_PAISES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_Paises(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_PAISES);
                                            }
                                            //GEN_ADMINISTRACIONES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_ADMINISTRACIONES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_Administraciones(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_ADMINISTRACIONES);
                                            }
                                            //GEN_TIPOSVIAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_TIPOSVIAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_TiposVias(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_TIPOSVIAS);
                                            }
                                            //GEN_PROVINCIAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_PROVINCIAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_Provincias(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_PROVINCIAS);
                                            }
                                            //GEN_MUNICIPIOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_MUNICIPIOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_Municipios(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_MUNICIPIOS);
                                            }
                                            //GEN_POBLACIONES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_POBLACIONES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_Poblaciones(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_POBLACIONES);
                                            }
                                            //GEN_ENTIDADESBANCARIAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_ENTIDADESBANCARIAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_EntidadesBancarias(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_ENTIDADESBANCARIAS);
                                            }
                                            //GEN_MONEDAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_MONEDAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_Monedas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_MONEDAS);
                                            }
                                            //CTP_CPV
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTP_CPV.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTP_CPV(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTP_CPV);
                                            }
                                            //CTA_PLANGENERALCONTABLE
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PLANGENERALCONTABLE.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_PlanGeneralContable(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PLANGENERALCONTABLE);
                                            }
                                            //CTA_MAYOR
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_MAYOR.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_Mayor(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_MAYOR);
                                            }
                                            //CTA_PREDEFINIDOSFICHEROS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSFICHEROS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_PredefinidosFicheros(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSFICHEROS);
                                            }
                                            //CTA_PREDEFINIDOSCUENTAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSCUENTAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_PredefinidosCuentas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSCUENTAS);
                                            }
                                            //CTA_PREDEFINIDOSFECHAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSFECHAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_PredefinidosFechas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSFECHAS);
                                            }
                                            //CTA_PREDEFINIDOSIMPORTES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSIMPORTES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_PredefinidosImportes(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSIMPORTES);
                                            }
                                            //CTA_PREDEFINIDOSCONCEPTOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSCONCEPTOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_PredefinidosConceptos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSCONCEPTOS);
                                            }
                                            //CTA_PREDEFINIDOSAUXILIARES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSAUXILIARES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_PredefinidosAuxiliares(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSAUXILIARES);
                                            }
                                            //CTA_PREDEFINIDOSDEPARTAMENTOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSDEPARTAMENTOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_PredefinidosDepartamentos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSDEPARTAMENTOS);
                                            }
                                            //CTA_PREDEFINIDOSCABECERAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSCABECERAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_PredefinidosCabeceras(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSCABECERAS);
                                            }
                                            //CTA_PREDEFINIDOSPORDEFECTO
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSPORDEFECTO.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_PredefinidosPorDefecto(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_CTA_PREDEFINIDOSPORDEFECTO);
                                            }
                                            //MAE_NOMENCLATURAPRECIOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_MAE_NOMENCLATURAPRECIOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_NomenclaturasPrecios(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_MAE_NOMENCLATURAPRECIOS);
                                            }
                                            //MAE_TELEFONOSTIPOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_MAE_TELEFONOSTIPOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_TelefonosTipos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_MAE_TELEFONOSTIPOS);
                                            }
                                            //GEN_TIPOSCOMPRAVENTA
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_TIPOSCOMPRAVENTA.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_TiposCompraVenta(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_TIPOSCOMPRAVENTA);
                                            }
                                            //MAE_EMBALAJES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_MAE_EMBALAJES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Embalajes(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_MAE_EMBALAJES);
                                            }
                                            //MAE_MEDIDAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_MAE_MEDIDAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Medidas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_MAE_MEDIDAS);
                                            }
                                            //GEN_DELEGACIONES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_DELEGACIONES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_Delegaciones(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_DELEGACIONES);
                                            }
                                            //GEN_ALMACENES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_ALMACENES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_Almacenes(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_DATOSINICIALES_SOLAPA_GEN_ALMACENES);
                                            }
                                            #endregion

                                            #region 03 - PREVIOS ARTICULOS 
                                            //MAE_MEDIDAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_MEDIDAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Medidas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_MEDIDAS);
                                            }
                                            //MAE_NOMENCLATURASPRECIOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_NOMENCLATURASPRECIOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_NomenclaturasPrecios(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_NOMENCLATURASPRECIOS);
                                            }
                                            //MAE_TIPOSPRODUCTOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_TIPOSPRODUCTOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_TiposProductos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_TIPOSPRODUCTOS);
                                            }
                                            //MAE_UBICACIONESPERFILES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_UBICACIONESPERFILES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_UbicacionesPerfiles(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_UBICACIONESPERFILES);
                                            }
                                            //MAE_EMBALAJES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_EMBALAJES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Embalajes(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_EMBALAJES);
                                            }
                                            //MAE_TIPOSVARIACIONESEXISTENCIAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_TIPOSVARIACIONESEXISTENCIAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_TiposVariacionesExistencias(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_TIPOSVARIACIONESEXISTENCIAS);
                                            }
                                            //MAE_ARTICULOSTOTALIZADOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_ARTICULOSTOTALIZADOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_ArticulosTotalizados(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_ARTICULOS_SOLAPA_MAE_ARTICULOSTOTALIZADOS);
                                            }
                                            #endregion

                                            #region 04 - PREVIOS CONTABILIDAD 
                                            //CTA_DEPARTAMENTOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_DEPARTAMENTOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_Departamentos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_DEPARTAMENTOS);
                                            }
                                            //CTA_MAYOR
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_MAYOR.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_Mayor(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_MAYOR);
                                            }
                                            //CTA_MAYORAUXILIAR
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_MAYORAUXILIAR.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_MayorAuxiliar(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_MAYORAUXILIAR);
                                            }
                                            //CTA_CONCEPTOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_CONCEPTOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_Concepto(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_CONCEPTOS);
                                            }
                                            //CTA_CLAVEANALITICA
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_CLAVESANALITICAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_ClaveAnalitica(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_CLAVESANALITICAS);
                                            }
                                            //CTA_INMOVILIZADOSMOTIVOSBAJA
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_INMOVILIZADOSMOTIVOSBAJA.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_InmovilizadosMotivosBaja(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_CONTABILIDAD_SOLAPA_CTA_INMOVILIZADOSMOTIVOSBAJA);
                                            }
                                            #endregion

                                            #region 05 - PREVIOS IMPUESTOS 
                                            //GEN_IMPUESTOSCABECERA
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS_SOLAPA_GEN_IMPUESTOSCABECERA.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_ImpuestosCabecera(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS_SOLAPA_GEN_IMPUESTOSCABECERA);
                                            }
                                            //GEN_IMPUESTOSTIPOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS_SOLAPA_GEN_IMPUESTOSTIPOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_ImpuestosTipos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS_SOLAPA_GEN_IMPUESTOSTIPOS);
                                            }
                                            //GEN_IMPUESTOSLINEAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS_SOLAPA_GEN_IMPUESTOSLINEAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_ImpuestosLineas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS_SOLAPA_GEN_IMPUESTOSLINEAS);
                                            }
                                            //GEN_RETENCIONESTIPOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS_SOLAPA_GEN_RETENCIONESTIPOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_RetencionesTipos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS_SOLAPA_GEN_RETENCIONESTIPOS);
                                            }
                                            //GEN_RETENCIONES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS_SOLAPA_GEN_RETENCIONES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_Retenciones(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_IMPUESTOS_SOLAPA_GEN_RETENCIONES);
                                            }
                                            #endregion

                                            #region 07 - PREVIOS VARIOS 
                                            //EMPLEADOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_EMPLEADOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_Empleado(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_EMPLEADOS);
                                            }
                                            //MAE_VENDEDORES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_MAE_VENDEDORES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Vendedores(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_MAE_VENDEDORES);
                                            }
                                            //MAE_TESORERIAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_MAE_TESORERIAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Tesorerias(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_MAE_TESORERIAS);
                                            }
                                            //GEN_DELEGACIONES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_GEN_DELEGACIONES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_Delegaciones(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_GEN_DELEGACIONES);
                                            }
                                            //GEN_ALMACENES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_GEN_ALMACENES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_GEN_Almacenes(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_GEN_ALMACENES);
                                            }
                                            //MAE_UBICACIONES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_MAE_UBICACIONES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Ubicaciones(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_VARIOS_SOLAPA_MAE_UBICACIONES);
                                            }
                                            #endregion

                                            #region 08 - PREVIOS MYTHOS 
                                            //MYT_ADMINISTRADORES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_ADMINISTRADORES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_Administradores(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_ADMINISTRADORES);
                                            }
                                            //MYT_EMPRESASINSTALADORAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_EMPRESASINSTALADORAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_EmpresaInstaladora(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_EMPRESASINSTALADORAS);
                                            }
                                            //MYT_INSTALACIONESUSOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_INSTALACIONESUSOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_InstalacionesUsos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_INSTALACIONESUSOS);
                                            }
                                            //MYT_INSTALACIONESESTADOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_INSTALACIONESESTADOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_InstalacionesEstados(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_INSTALACIONESESTADOS);
                                            }
                                            //MYT_TIPOSCONTRATOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_TIPOSCONTRATOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_TiposContratos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_TIPOSCONTRATOS);
                                            }
                                            //MYT_TECNICOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_TECNICOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_Tecnicos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PREVIOS_MYTHOS_SOLAPA_MYT_TECNICOS);
                                            }
                                            #endregion

                                            #region 21 - AGRUPACIONES 
                                            //AGRUPACIONCLIENTE
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGRUPACIONES_SOLAPA_AGRUPACIONCLIENTES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_AgrupacionClientes(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGRUPACIONES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGRUPACIONES_SOLAPA_AGRUPACIONCLIENTES);
                                            }
                                            //AGRUPACIONPROVEEDOR
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGRUPACIONES_SOLAPA_AGRUPACIONPROVEEDORES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_AgrupacionProveedore(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGRUPACIONES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGRUPACIONES_SOLAPA_AGRUPACIONPROVEEDORES);
                                            }
                                            //AGRUPACIONARTICULO
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGRUPACIONES_SOLAPA_AGRUPACIONARTICULOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_AgrupacionArticulos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGRUPACIONES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGRUPACIONES_SOLAPA_AGRUPACIONARTICULOS);
                                            }
                                            #endregion

                                            #region 31 - CLIENTES 
                                            //CLIENTES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CLIENTES_SOLAPA_CLIENTES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Clientes(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CLIENTES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CLIENTES_SOLAPA_CLIENTES);
                                            }
                                            //AGRUPACIONESCLIENTES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CLIENTES_SOLAPA_AGRUPACINCLIENTES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Clientes_AgrupacionesClientesLineas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CLIENTES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CLIENTES_SOLAPA_AGRUPACINCLIENTES);
                                            }
                                            //MAE_CUENTASBANCARIASSEPA_COBROS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CLIENTES_SOLAPA_MAE_CUENTASBANCARIASSEPA_COBROS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_CuentasBancariasSEPA_Cobros(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CLIENTES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CLIENTES_SOLAPA_MAE_CUENTASBANCARIASSEPA_COBROS);
                                            }
                                            #endregion

                                            #region 41 - PROVEEDORES 
                                            //PROVEEDORES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PROVEEDORES_SOLAPA_PROVEEDORES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Proveedores(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PROVEEDORES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PROVEEDORES_SOLAPA_PROVEEDORES);
                                            }
                                            //MAE_CUENTASBANCARIASSEPA_PAGOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PROVEEDORES_SOLAPA_MAE_CUENTESBANCARIASSEPA_PAGOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_CuentasBancariasSEPA_Pagos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PROVEEDORES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PROVEEDORES_SOLAPA_MAE_CUENTESBANCARIASSEPA_PAGOS);
                                            }
                                            //AGRUPACIONESPROVEEDORES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PROVEEDORES_SOLAPA_AGRUPACIONESPROVEEDORES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Proveedores_AgrupacionesProveedoresLineas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PROVEEDORES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PROVEEDORES_SOLAPA_AGRUPACIONESPROVEEDORES);
                                            }
                                            #endregion

                                            #region 51 - ARTICULO 
                                            //MAE_ARTICULOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Articulos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOS);
                                            }
                                            //MAE_ARTICULOSCOMODIN
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOSCOMODIN.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_ArticulosComodin(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOSCOMODIN);
                                            }
                                            //MAE_ARTICULOS_EMBALAJES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOS_EMBALAJES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Articulos_Embalajes(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOS_EMBALAJES);
                                            }
                                            //ARTICULOSEMBALAJEPRINCIPAL
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_ARTICULOSEMBALAJESPRINCIPAL.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_ArticulosEmbalajePrincipal(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_ARTICULOSEMBALAJESPRINCIPAL);
                                            }
                                            //MAE_ARTICULOS_AGRUAPCIONESARTICULOSLINEAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOS_AGRUPACIONESARTICULOSLINEAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Articulos_AgrupacionesArticulosLineas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOS_AGRUPACIONESARTICULOSLINEAS);
                                            }
                                            //MAE_ARTICULOS_TRAZABILIDAD
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOS_TRAZABILIDAD.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_Articulos_Trazabilidad(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOS_TRAZABILIDAD);
                                            }
                                            //MAE_ARTICULOSCODIGOSBARRAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOSCODIGOSBARRAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_MAE_ArticulosCodigosBarras(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_ARTICULOS_SOLAPA_MAE_ARTICULOSCODIGOSBARRAS);
                                            }
                                            #endregion

                                            #region 54 - INSTALACIONES 
                                            //MYT_PlanMantenimientosCabeceras
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INSTALACIONES_SOLAPA_PLANESDEMANTENIMIENTO.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_PlanMantenimientos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INSTALACIONES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INSTALACIONES_SOLAPA_PLANESDEMANTENIMIENTO);
                                            }
                                            //MYT_InstalacionesCabecera
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INSTALACIONES_SOLAPA_INSTALACIONES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_InstalacionesCabecera(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INSTALACIONES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INSTALACIONES_SOLAPA_INSTALACIONES);
                                            }
                                            #endregion

                                            #region 61 - INVENTARIOS 
                                            //INVENTARIOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INVENTARIO_SOLAPA_INVENTARIO.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_Inventarios(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INVENTARIO, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INVENTARIO_SOLAPA_INVENTARIO);
                                            }
                                            //VARIACIONESEXISTENCIAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INVENTARIO_SOLAPA_VARIACIONEXISTENCIAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_VariacionesExistencias(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INVENTARIO, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_INVENTARIO_SOLAPA_VARIACIONEXISTENCIAS);
                                            }
                                            #endregion

                                            #region 68 - PARTES 
                                            //MYT_Partes
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PARTES_SOLAPA_PARTES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_Partes(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PARTES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_PARTES_SOLAPA_PARTES);
                                            }
                                            #endregion

                                            #region 69 - COMPRAS 
                                            //SOLICITUDESOFERTAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS_SOLAPA_SOLICITUDESOFERTAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_SolicitudesDeOfertas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS_SOLAPA_SOLICITUDESOFERTAS);
                                            }
                                            //PEDIDOSCOMPRA
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS_SOLAPA_PEDIDOSCOMPRA.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_PedidosdeCompra(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS_SOLAPA_PEDIDOSCOMPRA);
                                            }
                                            //ENTRADASMERCANCIA
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS_SOLAPA_ENTRADASMERCANCIA.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_EntradasMercancia(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS_SOLAPA_ENTRADASMERCANCIA);
                                            }
                                            //FACTURASCOMPRAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS_SOLAPA_FACTURASCOMPRAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_FacturasCompras(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS_SOLAPA_FACTURASCOMPRAS);
                                            }
                                            //CARTERAPAGOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS_SOLAPA_CARTERAPAGOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CarteraPagos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_COMPRAS_SOLAPA_CARTERAPAGOS);
                                            }
                                            #endregion

                                            #region 79 - VENTAS 
                                            //PRESUPUESTOVENTAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS_SOLAPA_PRESUPUESTOSVENTAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_PresupuestosVentas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS_SOLAPA_PRESUPUESTOSVENTAS);
                                            }
                                            //PEDIDOSVENTAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS_SOLAPA_PEDIDOSVENTAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_PedidosVentas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS_SOLAPA_PEDIDOSVENTAS);
                                            }
                                            //CARTERAVENTAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS_SOLAPA_CARTERAVENTAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CarteraVentas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS_SOLAPA_CARTERAVENTAS);
                                            }
                                            //REMESAVENTA
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS_SOLAPA_REMESASVENTA.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_RemesasVenta(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS_SOLAPA_REMESASVENTA);
                                            }
                                            //ALBARAFACTURAVENTA
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS_SOLAPA_ALBARAFACTURAVENTA.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_AlbaranesFacturas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_VENTAS_SOLAPA_ALBARAFACTURAVENTA);
                                            }
                                            #endregion

                                            #region 85 - CONTABILIDAD 
                                            //CTA_INMOVILIZADOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD_SOLAPA_CTA_INMOVILIZADOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_CTA_Inmovilizados(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD_SOLAPA_CTA_INMOVILIZADOS);
                                            }
                                            //AMORTIZACIONES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD_SOLAPA_AMORTIZACIONES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_Amortizaciones(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD_SOLAPA_AMORTIZACIONES);
                                            }
                                            //PREVOLCADOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD_SOLAPA_PREVOLCADOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_Prevolcados(lst_INTERNO_Tabla_Modelo,sender,Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD,Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD_SOLAPA_PREVOLCADOS);
                                            }
                                            //LIBRODIARIO
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD_SOLAPA_LIBRODIARIO.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_LibroDiario(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_CONTABILIDAD_SOLAPA_LIBRODIARIO);
                                            }
                                            #endregion

                                            #region 101 - EXPEDIENTES 
                                            //ACTORES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_ACTORES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_EPD_Actores(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_ACTORES);
                                            }
                                            //ASESORES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_ASESORES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_EPD_Asesores(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_ASESORES);
                                            }
                                            //CITACIONES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_CITACIONES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_EPD_Citaciones(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_CITACIONES);
                                            }
                                            //JUZGADOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_JUZGADOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_EPD_Juzgados(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_JUZGADOS);
                                            }
                                            //DEMANDADOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_DEMANDADOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_EPD_Demandados(lst_INTERNO_Tabla_Modelo,sender,Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES,Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_DEMANDADOS);
                                            }
                                            //EXPEDIENTES
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_EXPEDIENTES.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_EPD_Expedientes(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_EXPEDIENTES);
                                            }
                                            //MATERIAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_MATERIAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_EPD_Materias(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_MATERIAS);
                                            }
                                            //PROCEDIMIENTOS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_PROCEDIMIENTOS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_EPD_Procedimientos(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_EXPEDIENTES_SOLAPA_EPD_PROCEDIMIENTOS);
                                            }
                                            #endregion

                                            #region 110 - AGENDA 
                                            //AGD_CITAS
                                            else if (obj_IXLWorksheet.Name.Equals(Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGENDA_SOLAPA_AGD_CITAS.Identificador))
                                            {
                                                //Funcion que comprueba si ya existe en base de datos e inserta los registros
                                                g_obj_Funciones_Insertar.Insertar_AGD_Citas(lst_INTERNO_Tabla_Modelo, sender, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGENDA, Variables_TraspasoDatos.G_MDL_INTERNO_IDENTIFICADOR_DESCRIPCION_MODELO_EXCEL_AGENDA_SOLAPA_AGD_CITAS);
                                            }
                                            
                                            #endregion

                                            //Vaciamos el listado y liberamos memoria
                                            lst_INTERNO_Tabla_Modelo.Clear();
                                            lst_INTERNO_Tabla_Modelo = null;
                                        }
                                    }
                                }

                                //Liberamos la memoria del elemaento
                                obj_XLWorkbook.Dispose();
                            }
                        }

                        //CIERRO LA CONEXION
                        g_obj_Funciones_Insertar.Cerrar_Conexion();
                    }
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log(ex.Message, ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Importar));
                mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_INTERNO_ValorDevuelto_Modelo.Mensaje = Mensajes_TraspasoDatos.G_STR_MENSAJES_ERROR_IMPORTAR(_mdl_INTERNO_Identificador_Descripcion_Modelo_PRODUCTO.Descripcion);
            }

            return mdl_INTERNO_ValorDevuelto_Modelo;
        }

        private List<INTERNO_Tabla_Modelo> Rellenar_Listado_Modelo(IXLWorksheet _obj_IXLWorksheet)
        {
            List<INTERNO_Tabla_Modelo> lst_INTERNO_Tabla_Modelo = new List<INTERNO_Tabla_Modelo>();
            int int_NumeroColumnas = 0;

            try
            {
                //Obtengo solo las filas que contengan algo
                List<IXLRow> lst_Filas = _obj_IXLWorksheet.RowsUsed().ToList();

                //Numero de columnas
                int_NumeroColumnas = lst_Filas[0].Cells().Count();

                //Filas
                for (int int_Contador_Filas = 1; int_Contador_Filas < lst_Filas.Count(); int_Contador_Filas++)
                {
                    
                    INTERNO_Tabla_Modelo mdl_INTERNO_Tabla_Modelo = new INTERNO_Tabla_Modelo();

                    mdl_INTERNO_Tabla_Modelo.NumeroLinea = (int_Contador_Filas + 1).ToString();

                    //Celdas
                    for (int int_Contador_Celda = 1; int_Contador_Celda <= int_NumeroColumnas; int_Contador_Celda++)
                    {
                        object obj_ContenidoDeCelda = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;

                        //Celda 1 se guarda en el obejeto_1
                        if (int_Contador_Celda == 1)
                        {
                            
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_1 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_1 = null;
                            }
                            
                        }
                        //Celda 2 se guarda en el obejeto_2
                        else if (int_Contador_Celda == 2)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_2 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_2 = null;
                            }
                        }
                        //Celda 3 se guarda en el obejeto_3
                        else if (int_Contador_Celda == 3)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_3 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_3 = null;
                            }
                        }
                        //Celda 4 se guarda en el obejeto_4
                        else if (int_Contador_Celda == 4)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_4 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_4 = null;
                            }
                        }
                        //Celda 5 se guarda en el obejeto_5
                        else if (int_Contador_Celda == 5)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_5 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_5 = null;
                            }
                        }
                        //Celda 6 se guarda en el obejeto_6
                        else if (int_Contador_Celda == 6)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_6 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_6 = null;
                            }
                        }
                        //Celda 7 se guarda en el obejeto_7
                        else if (int_Contador_Celda == 7)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_7 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_7 = null;
                            }
                        }
                        //Celda 8 se guarda en el obejeto_8
                        else if (int_Contador_Celda == 8)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_8 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_8 = null;
                            }
                        }
                        //Celda 9 se guarda en el obejeto_9
                        else if (int_Contador_Celda == 9)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_9 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_9 = null;
                            }
                        }
                        //Celda 10 se guarda en el obejeto_10
                        else if (int_Contador_Celda == 10)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_10 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_10 = null;
                            }
                        }
                        //Celda 11 se guarda en el obejeto_11
                        else if (int_Contador_Celda == 11)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_11 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_11 = null;
                            }
                        }
                        //Celda 12 se guarda en el obejeto_12
                        else if (int_Contador_Celda == 12)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_12 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_12 = null;
                            }
                        }
                        //Celda 13 se guarda en el obejeto_13
                        else if (int_Contador_Celda == 13)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_13 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_13 = null;
                            }
                        }
                        //Celda 14 se guarda en el obejeto_14
                        else if (int_Contador_Celda == 14)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_14 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_14 = null;
                            }
                        }
                        //Celda 15 se guarda en el obejeto_15
                        else if (int_Contador_Celda == 15)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_15 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_15 = null;
                            }
                        }
                        //Celda 16 se guarda en el obejeto_16
                        else if (int_Contador_Celda == 16)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_16 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_16 = null;
                            }
                        }
                        //Celda 17 se guarda en el obejeto_17
                        else if (int_Contador_Celda == 17)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_17 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_17 = null;
                            }
                        }
                        //Celda 18 se guarda en el obejeto_18
                        else if (int_Contador_Celda == 18)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_18 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_18 = null;
                            }
                        }
                        //Celda 19 se guarda en el obejeto_19
                        else if (int_Contador_Celda == 19)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_19 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_19 = null;
                            }
                        }
                        //Celda 20 se guarda en el obejeto_20
                        else if (int_Contador_Celda == 20)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_20 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_20 = null;
                            }
                        }
                        //Celda 21 se guarda en el obejeto_21
                        else if (int_Contador_Celda == 21)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_21 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_21 = null;
                            }
                        }
                        //Celda 22 se guarda en el obejeto_22
                        else if (int_Contador_Celda == 22)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_22 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_22 = null;
                            }
                        }
                        //Celda 23 se guarda en el obejeto_23
                        else if (int_Contador_Celda == 23)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_23 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_23 = null;
                            }
                        }
                        //Celda 24 se guarda en el obejeto_24
                        else if (int_Contador_Celda == 24)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_24 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_24 = null;
                            }
                        }
                        //Celda 25 se guarda en el obejeto_25
                        else if (int_Contador_Celda == 25)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_25 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_25 = null;
                            }
                        }
                        //Celda 26 se guarda en el obejeto_26
                        else if (int_Contador_Celda == 26)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_26 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_26 = null;
                            }
                        }
                        //Celda 27 se guarda en el obejeto_27
                        else if (int_Contador_Celda == 27)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_27 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_27 = null;
                            }
                        }
                        //Celda 28 se guarda en el obejeto_28
                        else if (int_Contador_Celda == 28)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_28 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_28 = null;
                            }
                        }
                        //Celda 29 se guarda en el obejeto_29
                        else if (int_Contador_Celda == 29)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_29 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_29 = null;
                            }
                        }
                        //Celda 30 se guarda en el obejeto_30
                        else if (int_Contador_Celda == 30)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_30 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_30 = null;
                            }
                        }
                        //Celda 31 se guarda en el obejeto_31
                        else if (int_Contador_Celda == 31)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_31 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_31 = null;
                            }
                        }
                        //Celda 32 se guarda en el obejeto_32
                        else if (int_Contador_Celda == 32)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_32 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_32 = null;
                            }
                        }
                        //Celda 33 se guarda en el obejeto_33
                        else if (int_Contador_Celda == 33)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_33 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_33 = null;
                            }
                        }
                        //Celda 34 se guarda en el obejeto_34
                        else if (int_Contador_Celda == 34)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_34 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_34 = null;
                            }
                        }
                        //Celda 35 se guarda en el obejeto_35
                        else if (int_Contador_Celda == 35)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_35 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_35 = null;
                            }
                        }
                        //Celda 36 se guarda en el obejeto_36
                        else if (int_Contador_Celda == 36)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_36 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_36 = null;
                            }
                        }
                        //Celda 37 se guarda en el obejeto_37
                        else if (int_Contador_Celda == 37)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_37 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_37 = null;
                            }
                        }
                        //Celda 38 se guarda en el obejeto_38
                        else if (int_Contador_Celda == 38)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_38 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_38 = null;
                            }
                        }
                        //Celda 39 se guarda en el obejeto_39
                        else if (int_Contador_Celda == 39)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_39 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_39 = null;
                            }
                        }
                        //Celda 40 se guarda en el obejeto_40
                        else if (int_Contador_Celda == 40)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_40 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_40 = null;
                            }
                        }
                        //Celda 41 se guarda en el obejeto_41
                        else if (int_Contador_Celda == 41)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_41 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_41 = null;
                            }
                        }
                        //Celda 42 se guarda en el obejeto_42
                        else if (int_Contador_Celda == 42)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_42 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_42 = null;
                            }
                        }
                        //Celda 43 se guarda en el obejeto_43
                        else if (int_Contador_Celda == 43)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_43 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_43 = null;
                            }
                        }
                        //Celda 44 se guarda en el obejeto_44
                        else if (int_Contador_Celda == 44)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_44 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_44 = null;
                            }
                        }
                        //Celda 45 se guarda en el obejeto_45
                        else if (int_Contador_Celda == 45)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_45 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_45 = null;
                            }
                        }
                        //Celda 46 se guarda en el Objeto_46
                        else if (int_Contador_Celda == 46)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_46 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_46 = null;
                            }
                        }
                        //Celda 47 se guarda en el obejeto_47
                        else if (int_Contador_Celda == 47)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_47 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_47 = null;
                            }
                        }
                        //Celda 48 se guarda en el obejeto_48
                        else if (int_Contador_Celda == 48)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_48 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_48 = null;
                            }
                        }
                        //Celda 49 se guarda en el Objeto_49
                        else if (int_Contador_Celda == 49)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_49 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_49 = null;
                            }
                        }
                        //Celda 50 se guarda en el Objeto_50
                        else if (int_Contador_Celda == 50)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_50 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_50 = null;
                            }
                        }
                        //Celda 51 se guarda en el Objeto_51
                        else if (int_Contador_Celda == 51)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_51 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_51 = null;
                            }
                        }
                        //Celda 52 se guarda en el Objeto_52
                        else if (int_Contador_Celda == 52)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_52 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_52 = null;
                            }
                        }
                        //Celda 53 se guarda en el Objeto_53
                        else if (int_Contador_Celda == 53)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_53 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_53 = null;
                            }
                        }
                        //Celda 54 se guarda en el Objeto_54
                        else if (int_Contador_Celda == 54)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_54 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_54 = null;
                            }
                        }
                        //Celda 55 se guarda en el Objeto_55
                        else if (int_Contador_Celda == 55)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_55 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_55 = null;
                            }
                        }
                        //Celda 56 se guarda en el Objeto_56
                        else if (int_Contador_Celda == 56)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_56 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_56 = null;
                            }
                        }
                        //Celda 57 se guarda en el Objeto_57
                        else if (int_Contador_Celda == 57)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_57 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_57 = null;
                            }
                        }
                        //Celda 58 se guarda en el Objeto_58
                        else if (int_Contador_Celda == 58)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_58 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_58 = null;
                            }
                        }
                        //Celda 59 se guarda en el Objeto_59
                        else if (int_Contador_Celda == 59)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_59 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_59 = null;
                            }
                        }
                        //Celda 60 se guarda en el Objeto_60
                        else if (int_Contador_Celda == 60)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_60 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_60 = null;
                            }
                        }
                        //Celda 61 se guarda en el Objeto_61
                        else if (int_Contador_Celda == 61)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_61 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_61 = null;
                            }
                        }
                        //Celda 62 se guarda en el Objeto_62
                        else if (int_Contador_Celda == 62)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_62 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_62 = null;
                            }
                        }
                        //Celda 63 se guarda en el Objeto_63
                        else if (int_Contador_Celda == 63)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_63 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_63 = null;
                            }
                        }
                        //Celda 64 se guarda en el Objeto_64
                        else if (int_Contador_Celda == 64)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_64 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_64 = null;
                            }
                        }
                        //Celda 65 se guarda en el Objeto_65
                        else if (int_Contador_Celda == 65)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_65 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_65 = null;
                            }
                        }
                        //Celda 66 se guarda en el Objeto_66
                        else if (int_Contador_Celda == 66)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_66 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_66 = null;
                            }
                        }
                        //Celda 67 se guarda en el Objeto_67
                        else if (int_Contador_Celda == 67)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_67 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_67 = null;
                            }
                        }
                        //Celda 68 se guarda en el Objeto_68
                        else if (int_Contador_Celda == 68)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_68 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_68 = null;
                            }
                        }
                        //Celda 69 se guarda en el Objeto_69
                        else if (int_Contador_Celda == 69)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_69 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_69 = null;
                            }
                        }
                        //Celda 70 se guarda en el Objeto_70
                        else if (int_Contador_Celda == 70)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_70 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_70 = null;
                            }
                        }
                        //Celda 71 se guarda en el Objeto_71
                        else if (int_Contador_Celda == 71)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_71 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_71 = null;
                            }
                        }
                        //Celda 72 se guarda en el Objeto_72
                        else if (int_Contador_Celda == 72)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_72 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_72 = null;
                            }
                        }
                        //Celda 73 se guarda en el Objeto_73
                        else if (int_Contador_Celda == 73)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_73 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_73 = null;
                            }
                        }
                        //Celda 74 se guarda en el Objeto_74
                        else if (int_Contador_Celda == 74)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_74 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_74 = null;
                            }
                        }
                        //Celda 75 se guarda en el Objeto_75
                        else if (int_Contador_Celda == 75)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_75 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_75 = null;
                            }
                        }
                        //Celda 76 se guarda en el Objeto_76
                        else if (int_Contador_Celda == 76)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_76 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_76 = null;
                            }
                        }
                        //Celda 77 se guarda en el Objeto_77
                        else if (int_Contador_Celda == 77)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_77 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_77 = null;
                            }
                        }
                        //Celda 78 se guarda en el Objeto_78
                        else if (int_Contador_Celda == 78)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_78 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_78 = null;
                            }
                        }
                        //Celda 79 se guarda en el Objeto_79
                        else if (int_Contador_Celda == 79)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_79 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_79 = null;
                            }
                        }
                        //Celda 80 se guarda en el Objeto_80
                        else if (int_Contador_Celda == 80)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_80 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_80 = null;
                            }
                        }
                        //Celda 81 se guarda en el Objeto_81
                        else if (int_Contador_Celda == 81)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_81 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_81 = null;
                            }
                        }
                        //Celda 82 se guarda en el Objeto_82
                        else if (int_Contador_Celda == 82)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_82 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_82 = null;
                            }
                        }
                        //Celda 83 se guarda en el Objeto_83
                        else if (int_Contador_Celda == 83)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_83 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_83 = null;
                            }
                        }
                        //Celda 84 se guarda en el Objeto_84
                        else if (int_Contador_Celda == 84)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_84 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_84 = null;
                            }
                        }
                        //Celda 85 se guarda en el Objeto_85
                        else if (int_Contador_Celda == 85)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_85 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_85 = null;
                            }
                        }
                        //Celda 86 se guarda en el Objeto_86
                        else if (int_Contador_Celda == 86)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_86 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_86 = null;
                            }
                        }
                        //Celda 87 se guarda en el Objeto_87
                        else if (int_Contador_Celda == 87)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_87 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_87 = null;
                            }
                        }
                        //Celda 88 se guarda en el Objeto_88
                        else if (int_Contador_Celda == 88)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_88 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_88 = null;
                            }
                        }
                        //Celda 89 se guarda en el Objeto_89
                        else if (int_Contador_Celda == 89)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_89 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_89 = null;
                            }
                        }
                        //Celda 90 se guarda en el Objeto_90
                        else if (int_Contador_Celda == 90)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_90 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_90 = null;
                            }
                        }
                        //Celda 91 se guarda en el Objeto_91
                        else if (int_Contador_Celda == 91)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_91 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_91 = null;
                            }
                        }
                        //Celda 92 se guarda en el Objeto_92
                        else if (int_Contador_Celda == 92)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_92 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_92 = null;
                            }
                        }
                        //Celda 93 se guarda en el Objeto_93
                        else if (int_Contador_Celda == 93)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_93 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_93 = null;
                            }
                        }
                        //Celda 94 se guarda en el Objeto_94
                        else if (int_Contador_Celda == 94)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_94 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_94 = null;
                            }
                        }
                        //Celda 95 se guarda en el Objeto_95
                        else if (int_Contador_Celda == 95)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_95 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_95 = null;
                            }
                        }
                        //Celda 96 se guarda en el Objeto_96
                        else if (int_Contador_Celda == 96)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_96 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_96 = null;
                            }
                        }
                        //Celda 97 se guarda en el Objeto_97
                        else if (int_Contador_Celda == 97)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_97 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_97 = null;
                            }
                        }
                        //Celda 98 se guarda en el Objeto_98
                        else if (int_Contador_Celda == 98)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_98 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_98 = null;
                            }
                        }
                        //Celda 99 se guarda en el Objeto_99
                        else if (int_Contador_Celda == 99)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_99 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_99 = null;
                            }
                        }
                        //Celda 100 se guarda en el Objeto_100
                        else if (int_Contador_Celda == 100)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_100 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_100 = null;
                            }
                        }
                        //Celda 101 se guarda en el Objeto_101
                        else if (int_Contador_Celda == 101)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_101 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_101 = null;
                            }
                        }
                        //Celda 102 se guarda en el Objeto_102
                        else if (int_Contador_Celda == 102)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_102 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_102 = null;
                            }
                        }
                        //Celda 103 se guarda en el Objeto_103
                        else if (int_Contador_Celda == 103)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_103 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_103 = null;
                            }
                        }
                        //Celda 104 se guarda en el Objeto_104
                        else if (int_Contador_Celda == 104)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_104 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_104 = null;
                            }
                        }
                        //Celda 105 se guarda en el Objeto_105
                        else if (int_Contador_Celda == 105)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_105 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_105 = null;
                            }
                        }
                        //Celda 106 se guarda en el Objeto_106
                        else if (int_Contador_Celda == 106)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_106 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_106 = null;
                            }
                        }
                        //Celda 107 se guarda en el Objeto_107
                        else if (int_Contador_Celda == 107)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_107 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_107 = null;
                            }
                        }
                        //Celda 108 se guarda en el Objeto_108
                        else if (int_Contador_Celda == 108)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_108 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_108 = null;
                            }
                        }
                        //Celda 109 se guarda en el Objeto_109
                        else if (int_Contador_Celda == 109)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_109 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_109 = null;
                            }
                        }
                        //Celda 110 se guarda en el Objeto_110
                        else if (int_Contador_Celda == 110)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_110 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_110 = null;
                            }
                        }
                        //Celda 111 se guarda en el Objeto_111
                        else if (int_Contador_Celda == 111)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_111 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_111 = null;
                            }
                        }
                        //Celda 112 se guarda en el Objeto_112
                        else if (int_Contador_Celda == 112)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_112 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_112 = null;
                            }
                        }
                        //Celda 113 se guarda en el Objeto_113
                        else if (int_Contador_Celda == 113)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_113 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_113 = null;
                            }
                        }
                        //Celda 114 se guarda en el Objeto_114
                        else if (int_Contador_Celda == 114)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_114 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_114 = null;
                            }
                        }
                        //Celda 115 se guarda en el Objeto_115
                        else if (int_Contador_Celda == 115)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_115 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_115 = null;
                            }
                        }
                        //Celda 116 se guarda en el Objeto_116
                        else if (int_Contador_Celda == 116)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_116 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_116 = null;
                            }
                        }
                        //Celda 117 se guarda en el Objeto_117
                        else if (int_Contador_Celda == 117)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_117 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_117 = null;
                            }
                        }
                        //Celda 118 se guarda en el Objeto_118
                        else if (int_Contador_Celda == 118)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_118 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_118 = null;
                            }
                        }
                        //Celda 119 se guarda en el Objeto_119
                        else if (int_Contador_Celda == 119)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_119 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_119 = null;
                            }
                        }
                        //Celda 120 se guarda en el Objeto_120
                        else if (int_Contador_Celda == 120)
                        {
                            if (obj_ContenidoDeCelda != null &&
                                 obj_ContenidoDeCelda.ToString().Trim().Length > 0)
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_120 = lst_Filas[int_Contador_Filas].Cell(int_Contador_Celda).Value;
                            }
                            else
                            {
                                mdl_INTERNO_Tabla_Modelo.Objeto_120 = null;
                            }
                        }

                    }

                    lst_INTERNO_Tabla_Modelo.Add(mdl_INTERNO_Tabla_Modelo);
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log(ex.Message, ex, nameof(P_TraspasoDato_Controladora) + "/" + nameof(Rellenar_Listado_Modelo));
                lst_INTERNO_Tabla_Modelo = null;
            }

            return lst_INTERNO_Tabla_Modelo;
        }
        #endregion

        public void Cambio_Texto_Celda_Permiso_Perfil(DataGridViewCell _dgvc_Celda, G_ENUM_ESTADOCELDA _enum_EstadoCelda, bool _bol_Bloquear)
        {
            //Marcada
            if (_enum_EstadoCelda.Equals(G_ENUM_ESTADOCELDA.MARCADA))
            {
                _dgvc_Celda.Value = g_str_ValorCelda_MARCADA;

                _dgvc_Celda.Style.ForeColor = Colores.G_COLOR_LETRA_PERMISOS_CON;
                _dgvc_Celda.Style.SelectionForeColor = Colores.G_COLOR_LETRA_PERMISOS_CON;
            }
            //No marcada
            else if (_enum_EstadoCelda.Equals(G_ENUM_ESTADOCELDA.SINMARCAR))
            {
                _dgvc_Celda.Value = g_str_ValorCelda_SINMARCAR;
            }
            _dgvc_Celda.Tag = "0";

            //Bloquear
            if (_bol_Bloquear)
            {
                _dgvc_Celda.ReadOnly = true;
                _dgvc_Celda.Style.BackColor = Colores.G_COLOR_FONDO_BLOQUEADO;
                _dgvc_Celda.Style.SelectionBackColor = Colores.G_COLOR_FONDO_BLOQUEADO;
                _dgvc_Celda.Tag = "1";
            }
        }
    }
}
