/// <summary>
 ///		Guarda los datos del formulario en el modelo
 /// </summary>
 private void Save()
 {
     if (ValidateData())
     {
         // Asigna las propiedades
         Deployment.Name              = Name;
         Deployment.Description       = Description;
         Deployment.PathScriptsTarget = PathScriptsTarget;
         Deployment.PathFilesTarget   = PathFilesTarget;
         // Añade los elementos
         ConnectionsListViewModel.GetConnections(Deployment.Connections);
         Deployment.Parameters.Clear();
         Deployment.Parameters.AddRange(ParametersListViewModel.GetParameters());
         Deployment.Scripts.Clear();
         Deployment.Scripts.AddRange(ScriptsTreeViewModel.GetScripts());
         // Añade los formatos de salida
         Deployment.ReportFormatTypes.Clear();
         foreach (ControlItemViewModel item in ReportOutputListViewModel.Items)
         {
             if (item.Tag != null && item.IsChecked)
             {
                 Deployment.ReportFormatTypes.Add(item.Tag.ToString().GetEnum(DeploymentModel.ReportFormat.Xml));
             }
         }
         // Añade el modo de distribución al proyecto si es necesario
         if (IsNew)
         {
             Project.Deployments.Add(Deployment);
             IsNew = false;
         }
         // Graba los datos
         ExplorerViewModel.SaveProject();
         IsUpdated = false;
     }
 }
Пример #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MenuViewModel" /> class.
        /// </summary>
        /// <param name="eventAggregator">The event aggregator.</param>
        /// <param name="mouseManager">The mouse manager.</param>
        /// <param name="connectionsListViewModel">The connections list view model.</param>
        public MenuViewModel(IEventAggregator eventAggregator, IMouseManager mouseManager, ConnectionsListViewModel connectionsListViewModel)
        {
            Ensure.That(eventAggregator).IsNotNull();
            Ensure.That(mouseManager).IsNotNull();
            Ensure.That(connectionsListViewModel).IsNotNull();

            _eventAggregator = eventAggregator;
            _mouseManager    = mouseManager;

            _mouseManager.PreProcessInput += MouseManagerPreProcessMouse;

            ConnectionsList = connectionsListViewModel;
        }
 /// <summary>
 ///		Inicializa las propiedades
 /// </summary>
 private void InitViewModel()
 {
     // Inicializa las propiedades básicas
     Name              = Deployment.Name;
     Description       = Deployment.Description;
     PathScriptsTarget = Deployment.PathScriptsTarget;
     PathFilesTarget   = Deployment.PathFilesTarget;
     // Carga las conexiones
     ConnectionsListViewModel.LoadItems(Deployment);
     ParametersListViewModel.LoadItems(Deployment.Parameters);
     ScriptsTreeViewModel.LoadFiles();
     LoadReportOutputList();
 }
        /// <summary>
        ///		Comprueba los datos introducidos
        /// </summary>
        private bool ValidateData()
        {
            bool validated = false;

            // Comprueba los datos introducidos
            if (!Project.GlobalId.Equals(ExplorerViewModel.Project.GlobalId, StringComparison.CurrentCultureIgnoreCase))
            {
                MainViewModel.Instance.ControllerWindow.ShowMessage("Se ha cargado otro proyecto en el explorador. No se puede grabar la distribución en este archivo");
            }
            else if (string.IsNullOrEmpty(Name))
            {
                MainViewModel.Instance.ControllerWindow.ShowMessage("Introduzca el nombre de la conexión");
            }
            else if (!ConnectionsListViewModel.ValidateData())
            {
                MainViewModel.Instance.ControllerWindow.ShowMessage("Seleccione la clave y conexión de los elementos de distribución");
            }
            else if (string.IsNullOrEmpty(PathScriptsTarget))
            {
                MainViewModel.Instance.ControllerWindow.ShowMessage("Seleccione el directorio donde se guardan los scripts");
            }
            else if (string.IsNullOrEmpty(PathFilesTarget))
            {
                MainViewModel.Instance.ControllerWindow.ShowMessage("Seleccione el directorio donde se guardan los archivos generados");
            }
            else if (!ParametersListViewModel.ValidateData(out string error))
            {
                MainViewModel.Instance.ControllerWindow.ShowMessage(error);
            }
            else if (!ScriptsTreeViewModel.ValidateData(out error))
            {
                MainViewModel.Instance.ControllerWindow.ShowMessage(error);
            }
            else
            {
                validated = true;
            }
            // Devuelve el valor que indica si los datos son correctos
            return(validated);
        }