internal void Init(PackageCollection packages) { m_Packages.Clear(); // Initialize the root package m_RootPackage = new Package(); m_Packages.Add(m_RootPackage); // Create a flattened list of packages for (int i = 0; i < packages.Count; i++) { Package package = new Package(packages[i]); m_RootPackage.Packages.Add(package); } // Convert the flattened list of packages into an actual tree for (int i = 0; i < m_RootPackage.Packages.Count; i++) { Package package = m_RootPackage.Packages[i]; Package parentPackage = FindPackageById(package.ParentId); if (parentPackage == null) continue; parentPackage.Packages.Add(package); m_RootPackage.Packages.Remove(package); i--; } }
public IList<Auction.Domain.Package> GetByCategory(long categoryId, ref IAuctionTransaction trans) { using (var records = new PackageCollection()) { var filter = new PredicateExpression(PackageFields.CategoryId == categoryId); if (trans != null) { trans.Add(records); } records.GetMulti(filter); return records.Select(r => new Package() { BidderId = r.BidderId, CategoryId = r.CategoryId, ClosedOutBy = r.ClosedOutBy, Code = r.Code, CreatedBy = r.CreatedBy, EndingBid = r.EndingBid, EventId = r.EventId, Id = r.Id, Name = r.Name, Notes = r.Notes, Paid = (bool)r.Paid, StartingBid = r.StartingBid, UpdatedBy = r.UpdatedBy }).ToList(); } }
public Auction.Domain.Package Get(long Id, ref IAuctionTransaction trans) { using (var records = new PackageCollection()) { var filter = new PredicateExpression(PackageFields.Id == Id); if (trans != null) { trans.Add(records); } records.GetMulti(filter, 1); var r = records.FirstOrDefault(); return new Package() { BidderId = r.BidderId, CategoryId = r.CategoryId, ClosedOutBy = r.ClosedOutBy, Code = r.Code, CreatedBy = r.CreatedBy, EndingBid = r.EndingBid, EventId = r.EventId, Id = r.Id, Name = r.Name, Notes = r.Notes, Paid = (bool) r.Paid, StartingBid = r.StartingBid, UpdatedBy = r.UpdatedBy }; } }
public Updater(string channel) { this.Channel = channel; this.Progress = new Types.OperationProgress("Actualizador", "Mantiene los archivos de la aplicación actualizados."); this.Progress.Modal = false; this.Progress.Advertise = false; this.Packages = new PackageCollection(this); }
/// <summary> /// Initializes a new instance of the <see cref="PackageSession"/> class. /// </summary> public PackageSession(Package package) { packages = new PackageCollection(); packagesCopy = new PackageCollection(); assemblyContainer = new AssemblyContainer(); packages.CollectionChanged += PackagesCollectionChanged; if (package != null) { Packages.Add(package); } }
/// <summary> /// Initializes a new instance of the <see cref="PackageSession"/> class. /// </summary> public PackageSession(Package package) { constraintProvider.AddConstraint(PackageStore.Instance.DefaultPackageName, new VersionSpec(PackageStore.Instance.DefaultPackageVersion.ToSemanticVersion())); packages = new PackageCollection(); packagesCopy = new PackageCollection(); assemblyContainer = new AssemblyContainer(); packages.CollectionChanged += PackagesCollectionChanged; if (package != null) { Packages.Add(package); } }
/// <summary> /// Finds the package dependencies for the specified <see cref="Package" />. See remarks. /// </summary> /// <param name="rootPackage">The root package.</param> /// <param name="includeRootPackage">if set to <c>true</c> [include root package].</param> /// <param name="isRecursive">if set to <c>true</c> [is recursive].</param> /// <param name="storeOnly">if set to <c>true</c> [ignores local packages and keeps only store packages].</param> /// <returns>List<Package>.</returns> /// <exception cref="System.ArgumentNullException">rootPackage</exception> /// <exception cref="System.ArgumentException">Root package must be part of a session;rootPackage</exception> public static PackageCollection FindDependencies(this Package rootPackage, bool includeRootPackage = false, bool isRecursive = true, bool storeOnly = false) { if (rootPackage == null) throw new ArgumentNullException("rootPackage"); var packages = new PackageCollection(); if (includeRootPackage) { packages.Add(rootPackage); } FillPackageDependencies(rootPackage, isRecursive, packages, storeOnly); return packages; }
public override void Dispose() { base.MouseLeftButtonDown -= OnMouseButtonDown; base.DataContext = null; m_EditablePackages.Clear(); m_EditablePackages = null; if (m_ParentSearch != null) m_ParentSearch.ItemsSource = null; if (m_DataGrid != null) { m_DataGrid.CurrentCellChanged -= OnCurrentCellChanged; m_DataGrid.KeyDown -= OnItemsKeyDown; m_DataGrid.ItemsSource = null; } if (m_ListControl != null) { m_ListControl.KeyDown -= OnItemsKeyDown; m_ListControl.ItemsSource = null; } }
/// <summary> /// Adds an existing package to the current session. /// </summary> /// <param name="packagePath">The package path.</param> /// <param name="logger">The session result.</param> /// <param name="loadParametersArg">The load parameters argument.</param> /// <exception cref="System.ArgumentNullException">packagePath</exception> /// <exception cref="System.ArgumentException">Invalid relative path. Expecting an absolute package path;packagePath</exception> /// <exception cref="System.IO.FileNotFoundException">Unable to find package</exception> public Package AddExistingPackage(UFile packagePath, ILogger logger, PackageLoadParameters loadParametersArg = null) { if (packagePath == null) throw new ArgumentNullException("packagePath"); if (logger == null) throw new ArgumentNullException("logger"); if (!packagePath.IsAbsolute) throw new ArgumentException("Invalid relative path. Expecting an absolute package path", "packagePath"); if (!File.Exists(packagePath)) throw new FileNotFoundException("Unable to find package", packagePath); var loadParameters = loadParametersArg ?? PackageLoadParameters.Default(); Package package; try { // Enable reference analysis caching during loading AssetReferenceAnalysis.EnableCaching = true; var packagesLoaded = new PackageCollection(); package = PreLoadPackage(this, logger, packagePath, false, packagesLoaded, loadParameters); // Load all missing references/dependencies LoadMissingReferences(logger, loadParameters); // Load assets TryLoadAssets(this, logger, package, loadParameters); // Run analysis after foreach (var packageToAdd in packagesLoaded) { var analysis = new PackageAnalysis(packageToAdd, GetPackageAnalysisParametersForLoad()); analysis.Run(logger); } } finally { // Disable reference analysis caching after loading AssetReferenceAnalysis.EnableCaching = false; } return package; }
private static void PreLoadPackageDependencies(PackageSession session, ILogger log, Package package, PackageCollection loadedPackages, PackageLoadParameters loadParameters) { if (session == null) throw new ArgumentNullException("session"); if (log == null) throw new ArgumentNullException("log"); if (package == null) throw new ArgumentNullException("package"); if (loadParameters == null) throw new ArgumentNullException("loadParameters"); bool packageDependencyErrors = false; // TODO: Remove and recheck Dependencies Ready if some secondary packages are removed? if (package.State >= PackageState.DependenciesReady) return; // 1. Load store package foreach (var packageDependency in package.Meta.Dependencies) { var loadedPackage = session.Packages.Find(packageDependency); if (loadedPackage == null) { var file = PackageStore.Instance.GetPackageFileName(packageDependency.Name, packageDependency.Version, session.constraintProvider); if (file == null) { // TODO: We need to support automatic download of packages. This is not supported yet when only Xenko // package is supposed to be installed, but It will be required for full store log.Error("Unable to find package {0} not installed", packageDependency); packageDependencyErrors = true; continue; } // Recursive load of the system package loadedPackage = PreLoadPackage(session, log, file, true, loadedPackages, loadParameters); } if (loadedPackage == null || loadedPackage.State < PackageState.DependenciesReady) packageDependencyErrors = true; } // 2. Load local packages foreach (var packageReference in package.LocalDependencies) { // Check that the package was not already loaded, otherwise return the same instance if (session.Packages.ContainsById(packageReference.Id)) { continue; } // Expand the string of the location var newLocation = (UFile)AssetRegistry.ExpandString(session, packageReference.Location); var subPackageFilePath = package.RootDirectory != null ? UPath.Combine(package.RootDirectory, newLocation) : newLocation; // Recursive load var loadedPackage = PreLoadPackage(session, log, subPackageFilePath.FullPath, false, loadedPackages, loadParameters); if (loadedPackage == null || loadedPackage.State < PackageState.DependenciesReady) packageDependencyErrors = true; } // 3. Update package state if (!packageDependencyErrors) { package.State = PackageState.DependenciesReady; } }
public override void Dispose() { base.Dispose(); Accounts.Dispose(); Incomes.Dispose(); Packages.Dispose(); Categories.Dispose(); Accounts = new AccountCollection(); Incomes = new IncomeCollection(); Packages = new PackageCollection(); Categories = new CategoryCollection(); _BackgroundRun = null; _BackgroundUpdateBalances = null; }
void FillSummaryPage() { btnPrev.Sensitive = true; AddinHeader[] infos = tree.GetSelectedAddins(); PackageCollection packs = new PackageCollection(); foreach (AddinHeader info in infos) { AddinRepositoryEntry arep = (AddinRepositoryEntry)tree.GetAddinData(info); packs.Add(Package.FromRepository(arep)); } packagesToInstall = new PackageCollection(packs); PackageCollection toUninstall; DependencyCollection unresolved; bool res; InstallMonitor m = new InstallMonitor(); res = service.ResolveDependencies(m, packs, out toUninstall, out unresolved); StringBuilder sb = new StringBuilder(); if (!res) { sb.Append(Catalog.GetString("<b><span foreground=\"red\">The selected add-ins can't be installed because there are dependency conflicts.</span></b>\n")); foreach (string s in m.Errors) { sb.Append(Catalog.GetString("<b><span foreground=\"red\">" + s + "</span></b>\n")); } sb.Append("\n"); } if (m.Warnings.Count != 0) { foreach (string w in m.Warnings) { sb.Append(Catalog.GetString("<b><span foreground=\"red\">" + w + "</span></b>\n")); } sb.Append("\n"); } sb.Append(Catalog.GetString("<b>The following packages will be installed:</b>\n\n")); foreach (Package p in packs) { sb.Append(p.Name); if (!p.SharedInstall) { sb.Append(Catalog.GetString(" (in user directory)")); } sb.Append("\n"); } sb.Append("\n"); if (toUninstall.Count > 0) { sb.Append(Catalog.GetString("<b>The following packages need to be uninstalled:</b>\n\n")); foreach (Package p in toUninstall) { sb.Append(p.Name + "\n"); } sb.Append("\n"); } if (unresolved.Count > 0) { sb.Append(Catalog.GetString("<b>The following dependencies could not be resolved:</b>\n\n")); foreach (Dependency p in unresolved) { sb.Append(p.Name + "\n"); } sb.Append("\n"); } btnNext.Sensitive = res; labelSummary.Markup = sb.ToString(); }
private void RetrievePackages() { this.Packages = new PackageCollection(this.packageRepository.FindAll()); }
public UserInterface(INHydrateModelObject root) : base(root) { _packages = new PackageCollection(this.Root); _name = "User Interface"; }
private void CreatePackagesList() { using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter writer = new HtmlTextWriter(sw)) { PackageCollection packages = Package.Utils.GetPackagesByWaiveID(waiveID); Waive waive = new Waive(waiveID); if (packages.Count() > 0) { writer.AddAttribute("class", "listview"); writer.AddAttribute("cellspacing", "0"); writer.AddAttribute("cellpadding", "0"); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("class", "package"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.PackageTexts.Package); writer.RenderEndTag(); // Th writer.AddAttribute("class", "amount"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.PackageTexts.Amount); writer.RenderEndTag(); // Th writer.AddAttribute("class", "produtionweeks"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.PackageTexts.ListHeaderProductionWeeks); writer.RenderEndTag(); // Th writer.AddAttribute("class", "delete"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.Global.ListHeaderButtons); writer.RenderEndTag(); // Th writer.RenderEndTag(); // Tr foreach (var package in packages) { Activity activity = new Activity(package.ActivityID); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("class", "package"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute("href", Urls.PackageUrl + "?caseid=" + caseID + "&packageid=" + package.ID + "&activityid=" + package.ActivityID + "&pagetype=package"); writer.RenderBeginTag(HtmlTextWriterTag.A); writer.AddAttribute("class", "title"); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(package.Title + " - " + activity.Title); writer.RenderEndTag(); //Span writer.RenderEndTag(); // A writer.RenderEndTag(); // Td writer.AddAttribute("class", "amount"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute("class", "amount"); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(package.WaiveAmount); if (!waive.IsOrdered) { writer.AddAttribute("class", "fa fa-pencil edit"); writer.AddAttribute("onclick", "return editPackageAmount(" + package.ID + ", '" + package.Title + "', " + package.WaiveAmount + ", " + package.WaiveProductionWeeks + ");"); writer.RenderBeginTag(HtmlTextWriterTag.I); writer.RenderEndTag(); // I } writer.RenderEndTag(); // Span writer.RenderEndTag(); // Td writer.AddAttribute("class", "amount"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute("class", "amount"); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(package.WaiveProductionWeeks); if (!waive.IsOrdered) { writer.AddAttribute("class", "fa fa-pencil edit"); writer.AddAttribute("onclick", "return editPackageProdutionWeeks(" + package.ID + ", '" + package.Title + "', " + package.WaiveAmount + ", " + package.WaiveProductionWeeks + ");"); writer.RenderBeginTag(HtmlTextWriterTag.I); writer.RenderEndTag(); // I } writer.RenderEndTag(); // Span writer.RenderEndTag(); // Td writer.AddAttribute("class", "delete"); writer.RenderBeginTag(HtmlTextWriterTag.Td); if (!waive.IsOrdered) { writer.AddAttribute("class", "fa fa fa-times remove"); writer.AddAttribute("onclick", "return removePackage(" + package.ID + ", '" + package.Title + "');"); writer.RenderBeginTag(HtmlTextWriterTag.I); writer.RenderEndTag(); // I } writer.RenderEndTag(); //Td writer.RenderEndTag(); // Tr } writer.RenderEndTag(); // Table } litPackagesList.Text = sw.ToString(); } } }
void LoadWindow() { // Do not reenter if already in progress... if (m_LoadWindowInProgress) { return; } m_LoadWindowInProgress = true; rootVisualElement.Clear(); var mainTemplate = EditorGUIUtility.Load(k_ServicesWindowUxmlPath) as VisualTreeAsset; rootVisualElement.AddStyleSheetPath(ServicesUtils.StylesheetPath.servicesWindowCommon); rootVisualElement.AddStyleSheetPath(EditorGUIUtility.isProSkin ? ServicesUtils.StylesheetPath.servicesWindowDark : ServicesUtils.StylesheetPath.servicesWindowLight); mainTemplate.CloneTree(rootVisualElement, new Dictionary <string, VisualElement>(), null); notificationSubscriber = new UIElementsNotificationSubscriber(rootVisualElement); notificationSubscriber.Subscribe( Notification.Topic.AdsService, Notification.Topic.AnalyticsService, Notification.Topic.BuildService, Notification.Topic.CollabService, Notification.Topic.CoppaCompliance, Notification.Topic.CrashService, Notification.Topic.ProjectBind, Notification.Topic.PurchasingService ); rootVisualElement.Q <Button>(k_ProjectSettingsBtnName).clicked += () => { ServicesUtils.OpenServicesProjectSettings(GeneralProjectSettings.generalProjectSettingsPath, typeof(GeneralProjectSettings).Name); }; var dashboardClickable = new Clickable(() => { if (UnityConnect.instance.projectInfo.projectBound) { ServicesConfiguration.instance.RequestBaseDashboardUrl(baseDashboardUrl => { EditorAnalytics.SendOpenDashboardForService(new ServicesProjectSettings.OpenDashboardForService() { serviceName = k_WindowTitle, url = baseDashboardUrl, organizationId = UnityConnect.instance.projectInfo.organizationId, projectId = UnityConnect.instance.projectInfo.projectId }); ServicesConfiguration.instance.RequestCurrentProjectDashboardUrl(Application.OpenURL); }); } else { NotificationManager.instance.Publish(Notification.Topic.ProjectBind, Notification.Severity.Warning, L10n.Tr(k_ProjectNotBoundMessage)); ServicesUtils.OpenServicesProjectSettings(GeneralProjectSettings.generalProjectSettingsPath, typeof(GeneralProjectSettings).Name); } }); rootVisualElement.Q(k_DashboardLinkName).AddManipulator(dashboardClickable); m_SortedServices = new SortedList <string, SingleService>(); bool needProjectListOfPackage = false; foreach (var service in ServicesRepository.GetServices()) { m_SortedServices.Add(service.title, service); if (service.isPackage && service.packageName != null) { needProjectListOfPackage = true; } } // Only launch the listing if a service really needs the packages list... m_PackageCollection = null; if (needProjectListOfPackage) { m_ListRequestOfPackage = Client.List(); EditorApplication.update += ListingCurrentPackageProgress; } else { FinalizeServiceSetup(); m_LoadWindowInProgress = false; } }
public override bool Execute() { if (Packages?.Length == 0) { Log.LogError("No packages were found."); return(false); } if (string.IsNullOrEmpty(CsvFile) || !File.Exists(CsvFile)) { Log.LogError($"Package manifest (csv file) could not be loaded from '{CsvFile}'"); return(false); } var expectedPackages = PackageCollection.DeserializeFromCsv(CsvFile); Directory.CreateDirectory(DestinationFolder); foreach (var package in Packages) { PackageIdentity identity; using (var reader = new PackageArchiveReader(package.ItemSpec)) { identity = reader.GetIdentity(); } if (!expectedPackages.TryGetCategory(identity.Id, out var category)) { Log.LogError($"{CsvFile} does not contain an entry for a package with id: {identity.Id}"); return(false); } string destDir; switch (category) { case PackageCategory.Unknown: throw new InvalidOperationException($"Package {identity} does not have a recognized package category."); case PackageCategory.Shipping: destDir = Path.Combine(DestinationFolder, "ship"); break; case PackageCategory.NoShip: destDir = Path.Combine(DestinationFolder, "noship"); break; case PackageCategory.ShipOob: destDir = Path.Combine(DestinationFolder, "shipoob"); break; default: throw new NotImplementedException(); } Directory.CreateDirectory(destDir); var destFile = Path.Combine(destDir, Path.GetFileName(package.ItemSpec)); Log.LogMessage($"Copying {package.ItemSpec} to {destFile}"); File.Copy(package.ItemSpec, destFile); expectedPackages.Remove(identity.Id); } if (expectedPackages.Count != 0) { var error = new StringBuilder(); foreach (var key in expectedPackages.Keys) { error.Append(" - ").AppendLine(key); } Log.LogError($"Expected the following packages based on the contents of {CsvFile}, but they were not found:" + error.ToString()); return(false); } return(true); }
public SetItemInfoTemplateManager(PackageCollection collection) : base(collection) { }
/// <summary> /// Loads a package from specified file path. /// </summary> /// <param name="filePath">The file path to a package file.</param> /// <param name="sessionResult">The session result.</param> /// <param name="loadParameters">The load parameters.</param> /// <returns>A package.</returns> /// <exception cref="System.ArgumentNullException">filePath</exception> /// <exception cref="System.ArgumentException">File [{0}] must exist.ToFormat(filePath);filePath</exception> public static void Load(string filePath, PackageSessionResult sessionResult, PackageLoadParameters loadParameters = null) { if (filePath == null) throw new ArgumentNullException("filePath"); if (sessionResult == null) throw new ArgumentNullException("sessionResult"); // Make sure with have valid parameters loadParameters = loadParameters ?? PackageLoadParameters.Default(); // Make sure to use a full path. filePath = FileUtility.GetAbsolutePath(filePath); if (!File.Exists(filePath)) throw new ArgumentException("File [{0}] must exist".ToFormat(filePath), "filePath"); try { // Enable reference analysis caching during loading AssetReferenceAnalysis.EnableCaching = true; using (var profile = Profiler.Begin(PackageSessionProfilingKeys.Loading)) { sessionResult.Clear(); sessionResult.Progress("Loading..", 0, 1); var session = new PackageSession(); var packagePaths = new List<string>(); // If we have a solution, load all packages if (PackageSessionHelper.IsSolutionFile(filePath)) { PackageSessionHelper.LoadSolution(session, filePath, packagePaths, sessionResult); } else if (PackageSessionHelper.IsPackageFile(filePath)) { packagePaths.Add(filePath); } else { sessionResult.Error("Unsupported file extension (only .sln or {0} are supported)", Package.PackageFileExtension); return; } var cancelToken = loadParameters.CancelToken; // Load all packages var packagesLoaded = new PackageCollection(); foreach (var packageFilePath in packagePaths) { PreLoadPackage(session, sessionResult, packageFilePath, false, packagesLoaded, loadParameters); // Output the session only if there is no cancellation if (cancelToken.HasValue && cancelToken.Value.IsCancellationRequested) { return; } } // Load all missing references/dependencies session.LoadMissingReferences(sessionResult, loadParameters); // Fix relative references var analysis = new PackageSessionAnalysis(session, GetPackageAnalysisParametersForLoad()); var analysisResults = analysis.Run(); analysisResults.CopyTo(sessionResult); // Run custom package session analysis foreach (var type in AssetRegistry.GetPackageSessionAnalysisTypes()) { var pkgAnalysis = (PackageSessionAnalysisBase)Activator.CreateInstance(type); pkgAnalysis.Session = session; var results = pkgAnalysis.Run(); results.CopyTo(sessionResult); } // Output the session only if there is no cancellation if (!cancelToken.HasValue || !cancelToken.Value.IsCancellationRequested) { sessionResult.Session = session; // Defer the initialization of the dependency manager //session.DependencyManager.InitializeDeferred(); } // Setup the current package when loading it if (packagePaths.Count == 1) { var currentPackagePath = new UFile(packagePaths[0]); foreach (var package in packagesLoaded) { if (package.FullPath == currentPackagePath) { session.CurrentPackage = package; break; } } } // The session is not dirty when loading it session.IsDirty = false; } } finally { // Disable reference analysis caching after loading AssetReferenceAnalysis.EnableCaching = false; } }
public void Update(ref Auction.Domain.Package package, ref IAuctionTransaction trans) { using(var records = new PackageCollection()) { var pack = new PackageEntity() { BidderId = package.BidderId, CategoryId = package.CategoryId, ClosedOutBy = package.ClosedOutBy, Code = package.Code, CreatedBy = package.CreatedBy, EndingBid = (decimal?)package.EndingBid, EventId = package.EventId, Name = package.Name, Notes = package.Notes, Paid = package.Paid, StartingBid = (decimal)package.StartingBid, UpdatedBy = package.UpdatedBy }; if (trans != null) { trans.Add(pack); } records.UpdateMulti(pack, new PredicateExpression(PackageFields.Id == package.Id)); } }
/// <summary> /// Make sure packages have their dependencies loaded. /// </summary> /// <param name="log">The log.</param> /// <param name="loadParametersArg">The load parameters argument.</param> public void LoadMissingDependencies(ILogger log, PackageLoadParameters loadParametersArg = null) { var loadParameters = loadParametersArg ?? PackageLoadParameters.Default(); var cancelToken = loadParameters.CancelToken; var packagesLoaded = new PackageCollection(); // Make a copy of Packages as it can be modified by PreLoadPackageDependencies var previousPackages = Packages.ToList(); foreach (var package in previousPackages) { // Output the session only if there is no cancellation if (cancelToken.HasValue && cancelToken.Value.IsCancellationRequested) { return; } PreLoadPackageDependencies(this, log, package, packagesLoaded, loadParameters); } }
private void CreateListPackages() { using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter writer = new HtmlTextWriter(sw)) { PackageCollection packages = Package.Utils.GetPackagesByCaseID(caseID); writer.AddAttribute("class", "listview"); writer.AddAttribute("cellspacing", "0"); writer.AddAttribute("cellpadding", "0"); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("class", "id"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.PackageTexts.ListHeaderID); writer.RenderEndTag(); // Th writer.AddAttribute("class", "title"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.PackageTexts.ListHeaderTitle); writer.RenderEndTag(); // Th //writer.AddAttribute("class", "activity"); //writer.RenderBeginTag(HtmlTextWriterTag.Th); //writer.Write(Resources.PackageTexts.ListHeaderActivity); //writer.RenderEndTag(); // Th writer.AddAttribute("class", "price"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.PackageTexts.ListHeaderPrice); writer.RenderEndTag(); // Th writer.AddAttribute("class", "delete"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.Global.ListHeaderButtons); writer.RenderEndTag(); // Th writer.RenderEndTag(); // Tr foreach (var package in packages) { writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute("class", "id dimmed"); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(package.ID); writer.RenderEndTag(); //Span writer.RenderEndTag(); // Td writer.AddAttribute("class", "title"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute("href", Urls.PackageUrl + "?caseid=" + caseID + "&packageid=" + package.ID + "&activityid=" + package.ActivityID + "&pagetype=package#tabindex-0"); writer.RenderBeginTag(HtmlTextWriterTag.A); writer.AddAttribute("class", "title"); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(package.Title); writer.RenderEndTag(); //Span writer.RenderEndTag(); // A writer.RenderEndTag(); // Td //Activity activity = new Activity(package.ActivityID); //writer.RenderBeginTag(HtmlTextWriterTag.Td); //writer.AddAttribute("class", "activity"); //writer.RenderBeginTag(HtmlTextWriterTag.Span); //writer.Write(activity.Title); //writer.RenderEndTag(); //Span //writer.RenderEndTag(); // Td writer.AddAttribute("class", "price"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(package.GetTotalPrice().ToString("N2") + Resources.Global.CurrencyDisplay); writer.RenderEndTag(); //Span writer.RenderEndTag(); // Td writer.AddAttribute("class", "delete"); writer.RenderBeginTag(HtmlTextWriterTag.Td); if (!package.isUsedInWaive()) { writer.AddAttribute("class", "fa fa fa-times remove"); writer.AddAttribute("onclick", "return deletePackage(" + package.ID + ", '" + package.Title + "');"); writer.RenderBeginTag(HtmlTextWriterTag.I); writer.RenderEndTag(); // I } writer.RenderEndTag(); // Td writer.RenderEndTag(); // Tr } writer.RenderEndTag(); // Table } litlistPackages.Text = sw.ToString(); } }
private static Package PreLoadPackage(PackageSession session, ILogger log, string filePath, bool isSystemPackage, PackageCollection loadedPackages, PackageLoadParameters loadParameters) { if (session == null) throw new ArgumentNullException("session"); if (log == null) throw new ArgumentNullException("log"); if (filePath == null) throw new ArgumentNullException("filePath"); if (loadedPackages == null) throw new ArgumentNullException("loadedPackages"); if (loadParameters == null) throw new ArgumentNullException("loadParameters"); try { var packageId = Package.GetPackageIdFromFile(filePath); // Check that the package was not already loaded, otherwise return the same instance if (session.Packages.ContainsById(packageId)) { return session.Packages.Find(packageId); } // Package is already loaded, use the instance if (loadedPackages.ContainsById(packageId)) { return loadedPackages.Find(packageId); } // Load the package without loading any assets var package = Package.LoadRaw(log, filePath); package.IsSystem = isSystemPackage; // Convert UPath to absolute (Package only) // Removed for now because it is called again in PackageSession.LoadAssembliesAndAssets (and running it twice result in dirty package) // If we remove it from here (and call it only in the other method), templates are not loaded (Because they are loaded via the package store that do not use PreLoadPackage) //if (loadParameters.ConvertUPathToAbsolute) //{ // var analysis = new PackageAnalysis(package, new PackageAnalysisParameters() // { // ConvertUPathTo = UPathType.Absolute, // SetDirtyFlagOnAssetWhenFixingAbsoluteUFile = true, // IsProcessingUPaths = true, // }); // analysis.Run(log); //} // If the package doesn't have a meta name, fix it here (This is supposed to be done in the above disabled analysis - but we still need to do it!) if (string.IsNullOrWhiteSpace(package.Meta.Name) && package.FullPath != null) { package.Meta.Name = package.FullPath.GetFileName(); package.IsDirty = true; } // Add the package has loaded before loading dependencies loadedPackages.Add(package); // Package has been loaded, register it in constraints so that we force each subsequent loads to use this one (or fails if version doesn't match) session.constraintProvider.AddConstraint(package.Meta.Name, new VersionSpec(package.Meta.Version.ToSemanticVersion())); // Load package dependencies // This will perform necessary asset upgrades // TODO: We should probably split package loading in two recursive top-level passes (right now those two passes are mixed, making it more difficult to make proper checks) // - First, load raw packages with their dependencies recursively, then resolve dependencies and constraints (and print errors/warnings) // - Then, if everything is OK, load the actual references and assets for each packages PreLoadPackageDependencies(session, log, package, loadedPackages, loadParameters); // Add the package to the session but don't freeze it yet session.Packages.Add(package); return package; } catch (Exception ex) { log.Error("Error while pre-loading package [{0}]", ex, filePath); } return null; }
public void Reload() { this.packages = null; }
public PackageCollectionForm(PackageCollection packageCollection):this() { _packageCollection = packageCollection; this.LoadList(); }
private static Package PreLoadPackage(PackageSession session, ILogger log, string filePath, bool isSystemPackage, PackageCollection loadedPackages, PackageLoadParameters loadParameters) { if (session == null) throw new ArgumentNullException("session"); if (log == null) throw new ArgumentNullException("log"); if (filePath == null) throw new ArgumentNullException("filePath"); if (loadedPackages == null) throw new ArgumentNullException("loadedPackages"); if (loadParameters == null) throw new ArgumentNullException("loadParameters"); try { var packageId = Package.GetPackageIdFromFile(filePath); // Check that the package was not already loaded, otherwise return the same instance if (session.Packages.ContainsById(packageId)) { return session.Packages.Find(packageId); } // Package is already loaded, use the instance if (loadedPackages.ContainsById(packageId)) { return loadedPackages.Find(packageId); } // Load the package without loading assets var newLoadParameters = loadParameters.Clone(); newLoadParameters.AssemblyContainer = session.assemblyContainer; // Load the package var package = Package.Load(log, filePath, newLoadParameters); package.IsSystem = isSystemPackage; // Add the package has loaded before loading dependencies loadedPackages.Add(package); // Package has been loaded, register it in constraints so that we force each subsequent loads to use this one (or fails if version doesn't match) session.constraintProvider.AddConstraint(package.Meta.Name, new VersionSpec(package.Meta.Version.ToSemanticVersion())); // Load package dependencies PreLoadPackageDependencies(session, log, package, loadedPackages, loadParameters); // Add the package to the session but don't freeze it yet session.Packages.Add(package); // Validate assets from package package.ValidateAssets(loadParameters.GenerateNewAssetIds); // Freeze the package after loading the assets session.FreezePackage(package); return package; } catch (Exception ex) { log.Error("Error while pre-loading package [{0}]", ex, filePath); } return null; }
public FilterViewModel(PackageCollection fullList) { FullList = fullList; FullList.CollectionChanged += FullListChanged; }
static PackageTable() { Packages = new PackageCollection(); }
public MobLazyTemplateManager(PackageCollection collection) : base(collection) { }