コード例 #1
0
 /// <summary>
 /// Convert registration request to application info model
 /// </summary>
 /// <param name="request"></param>
 /// <param name="context"></param>
 /// <param name="disabled"></param>
 /// <returns></returns>
 public static ApplicationInfoModel ToApplicationInfo(
     this ApplicationRegistrationRequestModel request,
     RegistryOperationContextModel context,
     bool disabled = true)
 {
     return(new ApplicationInfoModel {
         ApplicationName = request.ApplicationName,
         LocalizedNames = request.LocalizedNames,
         ProductUri = request.ProductUri,
         DiscoveryUrls = request.DiscoveryUrls,
         DiscoveryProfileUri = request.DiscoveryProfileUri,
         ApplicationType = request.ApplicationType ?? ApplicationType.Server,
         ApplicationUri = request.ApplicationUri,
         Locale = request.Locale,
         Capabilities = request.Capabilities,
         GatewayServerUri = request.GatewayServerUri,
         SiteId = request.SiteId,
         NotSeenSince = disabled ? DateTime.UtcNow : (DateTime?)null,
         Created = context,
         Updated = null,
         ApplicationId = null,
         DiscovererId = null,
         HostAddresses = null,
     });
 }
コード例 #2
0
        /// <summary>
        /// Convert to service model
        /// </summary>
        /// <returns></returns>
        public static ApplicationDocument ToDocumentModel(
            this ApplicationRegistrationRequestModel model, uint id)
        {
            var document = new ApplicationDocument {
                ID = id,
                ApplicationState = ApplicationState.New,
                CreateTime       = DateTime.UtcNow,
                SiteId           = model.SiteId,
                ApplicationId    = ApplicationInfoModelEx.CreateApplicationId(
                    model.SiteId, model.ApplicationUri, model.ApplicationType),
                ApplicationUri  = model.ApplicationUri,
                ApplicationName = model.ApplicationName ??
                                  model.LocalizedNames.FirstOrDefault().Value,
                ApplicationType  = model.ApplicationType ?? ApplicationType.ClientAndServer,
                ApplicationNames =
                    GetLocalizedText(model.LocalizedNames),
                ProductUri         = model.ProductUri,
                DiscoveryUrls      = model.DiscoveryUrls?.ToArray(),
                ServerCapabilities =
                    GetServerCapabilitiesAsString(model.Capabilities),
                GatewayServerUri    = model.GatewayServerUri,
                DiscoveryProfileUri = model.DiscoveryProfileUri,
            };

            document.Validate();
            return(document);
        }