private void packages_DataGridView_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
        {
            // Clear all associations to SoftwareInstallerSettings before deleting.
            SoftwareInstallerPackage package = e.Row.DataBoundItem as SoftwareInstallerPackage;

            package.SoftwareInstallerSettings.Clear();
        }
        private void RefreshSelection(SoftwareInstallerPackage selectedPackage)
        {
            Cursor = Cursors.WaitCursor;

            if (selectedPackage != null)
            {
                softwareInstallerSelectionControl.SetDataSource(selectedPackage, _dataContext);

                foreach (ResourceTypeRow row in _resourceTypes)
                {
                    row.Selected = selectedPackage.ResourceTypes.Contains(row.ResourceType);
                }

                foreach (MetadataTypeRow row in _metadataTypes)
                {
                    row.Selected = selectedPackage.MetadataTypes.Contains(row.MetadataType);
                }

                softwareInstallerSelectionControl.Refresh();
                resourceTypes_DataGridView.Refresh();
                metadataTypes_DataGridView.Refresh();

                ScrollToFirstSelection(metadataTypes_DataGridView);
            }

            Cursor = Cursors.Default;
        }
        private void packages_DataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            //System.Diagnostics.Debug.WriteLine("Cell EndEdit ({0},{1})".FormatWith(e.RowIndex, e.ColumnIndex));
            SoftwareInstallerPackage package = SelectedPackage;

            if (ValidatePackage(package))
            {
                RefreshSelection(package);
            }
        }
        private void packagesCurrencyManager_CurrentChanged(object sender, EventArgs e)
        {
            // Check for a newly added package
            SoftwareInstallerPackage package = SelectedPackage;

            if (package != null && package.PackageId == Guid.Empty)
            {
                package.PackageId = SequentialGuid.NewGuid();
            }
        }
Exemple #5
0
        /// <summary>
        /// Creates an instance of a SoftwareInstallerPackage from this instance.
        /// </summary>
        public SoftwareInstallerPackage CreateEntity(MetadataType type)
        {
            var package = new SoftwareInstallerPackage()
            {
                Description = this.Description,
                PackageId   = SequentialGuid.NewGuid(),
            };

            package.MetadataTypes.Add(type);

            return(package);
        }
 private static void UpdateMetadataTypeList(bool isSelected, SoftwareInstallerPackage selectedPackage, MetadataType metadataType)
 {
     if (metadataType != null)
     {
         if (isSelected && !selectedPackage.MetadataTypes.Contains(metadataType))
         {
             selectedPackage.MetadataTypes.Add(metadataType);
         }
         else
         {
             selectedPackage.MetadataTypes.Remove(metadataType);
         }
     }
 }
 private static void UpdateResourceTypeList(bool isSelected, SoftwareInstallerPackage selectedPackage, ResourceType resourceType)
 {
     if (resourceType != null)
     {
         if (isSelected && !selectedPackage.ResourceTypes.Contains(resourceType))
         {
             selectedPackage.ResourceTypes.Add(resourceType);
         }
         else
         {
             selectedPackage.ResourceTypes.Remove(resourceType);
         }
     }
 }
Exemple #8
0
        /// <summary>
        /// Sets the data source for this control.
        /// </summary>
        /// <param name="dataSource"></param>
        /// <param name="dataContext"></param>
        public void SetDataSource(SoftwareInstallerPackage dataSource, EnterpriseTestContext dataContext)
        {
            _package = dataSource;
            if (_dataContext != dataContext)
            {
                _dataContext = dataContext;
            }
            _settings.Clear();

            if (dataSource != null)
            {
                Refresh();
            }
        }
        private bool ValidatePackage(SoftwareInstallerPackage package)
        {
            if (package == null || string.IsNullOrEmpty(package.Description))
            {
                DisplayValidationError("The installer package must have a name.");
                return(false);
            }

            if (package.PackageId == Guid.Empty)
            {
                package.PackageId = SequentialGuid.NewGuid();
            }

            return(true);
        }
        /// <summary>
        /// Initializes this instance with the specified object.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <exception cref="ControlTypeMismatchException">
        /// Thrown when an object of incorrect type is passed to this instance.
        ///   </exception>
        public override void Initialize(object entity)
        {
            _reservation = entity as VirtualResource;
            AddMetadataIfMissing(_reservation);

            if (_reservation == null)
            {
                throw new ControlTypeMismatchException(entity, typeof(VirtualResource));
            }

            platform_ComboBox.SetPlatform(_reservation.Platform, VirtualResourceType.MachineReservation);

            var metadata = _reservation.VirtualResourceMetadataSet.FirstOrDefault();

            if (metadata != null)
            {
                _reservationData = LegacySerializer.DeserializeXml <MachineReservationMetadata>(metadata.Metadata);
            }
            else
            {
                _reservationData = new MachineReservationMetadata();
            }

            var package = SoftwareInstallerPackage.CreateSoftwareInstallerPackage(Guid.Empty);

            package.Description = "None";

            package_ComboBox.Items.Add(package);
            using (EnterpriseTestContext context = new EnterpriseTestContext())
            {
                List <SoftwareInstallerPackage> list = new List <SoftwareInstallerPackage>();
                list.Add(package);

                list.AddRange(context.SoftwareInstallerPackages.OrderBy(n => n.Description));
                package_ComboBox.DataSource    = list;
                package_ComboBox.DisplayMember = "Description";
                package_ComboBox.ValueMember   = "PackageId";

                package_ComboBox.SelectedItem = list.FirstOrDefault(e => e.PackageId == _reservationData.PackageId);
            }

            // Set up data bindings
            name_TextBox.DataBindings.Add("Text", _reservation, "Name");
            description_TextBox.DataBindings.Add("Text", _reservation, "Description");
            platform_ComboBox.DataBindings.Add("SelectedValue", _reservation, "Platform");
            instanceCount_NumericUpDown.DataBindings.Add("Text", _reservation, "InstanceCount");
            package_ComboBox.DataBindings.Add("SelectedValue", _reservationData, "PackageId");
        }
Exemple #11
0
 /// <summary>
 /// Constructor
 /// </summary>
 public SoftwareInstallerPackageContract(SoftwareInstallerPackage package)
     : this()
 {
     Description = package.Description;
     PackageId   = package.PackageId;
 }