public void Write20AsLatestVersion() { var userAgent = ".NET CLR 2.0"; var expectedVersion = generateLatestVersionString(2, 0, "full", null); var actualVersion = JsonVersions.WriteLatestVersions(userAgent); Assert.AreEqual(expectedVersion, actualVersion); }
public void Write35SP1ClientAsLatestVersion() { var userAgent = ".NET Client 3.5"; var expectedVersion = generateLatestVersionString(3, 5, "client", 1); var actualVersion = JsonVersions.WriteLatestVersions(userAgent); Assert.AreEqual(expectedVersion, actualVersion); }
public void Write35AsLatestVersion() { var userAgent = ".NET CLR 3.5.21022"; var expectedVersion = generateLatestVersionString(3, 5, "full", null); var actualVersion = JsonVersions.WriteLatestVersions(userAgent); Assert.AreEqual(expectedVersion, actualVersion); }
public void Write40ClientAsLatestVersion() { var userAgent = ".NET4.0C; .NET CLR 2.0"; var expectedVersion = generateLatestVersionString(4, 0, "client", null); var actualVersion = JsonVersions.WriteLatestVersions(userAgent); Assert.AreEqual(expectedVersion, actualVersion); }
public void WriteNullAsLatestVersion() { var userAgent = ""; var expectedVersion = "SmallestDotNet.latestVersion = null;"; var actualVersion = JsonVersions.WriteLatestVersions(userAgent); Assert.AreEqual(expectedVersion, actualVersion); }
public async Task <bool> Update(JsonVersions jsonVersions, DataVersions dataVersions) { if (!(jsonVersions.Contents > dataVersions.Contents)) { return(false); } await UpdateContents(jsonVersions, dataVersions); return(true); }
public async Task Update() { DataBaseHelper.CreateDataBase(); var dataVersionsEntiry = DataBaseHelper.Select <DataVersionsEntity>(q => q.Take(1)).First(); var jsonVersionsJson = await App.DIContainer.Resolve <ISourceDataProvider>().JsonDataVersions(); var dataVersions = new DataVersions(dataVersionsEntiry); var jsonVersions = new JsonVersions(jsonVersionsJson); // コンテンツ await App.DIContainer.Resolve <IContentsUpdater>().Update(jsonVersions, dataVersions); foreach (var plugin in App.Plugins) { await plugin.DataUpdate(); } }
private async Task UpdateContents(JsonVersions jsonVersions, DataVersions dataVersions) { var jsonContents = await _sourceDataProvider.JsonContentSummariesAndDetails(); _localDataProvider.UnzipImages(await _sourceDataProvider.Images()); foreach (var(summary, detail) in jsonContents) { _localDataProvider.UnzipImages(await _sourceDataProvider.Images(summary?.ContentId)); } using (var db = DataBaseHelper.CreateConnection()) { var dbSummaries = _localDataProvider.ContentSummaries(db).ToList(); var dbDetails = _localDataProvider.ContentDetails(db).ToList(); foreach (var(summary, detail) in jsonContents) { var dbSummary = dbSummaries.Where(d => d.ContentId == summary.ContentId).FirstOrDefault() ?? new ContentSummaryEntity(); var dbDetail = dbDetails.Where(d => d.ContentId == detail.ContentId).FirstOrDefault() ?? new ContentDetailEntity(); dbSummaries.Remove(dbSummary); dbDetails.Remove(dbDetail); _localDataProvider.InsertOrReplace(db, PropertyCopier.CopyTo(summary, dbSummary)); _localDataProvider.InsertOrReplace(db, PropertyCopier.CopyTo(detail, dbDetail)); } foreach (var dbSummary in dbSummaries) { db.Delete(dbSummary); } foreach (var dbDetail in dbDetails) { db.Delete(dbDetail); } // バージョン dataVersions.Entity.Contents = jsonVersions.Json.Contents; _localDataProvider.InsertOrReplace(db, dataVersions.Entity); } }