Exemple #1
0
        public ImportSettingsGroupResponse ImportSettingsGroup(ImportSettingsGroupRequest request)
        {
            Platform.CheckForNullReference(request, "request");
            Platform.CheckMemberIsSet(request.Group, "Group");

            var broker = PersistenceContext.GetBroker <IConfigurationSettingsGroupBroker>();

            var where = ConfigurationSettingsGroup.GetCriteria(request.Group);
            var group = CollectionUtils.FirstElement(broker.Find(where));

            if (group == null)
            {
                // group doesn't exist, need to create it
                group = new ConfigurationSettingsGroup();
                group.UpdateFromDescriptor(request.Group);
                PersistenceContext.Lock(group, DirtyState.New);
            }
            else
            {
                // update group from descriptor
                group.UpdateFromDescriptor(request.Group);
            }

            if (request.Properties != null)
            {
                // update properties
                group.SettingsProperties.Clear();
                foreach (var descriptor in request.Properties)
                {
                    var property = new ConfigurationSettingsProperty();
                    property.UpdateFromDescriptor(descriptor);
                    group.SettingsProperties.Add(property);
                }
            }

            PersistenceContext.SynchState();

            return(new ImportSettingsGroupResponse());
        }
Exemple #2
0
		public ImportSettingsGroupResponse ImportSettingsGroup(ImportSettingsGroupRequest request)
		{
			Platform.CheckForNullReference(request, "request");
			Platform.CheckMemberIsSet(request.Group, "Group");

			var broker = PersistenceContext.GetBroker<IConfigurationSettingsGroupBroker>();
			var where = ConfigurationSettingsGroup.GetCriteria(request.Group);
			var group = CollectionUtils.FirstElement(broker.Find(where));
			if (group == null)
			{
				// group doesn't exist, need to create it
				group = new ConfigurationSettingsGroup();
				group.UpdateFromDescriptor(request.Group);
				PersistenceContext.Lock(group, DirtyState.New);
			}
			else
			{
				// update group from descriptor
				group.UpdateFromDescriptor(request.Group);
			}

			if (request.Properties != null)
			{
				// update properties
				group.SettingsProperties.Clear();
				foreach (var descriptor in request.Properties)
				{
					var property = new ConfigurationSettingsProperty();
					property.UpdateFromDescriptor(descriptor);
					group.SettingsProperties.Add(property);
				}
			}

			PersistenceContext.SynchState();

			return new ImportSettingsGroupResponse();
		}