public ResourceTypeSetting GetResourceTypeConfiguration(string modelNamespace, string resourceTypeName) { Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.StartedFunctionMessage); #region Validating Parameters if (string.IsNullOrEmpty(modelNamespace) || string.IsNullOrWhiteSpace(modelNamespace) || string.IsNullOrEmpty(resourceTypeName) || string.IsNullOrWhiteSpace(resourceTypeName)) { Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.NullEmptyStringMessage); return(null); } #endregion IEnumerable <ResourceType> resourceTypes = Utilities.GetResourceTypes(modelNamespace); if (resourceTypes == null || resourceTypes.Count() == 0) { Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.NullEmptyStringMessage); return(null); } ResourceType specificResourceType = (from ResourceType resourceType in resourceTypes where resourceType.Name.Equals(resourceTypeName, StringComparison.OrdinalIgnoreCase) select resourceType).FirstOrDefault(); if (specificResourceType != null) { if (specificResourceType.ConfigurationXml != null && !string.IsNullOrWhiteSpace(specificResourceType.ConfigurationXml.ToString())) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(ResourceTypeSetting)); XmlReader configXmlReader = specificResourceType.ConfigurationXml.CreateReader(); if (xmlSerializer.CanDeserialize(configXmlReader)) { ResourceTypeSetting resourceTypeSetting = (ResourceTypeSetting)xmlSerializer.Deserialize(configXmlReader); specificResourceType.ValidateResourceTypeSetting(resourceTypeSetting); Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.ConfigXmlCreation); return(resourceTypeSetting); } Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.FinishedFunctionMessage); return(specificResourceType.ToResourceTypeSetting()); } Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.FinishedFunctionMessage); return(specificResourceType.ToResourceTypeSetting()); } Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.NullEmptyStringMessage); return(null); }
public void SetResourceTypeConfiguration(string modelNamespace, string resourceTypeName, ResourceTypeSetting resourceTypeConfig) { Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.StartedFunctionMessage); if (string.IsNullOrWhiteSpace(modelNamespace) || string.IsNullOrWhiteSpace(resourceTypeName)) { throw new FaultException <ArgumentException>(new ArgumentException(Properties.Messages.ArgumentsNullOrEmpty), Properties.Messages.SpecifyNamespaceAndResourceName); } if (resourceTypeConfig != null && (resourceTypeConfig.Facets == null || resourceTypeConfig.Facets.Count() == 0)) { throw new FaultException(new FaultReason(Properties.Messages.FacetsNullOrEmpty)); } IEnumerable <ResourceType> resourceTypes = Utilities.GetResourceTypes(modelNamespace); if (resourceTypes != null) { ResourceType specificResourceType = resourceTypes.Where(res => res.Name.Equals(resourceTypeName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); if (specificResourceType != null) { using (ZentityContext context = Utilities.CreateZentityContext()) { if (resourceTypeConfig != null) { resourceTypeConfig.Name = resourceTypeName; specificResourceType.ValidateResourceTypeSetting(resourceTypeConfig); specificResourceType.ConfigurationXml = resourceTypeConfig.SerializeToXElement(); Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.FinishedFunctionMessage); } else { specificResourceType.ConfigurationXml = null; Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.FinishedFunctionMessage); } specificResourceType.Update(context.StoreConnectionString); } } else { throw new FaultException <ArgumentException>(new ArgumentException(Properties.Messages.ResourceTypeNameParameter), Properties.Messages.NullRResourceTypeNameMessage); } } else { throw new FaultException <ArgumentException>(new ArgumentException(Properties.Messages.ModelNamespaceParameter), Properties.Messages.NullModelNamespaceMessage); } }