public ComponentsValidationResult ValidateComponents(ComponentsValidationMetadata metadata)
        {
            var    atr            = Assembly.GetEntryAssembly().GetCustomAttribute <AssemblyServerAttribute>();
            var    serverAssembly = AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(x => x.GetName().Name == atr.AssemblyName);
            string version        = serverAssembly.GetName().Version.ToString();

            if (!AssemblyCustomVersionAttribute.IsMatch(version, metadata.ServerVersionPattern))
            {
                return(new ComponentsValidationResult(WPFTools.Enums.ComponentsValidationResult.InvalidServerVersion));
            }
            metadata.DatabaseVersionPattern = serverAssembly.GetCustomAttribute <AssemblyDatabaseVersionAttribute>()?.Version;
            metadata.LicenseAttribute       = serverAssembly.GetCustomAttribute <LicenseAttribute>();
            if (!clients.Contains(Client.Guid))
            {
                clients.Add(Client.Guid);
            }
            if (metadata.LicenseAttribute is MaxSessionLicenseAttribute maxSessionLicense && maxSessionLicense != null)
            {
                maxSessionLicense.CurrentSessionCount = clients.Count;
            }
            var res = DataContext.ValidateComponents(metadata);

            if (res.Result == WPFTools.Enums.ComponentsValidationResult.Success && res.LicenseResult == WPFTools.Enums.LicenseValidationResult.Success)
            {
                return(res);
            }
            clients.Remove(Client.Guid);
            return(res);
        }
Example #2
0
 public ComponentsValidationResult ValidateComponents(ComponentsValidationMetadata metadata)
 => new ComponentsValidationResult(WPFTools.Enums.ComponentsValidationResult.Success, WPFTools.Enums.LicenseValidationResult.Success);
Example #3
0
 public ComponentsValidationResult ValidateComponents(ComponentsValidationMetadata metadata) => Channel.ValidateComponents(metadata);