/// <summary>
 ///		Inicializa el ViewModel
 /// </summary>
 private void InitViewModel()
 {
     // Combo de formato de los archivos
     ComboFormat = new ComboViewModel(this);
     ComboFormat.AddItem((int)Application.SolutionManager.FormatType.Parquet, "Parquet");
     ComboFormat.AddItem((int)Application.SolutionManager.FormatType.Csv, "CSV");
     ComboFormat.SelectedItem = ComboFormat.Items[0];
     // Asigna las propiedades
     ValidateFiles            = true;
     MountPathVariable        = "MountPath";
     MountPathContent         = "/mnt/c/Test";
     DataBaseComputeVariable  = "DbCompute";
     DataBaseValidateVariable = "DbValidate";
     PathValidate             = "Validate";
     TablePrefixes            = "SRC_;EXT_;TRN_";
     GenerateQvs               = true;
     OutputPath                = string.Empty;
     CompareString             = true;
     DateFormat                = "d/M/yyyy";
     DecimalSeparator          = ",";
     DecimalType               = "decimal(10, 2)";
     CompareOnlyAlphaAndDigits = true;
     // Carga el árbol de conexiones
     TreeConnection.LoadConnection(ComboConnections.GetSelectedConnection());
     // Indica que no ha habido modificaciones
     IsUpdated = false;
 }
        /// <summary>
        ///		Comprueba los datos introducidos
        /// </summary>
        private bool ValidateData()
        {
            bool validated = false;

            // Comprueba los datos introducidos
            if (ComboConnections.GetSelectedConnection() == null)
            {
                SolutionViewModel.MainController.SystemController.ShowMessage("Seleccione una conexión");
            }
            else if (string.IsNullOrWhiteSpace(OutputPath))
            {
                SolutionViewModel.MainController.SystemController.ShowMessage("Introduzca el directorio de grabación de los archivos");
            }
            else if (string.IsNullOrWhiteSpace(DataBaseComputeVariable))
            {
                SolutionViewModel.MainController.SystemController.ShowMessage("Introduzca el nombre de la variable de base de datos de cálculo");
            }
            else if (string.IsNullOrWhiteSpace(DataBaseValidateVariable))
            {
                SolutionViewModel.MainController.SystemController.ShowMessage("Introduzca el nombre de la variable de base de datos de validación");
            }
            else if (TreeConnection.GetSelectedTables().Count == 0)
            {
                SolutionViewModel.MainController.SystemController.ShowMessage("Seleccione al menos una tabla");
            }
            else if (ValidateFiles)
            {
                if (string.IsNullOrWhiteSpace(MountPathVariable))
                {
                    SolutionViewModel.MainController.SystemController.ShowMessage("Introduzca el nombre de la variable con el directorio de archivos");
                }
                else if (string.IsNullOrWhiteSpace(MountPathContent))
                {
                    SolutionViewModel.MainController.SystemController.ShowMessage("Introduzca el directorio de archivos");
                }
                else if (string.IsNullOrWhiteSpace(PathValidate))
                {
                    SolutionViewModel.MainController.SystemController.ShowMessage("Introduzca el nombre del subdirectorio donde se encuentran los archivos a validar");
                }
                else
                {
                    validated = true;
                }
            }
            else
            {
                if (string.IsNullOrWhiteSpace(DataBaseTarget))
                {
                    SolutionViewModel.MainController.SystemController.ShowMessage("Introduzca el nombre de base de datos a comparar");
                }
                else
                {
                    validated = true;
                }
            }
            // Devuelve el valor que indica si los datos son correctos
            return(validated);
        }
 public CreateValidationScriptsViewModel(DbStudioViewModel solutionViewModel)
 {
     // Inicializa las propiedades
     SolutionViewModel = solutionViewModel;
     ComboConnections  = new Connections.ComboConnectionsViewModel(SolutionViewModel, string.Empty);
     ComboConnections.Connections.PropertyChanged += (sender, args) => {
         if (args.PropertyName.Equals(nameof(ComboConnections.Connections.SelectedItem)))
         {
             TreeConnection.LoadConnection(ComboConnections.GetSelectedConnection());
         }
     };
     TreeConnection = new Explorers.Connections.TreeConnectionTablesViewModel(SolutionViewModel);
     // Inicializa el viewModel
     InitViewModel();
 }