示例#1
0
 public static string GetPackageFamilyName(AppVersionType versionType)
 {
     return(versionType switch
     {
         AppVersionType.Dev => QuarrelDevPackageFamilyName,
         AppVersionType.Alpha => QuarrelAlphaPackageFamilyName,
         AppVersionType.Insider => QuarrelInsiderPackageFamilyName,
         _ or AppVersionType.Release => QuarrelPackageFamilyName,
     });
示例#2
0
        public async Task <bool> ConnectAsync(AppVersionType versionType = AppVersionType.Release)
        {
            if (ConnectionStatus == AppServiceConnectionStatus.Success)
            {
                return(true);
            }

            _connection = new AppServiceConnection
            {
                PackageFamilyName = AppConnectionInfo.GetPackageFamilyName(versionType),
                AppServiceName    = AppConnectionInfo.RichPresenceServiceName,
            };
            _connection.ServiceClosed += OnClosed;

            ConnectionStatus = await _connection.OpenAsync();

            return(ConnectionStatus == AppServiceConnectionStatus.Success);
        }
示例#3
0
        public static string GetAppVersionTypeDesc(AppVersionType versionType)
        {
            string desc = null;

            switch (versionType)
            {
            case AppVersionType.InternalBeta:
                desc = "内测版本";
                break;

            case AppVersionType.PublicBeta:
                desc = "公测版本";
                break;

            case AppVersionType.Official:
                desc = "正式版本";
                break;

            default:
                break;
            }
            return(desc);
        }
示例#4
0
        internal async Task <AppVersion> StartNewVersion(AppVersionKey key, App app, DateTimeOffset timeAdded, AppVersionType type)
        {
            AppVersionRecord record = null;
            await factory.DB.Transaction(async() =>
            {
                record = new AppVersionRecord
                {
                    VersionKey  = new GeneratedKey().Value(),
                    AppID       = app.ID.Value,
                    Major       = 0,
                    Minor       = 0,
                    Patch       = 0,
                    TimeAdded   = timeAdded,
                    Description = "",
                    Status      = AppVersionStatus.Values.New.Value,
                    Type        = type.Value
                };
                await factory.DB.Versions.Create(record);
                if (key.Equals(AppVersionKey.None))
                {
                    await factory.DB.Versions.Update(record, r => r.VersionKey = new AppVersionKey(r.ID).Value);
                }
            });

            return(factory.Version(record));
        }
示例#5
0
        internal async Task <AppVersion> AddVersion(AppVersionKey key, App app, DateTimeOffset timeAdded, AppVersionStatus status, AppVersionType type, Version version)
        {
            var record = new AppVersionRecord
            {
                VersionKey  = key.Value,
                AppID       = app.ID.Value,
                Major       = version.Major,
                Minor       = version.Minor,
                Patch       = version.Build,
                TimeAdded   = timeAdded,
                Description = "",
                Status      = status.Value,
                Type        = type.Value
            };
            await factory.DB.Versions.Create(record);

            return(factory.Version(record));
        }