示例#1
0
        public async Task <IActionResult> UpdateMobileData()
        {
            try
            {
                logger.LogInformation("Realm to update {RealmServerUrl}/{RealmName}", realmSettings.RealmServerUrl, realmSettings.RealmName);

                var user = await realmSettings.GetUser();

                var realmUrl = new Uri($"realms://{realmSettings.RealmServerUrl}/{realmSettings.RealmName}");
                var realm    = await user.GetRealm(realmUrl);

                var currentVersion = realm.GetCurrentVersion();
                var auditUpdate    = await this.updateManager.GetAuditUpdate(currentVersion);

                realm = await user.GetRealm(realmUrl);

                DotNetRuRealmHelper.UpdateRealm(realm, auditUpdate);

                await SendMeetupsNotifications(auditUpdate);

                return(new OkObjectResult(realmSettings));
            }
            catch (Exception e)
            {
                logger.LogCritical(e, "Unhandled error while updating realm");
                return(new ObjectResult(e)
                {
                    StatusCode = StatusCodes.Status500InternalServerError
                });
            }
        }
示例#2
0
        private async Task UpdateOnlineRealm()
        {
            var user = await this.GetUser();

            var realmUrl = new Uri($"realms://{realmSettings.RealmServerUrl}/{realmSettings.RealmName}");
            var realm    = await GetRealm(realmUrl, user);

            var currentVersion = GetCurrentVersion(realm);
            var auditUpdate    = await UpdateManager.GetAuditUpdate(currentVersion, logger);

            DotNetRuRealmHelper.UpdateRealm(realm, auditUpdate);

            await SendMeetupsNotifications(auditUpdate);
        }
示例#3
0
        public async Task <IActionResult> GenerateOnlineRealm(
            [FromQuery] string commitSha,
            [FromQuery] string realmServerUrl,
            [FromQuery] string realmName)
        {
            var auditData = commitSha != null
                ? await this.updateManager.GetAuditXmlData(commitSha)
                : await this.updateManager.GetAuditXmlData();

            logger.LogInformation("Realm to update {RealmServerUrl}/{RealmName}", realmServerUrl, realmName);

            var user = await realmSettings.GetUser();

            var realmUrl = new Uri($"realms://{realmServerUrl}/{realmName}");
            var realm    = await user.GetRealm(realmUrl);

            DotNetRuRealmHelper.ReplaceRealm(realm, auditData);

            return(new OkResult());
        }
示例#4
0
        public async Task <FileStreamResult> GenerateOfflineRealm([FromQuery] string commitSha)
        {
            var auditData = commitSha != null
                ? await UpdateManager.GetAuditData(commitSha)
                : await UpdateManager.GetAuditData();

            var realmOfflinePath = $"{Path.GetTempPath()}/DotNetRuOffline.realm";

            Realm.DeleteRealm(new RealmConfiguration(realmOfflinePath));

            var realm = Realm.GetInstance(realmOfflinePath);

            DotNetRuRealmHelper.ReplaceRealm(realm, auditData);

            var stream = System.IO.File.OpenRead(realmOfflinePath);

            return(new FileStreamResult(stream, "application/octet-stream")
            {
                FileDownloadName = "DotNetRuOffline.realm"
            });
        }