public async Task RunAsync_WithPackageCreatedThenDeleted_LeavesNoArtifacts() { var indexJsonUri = _catalogToDnxStorage.ResolveUri("/otherpackage/index.json"); var nupkgUri = _catalogToDnxStorage.ResolveUri("/otherpackage/1.0.0/otherpackage.1.0.0.nupkg"); var nuspecUri = _catalogToDnxStorage.ResolveUri("/otherpackage/1.0.0/otherpackage.nuspec"); var catalogStorage = Catalogs.CreateTestCatalogWithPackageCreatedThenDeleted(); await _mockServer.AddStorageAsync(catalogStorage); _mockServer.SetAction( "/packages/otherpackage.1.0.0.nupkg", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(File.OpenRead("Packages\\OtherPackage.1.0.0.zip")) })); var front = new DurableCursor(_cursorJsonUri, _catalogToDnxStorage, MemoryCursor.MinValue); ReadCursor back = MemoryCursor.CreateMax(); await _target.RunAsync(front, back, CancellationToken.None); Assert.Equal(1, _catalogToDnxStorage.Content.Count); Assert.True(_catalogToDnxStorage.Content.ContainsKey(_cursorJsonUri)); Assert.False(_catalogToDnxStorage.Content.ContainsKey(indexJsonUri)); Assert.False(_catalogToDnxStorage.Content.ContainsKey(nupkgUri)); Assert.False(_catalogToDnxStorage.Content.ContainsKey(nuspecUri)); Assert.True(_catalogToDnxStorage.ContentBytes.ContainsKey(_cursorJsonUri)); Assert.False(_catalogToDnxStorage.ContentBytes.ContainsKey(indexJsonUri)); Assert.False(_catalogToDnxStorage.ContentBytes.ContainsKey(nupkgUri)); Assert.False(_catalogToDnxStorage.ContentBytes.ContainsKey(nuspecUri)); }
public async Task RunAsync_WhenSourceNupkgIsNotFound_SkipsPackage() { var indexJsonUri = _catalogToDnxStorage.ResolveUri("/listedpackage/index.json"); var nupkgUri = _catalogToDnxStorage.ResolveUri("/unlistedpackage/1.0.0/unlistedpackage.1.0.0.nupkg"); var nuspecUri = _catalogToDnxStorage.ResolveUri("/unlistedpackage/1.0.0/unlistedpackage.nuspec"); var catalogStorage = Catalogs.CreateTestCatalogWithThreePackages(); await _mockServer.AddStorageAsync(catalogStorage); _mockServer.SetAction( "/packages/listedpackage.1.0.0.nupkg", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = _noContent })); var front = new DurableCursor(_cursorJsonUri, _catalogToDnxStorage, MemoryCursor.MinValue); ReadCursor back = MemoryCursor.CreateMax(); await _target.RunAsync(front, back, CancellationToken.None); Assert.Equal(1, _catalogToDnxStorage.Content.Count); Assert.True(_catalogToDnxStorage.Content.ContainsKey(_cursorJsonUri)); Assert.False(_catalogToDnxStorage.Content.ContainsKey(indexJsonUri)); Assert.False(_catalogToDnxStorage.Content.ContainsKey(nupkgUri)); Assert.False(_catalogToDnxStorage.Content.ContainsKey(nuspecUri)); Assert.True(_catalogToDnxStorage.ContentBytes.ContainsKey(_cursorJsonUri)); Assert.False(_catalogToDnxStorage.ContentBytes.ContainsKey(indexJsonUri)); Assert.False(_catalogToDnxStorage.ContentBytes.ContainsKey(nupkgUri)); Assert.False(_catalogToDnxStorage.ContentBytes.ContainsKey(nuspecUri)); }
public async Task RunAsync_WhenDownloadingPackage_RejectsUnexpectedHttpStatusCode(HttpStatusCode statusCode) { var catalogStorage = Catalogs.CreateTestCatalogWithThreePackagesAndDelete(); await _mockServer.AddStorageAsync(catalogStorage); _mockServer.Return404OnUnknownAction = true; _mockServer.SetAction( "/packages/listedpackage.1.0.0.nupkg", request => Task.FromResult(new HttpResponseMessage(statusCode) { Content = _noContent })); var front = new DurableCursor(_cursorJsonUri, _catalogToDnxStorage, MemoryCursor.MinValue); ReadCursor back = MemoryCursor.CreateMax(); var exception = await Assert.ThrowsAsync <InvalidOperationException>( () => _target.RunAsync(front, back, CancellationToken.None)); Assert.Equal( $"Expected status code OK for package download, actual: {statusCode}", exception.Message); Assert.Equal(0, _catalogToDnxStorage.Content.Count); }
public async Task RunAsync_WhenPackageDoesNotHaveNuspec_SkipsPackage() { var zipWithNoNuspec = CreateZipStreamWithEntry("readme.txt", "content"); var indexJsonUri = _catalogToDnxStorage.ResolveUri("/listedpackage/index.json"); var catalogStorage = Catalogs.CreateTestCatalogWithThreePackages(); await _mockServer.AddStorageAsync(catalogStorage); _mockServer.SetAction( "/packages/listedpackage.1.0.0.nupkg", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(zipWithNoNuspec) })); var front = new DurableCursor(_cursorJsonUri, _catalogToDnxStorage, MemoryCursor.MinValue); ReadCursor back = MemoryCursor.CreateMax(); await _target.RunAsync(front, back, CancellationToken.None); Assert.Equal(1, _catalogToDnxStorage.Content.Count); Assert.True(_catalogToDnxStorage.Content.ContainsKey(_cursorJsonUri)); Assert.False(_catalogToDnxStorage.Content.ContainsKey(indexJsonUri)); Assert.True(_catalogToDnxStorage.ContentBytes.ContainsKey(_cursorJsonUri)); Assert.False(_catalogToDnxStorage.ContentBytes.ContainsKey(indexJsonUri)); }
public IActionResult Catalog(string id, int p = 1) { var catalog = Catalogs.FindByUrl(id); if (catalog == null) { return(Prompt()); } ViewBag.Position = id; var list = Posts.PageView(catalog.ID, new PageParameter { PageIndex = p, PageSize = 5 }); // 只有一篇文章时直接跳转到详情页 if (list.Count == 1) { return(View("Post", list.FirstOrDefault())); } ViewBag.PageUrl = id + "/" + (p + 1); return(View("Index", Posts.PageView(catalog.ID, new PageParameter { PageIndex = p, PageSize = 5 }))); }
public AppCatalog(string baseDir = null, string relSearchPath = null) { // This logic is 'borrowed' from the decompiled guts of the class // <<System.ComponentModel.Composition.Hosting.ApplicationCatalog>> // The behavior is mostly the same, but it is simplified for our // particular use-case, and enhanced to support setting the BaseDir if (baseDir == null) { baseDir = AppDomain.CurrentDomain.BaseDirectory; } if (relSearchPath == null) { relSearchPath = AppDomain.CurrentDomain.RelativeSearchPath; } BaseDirectory = baseDir; RelativeSearchPath = relSearchPath; Catalogs.Add(new DirectoryCatalog(baseDir, "*.dll")); Catalogs.Add(new DirectoryCatalog(baseDir, "*.exe")); if (!string.IsNullOrEmpty(relSearchPath)) { foreach (var path in relSearchPath.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)) { var catDir = Path.Combine(baseDir, path); if (Directory.Exists(catDir)) { Catalogs.Add(new DirectoryCatalog(catDir, "*.dll")); } } } }
public async Task FromCatalogEntry_HandlesCreatedLastEdited() { // Arrange var catalogStorage = Catalogs.CreateTestCatalogWithThreePackagesAndDelete(); var client = await CreateDummyClient(catalogStorage); var expectedTimestamp = DateTime.Parse("2015-01-01T00:00:00"); var uris = new List <Uri> { new Uri(catalogStorage.BaseAddress, "data/2015.10.12.10.08.54/listedpackage.1.0.0.json"), new Uri(catalogStorage.BaseAddress, "data/2015.10.12.10.08.54/unlistedpackage.1.0.0.json"), new Uri(catalogStorage.BaseAddress, "data/2015.10.12.10.08.55/listedpackage.1.0.1.json") }; // Act var entries = await Task.WhenAll(uris.Select(uri => PackageTimestampMetadata.FromCatalogEntry(client, new CatalogIndexEntry(uri, null, null, DateTime.MinValue, null, null)))); // Assert foreach (var entry in entries) { Assert.True(entry.Exists); Assert.Equal(expectedTimestamp.Ticks, entry.Created.Value.Ticks); Assert.Equal(expectedTimestamp.Ticks, entry.LastEdited.Value.Ticks); Assert.Null(entry.Deleted); Assert.Equal(expectedTimestamp.Ticks, entry.Last.Value.Ticks); } }
private ProductCatalog?FindMatchingProductCatalog(Catalogs catalogs, Func <IEnumerable <ProductCatalog>, ProductCatalog> fallbackAction) { if (catalogs?.Products is null || !catalogs.Products.Any()) { throw new NotSupportedException("No products to update are found"); } var productsWithCorrectName = catalogs.Products.Where(x => x.Name.Equals(LauncherInformation.Name, StringComparison.InvariantCultureIgnoreCase)).ToList(); var searchOption = LauncherInformation.CurrentUpdateSearchOption ?? LauncherInformation.UpdateSearchOption; var matchingProduct = productsWithCorrectName.FirstOrDefault(x => x.ApplicationType == searchOption); if (fallbackAction == null || matchingProduct != null || LauncherInformation.UpdateMode == UpdateMode.Explicit || LauncherInformation.UpdateMode == UpdateMode.NoFallback) { return(matchingProduct); } var useFallback = true; if (LauncherInformation.UpdateMode == UpdateMode.AskFallbackStable) { var messageBoxResult = MessageBox.Show( $"No updates for {searchOption}-Version available. Do you want to update to the latest stable version instead?", "FoC Launcher", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.Yes); useFallback = messageBoxResult == MessageBoxResult.Yes; } return(useFallback ? fallbackAction(productsWithCorrectName) : null); }
private string CalcDisplayValue(GridHitInfo gridHitInfo) { return(GridViewObjects.GetRowCellValue(gridHitInfo.RowHandle, gridHitInfo.Column) .Return(rcv => { var value = rcv.ToString(); var catValue = value; var typeValue = value; var descriptionValue = value; var classValue = value; (gridHitInfo.Column.FieldName == "Name" || gridHitInfo.Column.FieldName == "OtherName") .Then(() => value = Catalogs.GetFrom(catValue)); (gridHitInfo.Column.FieldName == "Type") .Then(() => value = ObjectType.GetFrom(typeValue)); (gridHitInfo.Column.FieldName == "Description") .Then(() => value = Lookup.GetFrom(descriptionValue)); (gridHitInfo.Column.FieldName == "Classification") .Then(() => value = Classification.GetFrom( GridViewObjects.GetRowCellValue(gridHitInfo.RowHandle, "Type").ToString(), classValue)); (gridHitInfo.Column.FieldName == "MinimumAperture") .Then(() => value = MinimumApertureTip + CalcAperturesSkyBkgndBrightness + " mag/arcsec^2"); (gridHitInfo.Column.FieldName == "BestExitPupil") .Then(() => value = BestExitPupilTip); return value; }, string.Empty)); }
private void InitializeViewModel() { CreateReportCommand = new Command(async() => await GoToCreateReport()); SearchPersonNameCommand = new Command(async() => await GoToSearchPersonByName()); SearchPersonPictureCommand = new Command(async() => await GoToSearchPersonByPicture()); SettingsCommand = new Command(async() => await GoToSettings()); AboutCommand = new Command(async() => await GoToAbout()); this.IsBusy = true; Task.Run(async() => { //initialize catalogs Catalogs.InitCountries(); Catalogs.InitGenre(); Catalogs.InitLanguages(); //get mobile settings Dictionary <string, string> result = await RestHelper.GetMobileSettings(); Settings.AppCenterID_Android = result[nameof(Settings.AppCenterID_Android)]; Settings.AppCenterID_iOS = result[nameof(Settings.AppCenterID_iOS)]; Settings.AzureWebJobsStorage = result[nameof(Settings.AzureWebJobsStorage)]; Settings.ImageStorageUrl = result[nameof(Settings.ImageStorageUrl)]; //initialize App Center DependencyService.Get <IAppCenterService>().Initialize(); }).ContinueWith((b) => { this.IsBusy = false; }); }
public dataModel.Item[] GetItemByIds(string[] itemIds, coreModel.ItemResponseGroup respGroup = coreModel.ItemResponseGroup.ItemLarge) { if (itemIds == null) { throw new ArgumentNullException("categoriesIds"); } if (!itemIds.Any()) { return(new dataModel.Item[] { }); } //Used breaking query EF performance concept https://msdn.microsoft.com/en-us/data/hh949853.aspx#8 var retVal = Items.Include(x => x.Images).Where(x => itemIds.Contains(x.Id)).ToArray(); //Load product catalogs separately var catalogIds = retVal.Select(x => x.CatalogId).Distinct().ToArray(); var catalogs = Catalogs.Include(x => x.CatalogLanguages).Where(x => catalogIds.Contains(x.Id)).ToArray(); //Load product categories separately var categoryIds = retVal.Select(x => x.CategoryId).Where(x => !String.IsNullOrEmpty(x)).Distinct().ToArray(); var categories = Categories.Where(x => categoryIds.Contains(x.Id)).ToArray(); if ((respGroup & coreModel.ItemResponseGroup.Links) == coreModel.ItemResponseGroup.Links) { var relations = CategoryItemRelations.Where(x => itemIds.Contains(x.ItemId)).ToArray(); } if ((respGroup & coreModel.ItemResponseGroup.ItemProperties) == coreModel.ItemResponseGroup.ItemProperties) { var propertyValues = PropertyValues.Where(x => itemIds.Contains(x.ItemId)).ToArray(); //Load categories with all properties for property inheritance categories = GetCategoriesByIds(categoryIds, coreModel.CategoryResponseGroup.WithProperties); } if ((respGroup & coreModel.ItemResponseGroup.ItemAssets) == coreModel.ItemResponseGroup.ItemAssets) { var assets = Assets.Where(x => itemIds.Contains(x.ItemId)).ToArray(); } if ((respGroup & coreModel.ItemResponseGroup.ItemEditorialReviews) == coreModel.ItemResponseGroup.ItemEditorialReviews) { var editorialReviews = EditorialReviews.Where(x => itemIds.Contains(x.ItemId)).ToArray(); } if ((respGroup & coreModel.ItemResponseGroup.Variations) == coreModel.ItemResponseGroup.Variations) { var variationIds = Items.Where(x => itemIds.Contains(x.ParentId)).Select(x => x.Id).ToArray(); //For variations loads only info and images var variations = Items.Include(x => x.Images).Where(x => variationIds.Contains(x.Id)).ToArray(); //load variations property values separately var variationPropertyValues = PropertyValues.Where(x => variationIds.Contains(x.ItemId)).ToArray(); } if ((respGroup & coreModel.ItemResponseGroup.ItemAssociations) == coreModel.ItemResponseGroup.ItemAssociations) { var assosiationGroups = AssociationGroups.Include(x => x.Associations).ToArray(); var assosiatedItemIds = assosiationGroups.SelectMany(x => x.Associations).Select(x => x.ItemId).Distinct().ToArray(); var assosiationItems = GetItemByIds(assosiatedItemIds, coreModel.ItemResponseGroup.ItemInfo); } //Load parents var parentIds = retVal.Where(x => x.Parent == null && x.ParentId != null).Select(x => x.ParentId).ToArray(); var parents = GetItemByIds(parentIds, respGroup); return(retVal); }
public void AddMetaData(MetaData metaData) { if (metaData != null) { if (metaData.Catalog != null) { Catalogs.AddRange(metaData.Catalog); } if (metaData.PriceGroups != null) { PriceGroups.AddRange(metaData.PriceGroups); } if (metaData.NomenclatureGroups != null) { NomenclatureGroups.AddRange(metaData.NomenclatureGroups); } if (metaData.Brands != null) { Brands.AddRange(metaData.Brands); } if (metaData.TypesOfPrices != null) { TypesOfPrices.AddRange(metaData.TypesOfPrices); } if (metaData.CommodityDirections != null) { CommodityDirections.AddRange(metaData.CommodityDirections); } } }
void InitializeViewModel() { Title = "Ubicación"; Catalogs.InitEntities(); Entities = Catalogs.Entities; if (!String.IsNullOrEmpty(Settings.CurrentRecordItem)) { RecordItem item = JsonConvert.DeserializeObject <RecordItem>(Settings.CurrentRecordItem); LocationDetails = item.LocationDetails; if (item.Entity != null) { SelectedEntity = Catalogs.GetEntityValue(item.Entity); } if (item.Municipality != null) { SelectedMunicipality = Catalogs.GetMunicipalityValue(item.Municipality); } if (item.Locality != null) { SelectedLocality = Catalogs.GetLocalityValue(item.Locality); } } NextCommand = new Command(async() => await Next()); }
public async Task RunAsync_WhenMultipleEntriesWithSamePackageIdentityInSameBatch_Throws() { var zipWithWrongNameNuspec = CreateZipStreamWithEntry("Newtonsoft.Json.nuspec", _nuspecData); var indexJsonUri = _catalogToDnxStorage.ResolveUri("/listedpackage/index.json"); var nupkgUri = _catalogToDnxStorage.ResolveUri("/listedpackage/1.0.0/listedpackage.1.0.0.nupkg"); var nuspecUri = _catalogToDnxStorage.ResolveUri("/listedpackage/1.0.0/listedpackage.nuspec"); var nupkgStream = File.OpenRead(@"Packages\ListedPackage.1.0.1.zip"); var expectedNupkg = GetStreamBytes(nupkgStream); var catalogStorage = Catalogs.CreateTestCatalogWithMultipleEntriesWithSamePackageIdentityInSameBatch(); await _mockServer.AddStorageAsync(catalogStorage); _mockServer.SetAction( "/packages/listedpackage.1.0.0.nupkg", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(nupkgStream) })); var front = new DurableCursor(_cursorJsonUri, _catalogToDnxStorage, MemoryCursor.MinValue); ReadCursor back = MemoryCursor.CreateMax(); var exception = await Assert.ThrowsAsync <InvalidOperationException>( () => _target.RunAsync(front, back, CancellationToken.None)); Assert.Equal("The catalog batch 10/13/2015 6:40:07 AM contains multiple entries for the same package identity. Package(s): listedpackage 1.0.0", exception.Message); }
/// <summary> /// Returned all properties belongs to specified catalog /// For virtual catalog also include all properties for categories linked to this virtual catalog /// </summary> /// <param name="catalogId"></param> /// <returns></returns> public dataModel.Property[] GetAllCatalogProperties(string catalogId) { var retVal = new List <dataModel.Property>(); var catalog = Catalogs.FirstOrDefault(x => x.Id == catalogId); if (catalog != null) { var propertyIds = Properties.Where(x => x.CatalogId == catalogId).Select(x => x.Id).ToArray(); if (catalog.Virtual) { //get all category relations var linkedCategoryIds = CategoryLinks.Where(x => x.TargetCatalogId == catalogId) .Select(x => x.SourceCategoryId) .Distinct() .ToArray(); //linked product categories links var linkedProductCategoryIds = CategoryItemRelations.Where(x => x.CatalogId == catalogId) .Join(Items, link => link.ItemId, item => item.Id, (link, item) => item) .Select(x => x.CategoryId) .Distinct() .ToArray(); linkedCategoryIds = linkedCategoryIds.Concat(linkedProductCategoryIds).Distinct().ToArray(); var expandedFlatLinkedCategoryIds = linkedCategoryIds.Concat(GetAllChildrenCategoriesIds(linkedCategoryIds)).Distinct().ToArray(); propertyIds = propertyIds.Concat(Properties.Where(x => expandedFlatLinkedCategoryIds.Contains(x.CategoryId)).Select(x => x.Id)).Distinct().ToArray(); var linkedCatalogIds = Categories.Where(x => expandedFlatLinkedCategoryIds.Contains(x.Id)).Select(x => x.CatalogId).Distinct().ToArray(); propertyIds = propertyIds.Concat(Properties.Where(x => linkedCatalogIds.Contains(x.CatalogId) && x.CategoryId == null).Select(x => x.Id)).Distinct().ToArray(); } retVal.AddRange(GetPropertiesByIds(propertyIds)); } return(retVal.ToArray()); }
/// <summary> /// Initializes a new <see cref="RecursiveDirectoryCatalog"/>. /// </summary> /// <param name="path"> /// The root directory path. In addition to the root, subdirectories of this path are searched for parts. /// </param> public RecursiveDirectoryCatalog(string path) { foreach (var catalog in GetCatalogs(path)) { Catalogs.Add(catalog); } }
public async Task PutsSemVer2PackagesInLegacyStorageWhenSemVer2IsDisabled() { // Arrange SharedInit(useLegacy: true, useSemVer2: false); var catalogStorage = Catalogs.CreateTestCatalogWithSemVer2Package(); await _mockServer.AddStorageAsync(catalogStorage); var front = new DurableCursor(_legacyStorage.ResolveUri("cursor.json"), _legacyStorage, MemoryCursor.MinValue); var back = MemoryCursor.CreateMax(); // Act await _target.RunAsync(front, back, CancellationToken.None); // Assert var legacyCursor = _legacyStorage.Content.FirstOrDefault(pair => pair.Key.PathAndQuery.EndsWith("cursor.json")); Assert.NotNull(legacyCursor.Key); var legacyIndex = _legacyStorage.Content.FirstOrDefault(pair => pair.Key.PathAndQuery.EndsWith("/testpackage.semver2/index.json")); Assert.NotNull(legacyIndex.Key); var legacyLeaf = _legacyStorage.Content.FirstOrDefault(pair => pair.Key.PathAndQuery.EndsWith("/testpackage.semver2/1.0.0-alpha.1.json")); Assert.NotNull(legacyLeaf.Key); Assert.Equal(3, _legacyStorage.Content.Count); }
public View(ViewModel viewModel, AboutScreen aboutScreen, SAC.Loader <Record> loader, Catalogs catalogs, ObjectType objectType, Classification classification, Lookup lookup, IsVisibleHelper isVisibleHelper, MinApertureBestExitPupil minApertureBestExitPupil) { InitializeComponent(); ViewModel = viewModel; AboutScreen = aboutScreen; Loader = loader; Catalogs = catalogs; ObjectType = objectType; Classification = classification; Lookup = lookup; IsVisibleHelper = isVisibleHelper; MinApertureBestExitPupil = minApertureBestExitPupil; SkyBkgndBrightness = 21.5; Subscribe(); }
/// <summary> /// This callback is called when the catalog combobox is deployed. /// </summary> private void DeployCatalogCommandExecute() { if (_taskRetrieveDataBasesIsLaunched) { return; } var context = TaskScheduler.FromCurrentSynchronizationContext(); Catalogs.Clear(); Catalogs.Add("(loading databases ...)"); var connectionString = CreateConnectionStringWithoutCatalog(); _taskRetrieveDataBasesIsLaunched = true; GetDatabases(connectionString).ContinueWith(taskResult => { try { var databases = taskResult.Result; Catalogs.Clear(); databases.ForEach(s => Catalogs.Add(s)); } finally { _taskRetrieveDataBasesIsLaunched = false; } }, context); }
public void LoadSubCatalogs(string fileName) { try { string path; if (!Catalogs.ContainsKey(fileName)) { path = @"Catalog\SubCat\Empty.xml"; } else { path = string.Format(@"Catalog\SubCat\{0}.xml", fileName.Replace(" ", string.Empty)); } if (path == "Catalog\\SubCat\\Всеобъявления.xml") { path = @"Catalog\SubCat\Empty.xml"; } FileStream FS = new FileStream(path, FileMode.Open); XmlSerializer XMLDeser = new XmlSerializer(typeof(UserCollection <string, string>)); SubCatalogs = (UserCollection <string, string>)XMLDeser.Deserialize(FS); FS.Close(); } catch (Exception) { } }
/// <summary> /// make a copy of catalog /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btCopy_Click(object sender, RoutedEventArgs e) { //get the selected item if (lbCatalogs.SelectedItem == null) { return; } ICatalog copy = lbCatalogs.SelectedItem as ICatalog; //copy fields var cat = new Catalog.Catalog(ComputeNode); BermudaConfigUtil.CopyCatalog(copy, cat); //open the window CatalogConfig window = new CatalogConfig(cat, ""); var ret = window.ShowDialog(); if (!ret.HasValue || ret == false) { return; } //add to list Catalogs.Add(cat); ComputeNode.Catalogs.Add(cat.CatalogName, cat); }
public async Task FromCatalogEntry_HandlesDeleted_NotNull() { // Arrange var catalogStorage = Catalogs.CreateTestCatalogWithThreePackagesAndDelete(); var client = await CreateDummyClient(catalogStorage); var expectedTimestamp = DateTime.Parse("2015-01-01T01:01:01.0748028"); var uri = new Uri(catalogStorage.BaseAddress, "data/2015.10.13.06.40.07/otherpackage.1.0.0.json"); var catalogIndexEntry = new CatalogIndexEntry( uri, CatalogConstants.NuGetPackageDelete, "afc8c1f4-486e-4142-b3ec-cf5841eb8883", DateTime.ParseExact( "2015-10-13T06:40:07.7850657Z", CatalogConstants.CommitTimeStampFormat, DateTimeFormatInfo.CurrentInfo, DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal), new PackageIdentity("OtherPackage", new NuGetVersion("1.0.0"))); // Act var entry = await PackageTimestampMetadata.FromCatalogEntry(client, catalogIndexEntry); // Assert Assert.False(entry.Exists); Assert.Null(entry.Created); Assert.Null(entry.LastEdited); Assert.Equal(expectedTimestamp.Ticks, entry.Deleted.Value.Ticks); Assert.Equal(expectedTimestamp.Ticks, entry.Last.Value.Ticks); }
public async Task FromCatalogEntry_HandlesCreatedLastEdited() { // Arrange var catalogStorage = Catalogs.CreateTestCatalogWithThreePackagesAndDelete(); var client = await CreateDummyClient(catalogStorage); var expectedTimestamp = DateTime.Parse("2015-01-01T00:00:00"); var commitTimeStamp1 = DateTime.ParseExact( "2015-10-12T10:08:54.1506742Z", CatalogConstants.CommitTimeStampFormat, DateTimeFormatInfo.CurrentInfo, DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal); var commitTimeStamp2 = DateTime.ParseExact( "2015-10-12T10:08:55.3335317Z", CatalogConstants.CommitTimeStampFormat, DateTimeFormatInfo.CurrentInfo, DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal); var tasks = new Task <PackageTimestampMetadata>[] { PackageTimestampMetadata.FromCatalogEntry( client, new CatalogIndexEntry( new Uri(catalogStorage.BaseAddress, "data/2015.10.12.10.08.54/listedpackage.1.0.0.json"), CatalogConstants.NuGetPackageDetails, "9a37734f-1960-4c07-8934-c8bc797e35c1", commitTimeStamp1, new PackageIdentity("ListedPackage", new NuGetVersion("1.0.0")))), PackageTimestampMetadata.FromCatalogEntry( client, new CatalogIndexEntry( new Uri(catalogStorage.BaseAddress, "data/2015.10.12.10.08.54/unlistedpackage.1.0.0.json"), CatalogConstants.NuGetPackageDetails, "9a37734f-1960-4c07-8934-c8bc797e35c1", commitTimeStamp1, new PackageIdentity("UnlistedPackage", new NuGetVersion("1.0.0")))), PackageTimestampMetadata.FromCatalogEntry( client, new CatalogIndexEntry( new Uri(catalogStorage.BaseAddress, "data/2015.10.12.10.08.55/listedpackage.1.0.1.json"), CatalogConstants.NuGetPackageDetails, "8a9e7694-73d4-4775-9b7a-20aa59b9773e", commitTimeStamp2, new PackageIdentity("ListedPackage", new NuGetVersion("1.0.1")))) }; // Act var entries = await Task.WhenAll(tasks); // Assert foreach (var entry in entries) { Assert.True(entry.Exists); Assert.Equal(expectedTimestamp.Ticks, entry.Created.Value.Ticks); Assert.Equal(expectedTimestamp.Ticks, entry.LastEdited.Value.Ticks); Assert.Null(entry.Deleted); Assert.Equal(expectedTimestamp.Ticks, entry.Last.Value.Ticks); } }
public virtual void Prepare() { ViewBag.Position = "home"; ViewBag.Catalogs = Catalogs.FindAll().OrderBy(p => p.ID); NewLife.Log.XTrace.Log.Info("**请求IP**:" + HttpContext.Connection.RemoteIpAddress.ToString()); }
public CatalogDescription GetDefaultCatalog() { CatalogDescription result = Catalogs .FirstOrDefault(catalog => catalog.Default) ?? Catalogs.First(); return(result); }
private void PrintCatalogs() { Catalogs.Clear(); foreach (var item in GetCatalogs()) { Catalogs.Add(item); } }
public MultipleDirectoryCatalog(string path, bool watchDirector, string filter) { string directoryName = GetNormalizedDirectoryName(path); foreach (string subDirectory in Directory.GetDirectories(directoryName)) { Catalogs.Add(new DirectoryCatalog(subDirectory, watchDirector, filter)); } }
private int LoadCatalogs(DateTimeOffset lastUpdate) { SetCatalogsLabel(); Catalogs catalogs = webService.GetCatalogs(lastUpdate); loadService.DownLoadCatalogs(catalogs); webService.ConfirmUpdateCatalogs(catalogs.Items.Select(x => x.Id)); return(catalogs.Items.Count()); }
private void DeleteCatalogCommandExecute(object obj) { _dataBase.Catalog.Remove(SelectedCatalogToDelete); Catalogs.Remove(SelectedCatalogToDelete); _dataBase.SaveChanges(); DeletingCatalogStatusText = "Deleted!"; }
public async Task RunAsync_WhenDownloadingPackage_OnlyDownloadsNupkgOncePerCatalogLeaf() { // Arrange var catalogStorage = Catalogs.CreateTestCatalogWithThreePackagesAndDelete(); await _mockServer.AddStorageAsync(catalogStorage); _mockServer.SetAction( "/packages/listedpackage.1.0.0.nupkg", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(File.OpenRead("Packages\\ListedPackage.1.0.0.zip")) })); _mockServer.SetAction( "/packages/listedpackage.1.0.1.nupkg", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(File.OpenRead("Packages\\ListedPackage.1.0.1.zip")) })); _mockServer.SetAction( "/packages/unlistedpackage.1.0.0.nupkg", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(File.OpenRead("Packages\\UnlistedPackage.1.0.0.zip")) })); _mockServer.SetAction( "/packages/otherpackage.1.0.0.nupkg", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(File.OpenRead("Packages\\OtherPackage.1.0.0.zip")) })); ReadWriteCursor front = new DurableCursor(_cursorJsonUri, _catalogToDnxStorage, MemoryCursor.MinValue); ReadCursor back = MemoryCursor.CreateMax(); // Act await _target.RunAsync(front, back, CancellationToken.None); // Assert Assert.Equal(9, _catalogToDnxStorage.Content.Count); Assert.Equal(5, _mockServer.Requests.Count); Assert.EndsWith("/index.json", _mockServer.Requests[0].RequestUri.AbsoluteUri); Assert.EndsWith("/page0.json", _mockServer.Requests[1].RequestUri.AbsoluteUri); // The packages were processed in random order. var remainingRequests = _mockServer.Requests .Skip(2) .Take(3) .Select(request => request.RequestUri.AbsoluteUri) .OrderBy(uri => uri) .ToArray(); Assert.Contains("/listedpackage.1.0.0.nupkg", remainingRequests[0]); Assert.Contains("/listedpackage.1.0.1.nupkg", remainingRequests[1]); Assert.Contains("/unlistedpackage.1.0.0.nupkg", remainingRequests[2]); }
public int CreateNewCatalog(bool isNew,string cateId,string catDesc, string catStartDate, string catEndDate, string catThumbNails, string catComments, string catWebColumns, string catSortSequence, PickBase.openMode openMode) { try { Catalogs t; if (isNew) t = new Catalogs(); else t = new Catalogs(cateId); //Value to insert t.AddVariable("UPDATETYPE", "CATALOG"); //t.AddVariable("CATALOG", catid); t.AddVariable("CATDESC", catDesc); t.AddVariable("STARTDATE", catStartDate); t.AddVariable("ENDDATE", catEndDate); t.AddVariable("THUMBS", catThumbNails); t.AddVariable("COMMENTS", catComments); t.AddVariable("COLUMNS", catWebColumns); t.AddVariable("SORT", catSortSequence); int key = t.Write(); return key; } catch (Exception x) { throw; } }