public FlowToken Execute(EntityToken entityToken, ActionToken actionToken, FlowControllerServicesContainer flowControllerServicesContainer) { var packageName = PackageCreatorFacade.ActivePackageName; if (entityToken is PackageCreatorEntityToken) { packageName = (entityToken as PackageCreatorEntityToken).Source; } if (string.IsNullOrEmpty(packageName)) { flowControllerServicesContainer.GetService <IManagementConsoleMessageService>(); IManagementConsoleMessageService consoleServices = flowControllerServicesContainer.GetService <IManagementConsoleMessageService>(); consoleServices.ShowMessage(DialogType.Warning, PackageCreatorFacade.GetLocalization("NoPackages.Title"), PackageCreatorFacade.GetLocalization("NoPackages.Message")); return(null); } if (actionToken is PackageCreatorActionToken) { var token = actionToken as PackageCreatorActionToken; foreach (var item in PackageCreatorActionFacade.GetPackageCreatorItems(entityToken)) { if (item.CategoryName == token.CategoryName) { //if diffent item for one category and entitytoken var itemActionToken = item as IPackItemActionToken; if (itemActionToken != null) { if (token.Name != itemActionToken.ActionTokenName) { continue; } } if (item is IPackToggle) { if ((item as IPackToggle).CheckedStatus == ActionCheckedStatus.Checked) { PackageCreatorFacade.RemoveItem(item, packageName); } else { PackageCreatorFacade.AddItem(item, packageName); } var parentTreeRefresher = new ParentTreeRefresher(flowControllerServicesContainer); parentTreeRefresher.PostRefreshMesseges(entityToken); } else { PackageCreatorFacade.AddItem(item, packageName); } break; } } } SpecificTreeRefresher treeRefresher = new SpecificTreeRefresher(flowControllerServicesContainer); treeRefresher.PostRefreshMesseges(new PackageCreatorElementProviderEntityToken()); return(null); }
public FlowToken Execute(EntityToken entityToken, ActionToken actionToken, FlowControllerServicesContainer flowControllerServicesContainer) { var packageName = PackageCreatorFacade.ActivePackageName; if (entityToken is PackageCreatorEntityToken) { packageName = (entityToken as PackageCreatorEntityToken).Source; } if (string.IsNullOrEmpty(packageName)) { flowControllerServicesContainer.GetService <IManagementConsoleMessageService>(); var consoleServices = flowControllerServicesContainer.GetService <IManagementConsoleMessageService>(); consoleServices.ShowMessage(DialogType.Warning, PackageCreatorFacade.GetLocalization("NoPackages.Title"), PackageCreatorFacade.GetLocalization("NoPackages.Message")); return(null); } if (actionToken is AddLocalizationActionToken) { var token = actionToken as AddLocalizationActionToken; PackageCreatorFacade.AddItem(new PCLocalizations(token.CultureName), packageName); } var treeRefresher = new SpecificTreeRefresher(flowControllerServicesContainer); treeRefresher.PostRefreshMesseges(new PackageCreatorElementProviderEntityToken()); return(null); }
public string GetLabel() { if (string.IsNullOrEmpty(Label)) { return(PackageCreatorFacade.GetLocalization(string.Format("{0}.Label", Name))); } return(Label); }
private void ValidateSave(object sender, ConditionalEventArgs e) { e.Result = true; var package = this.GetBinding <PackageInformation>("Package"); var maxCompositeVersionSupported = this.GetBinding <string>("MaxCompositeVersionSupported"); var minCompositeVersionSupported = this.GetBinding <string>("MinCompositeVersionSupported"); try { package.MaxCompositeVersionSupported = new Version(maxCompositeVersionSupported); } catch { this.ShowFieldMessage("MaxCompositeVersionSupported", PackageCreatorFacade.GetLocalization("Error.WrongVersion")); e.Result = false; } try { package.MinCompositeVersionSupported = new Version(minCompositeVersionSupported); } catch { this.ShowFieldMessage("MinCompositeVersionSupported", PackageCreatorFacade.GetLocalization("Error.WrongVersion")); e.Result = false; } if (string.IsNullOrEmpty(package.Description)) { this.ShowFieldMessage("Package.Description", PackageCreatorFacade.GetLocalization("Required")); e.Result = false; } if (string.IsNullOrEmpty(package.TechnicalDetails)) { this.ShowFieldMessage("Package.TechnicalDetails", PackageCreatorFacade.GetLocalization("Required")); e.Result = false; } if (this.EntityToken.Source != package.Name && PackageCreatorFacade.GetPackageNames().Contains(package.Name.Trim())) { this.ShowFieldMessage("Package.Name", PackageCreatorFacade.GetLocalization("Error.PackageAlreadyExist")); e.Result = false; } this.UpdateBinding("Package", package); }
public IEnumerable <Element> GetRoots(SearchToken seachToken) { Element element = new Element(_context.CreateElementHandle(new PackageCreatorElementProviderEntityToken())) { VisualData = new ElementVisualizedData() { Label = PackageCreatorFacade.GetLocalization("PackageCreatorElementProviderEntityToken.Label"), ToolTip = PackageCreatorFacade.GetLocalization("PackageCreatorElementProviderEntityToken.ToolTip"), HasChildren = true, Icon = new ResourceHandle("Composite.Icons", "blocks"), OpenedIcon = new ResourceHandle("Composite.Icons", "blocks") } }; element.AddAction(new ElementAction(new ActionHandle(new WorkflowActionToken(typeof(CreatePackageWorkflow), new PermissionType[] { PermissionType.Administrate }))) { VisualData = new ActionVisualizedData { Label = PackageCreatorFacade.GetLocalization("CreatePackage.Label"), ToolTip = PackageCreatorFacade.GetLocalization("CreatePackage.ToolTip"), Icon = new ResourceHandle("Composite.Icons", "blocks"), ActionLocation = new ActionLocation { ActionType = PackageCreatorFacade.ActionType, IsInFolder = false, IsInToolbar = true, ActionGroup = new ActionGroup("Develop", ActionGroupPriority.PrimaryLow) } } }); element.AddAction(new ElementAction(new ActionHandle(new WorkflowActionToken(typeof(UploadConfigWorkflow), new PermissionType[] { PermissionType.Administrate }))) { VisualData = new ActionVisualizedData { Label = PackageCreatorFacade.GetLocalization("UploadConfig.Label"), ToolTip = PackageCreatorFacade.GetLocalization("UploadConfig.ToolTip"), Icon = new ResourceHandle("Composite.Icons", "package-install-local-package"), ActionLocation = new ActionLocation { ActionType = PackageCreatorFacade.ActionType, IsInFolder = false, IsInToolbar = false, ActionGroup = new ActionGroup("Develop", ActionGroupPriority.PrimaryLow) } } }); if (UserSettings.C1ConsoleUiLanguage.Name != "en-US") { element.AddAction(new ElementAction(new ActionHandle(new CreatePackageWorkflowActionToken(string.Format("Composite.Localization.C1Console.{0}", new CultureInfo(UserSettings.C1ConsoleUiLanguage.TwoLetterISOLanguageName).EnglishName), new AddLocalizationActionToken(UserSettings.C1ConsoleUiLanguage.Name)))) { VisualData = new ActionVisualizedData { Label = string.Format(PackageCreatorFacade.GetLocalization("CreateLocalizationPackage.Label"), StringResourceSystemFacade.GetString("Composite.Cultures", UserSettings.C1ConsoleUiLanguage.Name)), ToolTip = string.Format(PackageCreatorFacade.GetLocalization("CreateLocalizationPackage.ToolTip"), StringResourceSystemFacade.GetString("Composite.Cultures", UserSettings.C1ConsoleUiLanguage.Name)), Icon = new ResourceHandle("Composite.Icons", "package-element-closed-availableitem"), ActionLocation = new ActionLocation { ActionType = PackageCreatorFacade.ActionType, IsInFolder = false, IsInToolbar = false, ActionGroup = new ActionGroup("Develop", ActionGroupPriority.PrimaryLow) } } }); } yield return(element); yield return(GetXmlNodeElement(PCCompositeConfig.Source, string.Empty, PCCompositeConfig.Source)); yield return(GetXmlNodeElement(PCWebConfig.Source, string.Empty, PCWebConfig.Source)); }
public IEnumerable <Element> GetChildren(EntityToken entityToken, SearchToken seachToken) { if (entityToken is PackageCreatorElementProviderEntityToken) { IEnumerable <string> packages = PackageCreatorFacade.GetPackageNames(); foreach (var package in packages) { bool isActivePackage = PackageCreatorFacade.ActivePackageName == package; var icon = isActivePackage ? (new ResourceHandle("Composite.Icons", "inbox-green")) : new ResourceHandle("Composite.Icons", "inbox"); var element = new Element(_context.CreateElementHandle(new PackageCreatorPackageElementProviderEntityToken(package))) { VisualData = new ElementVisualizedData() { Label = package, ToolTip = package, HasChildren = true, Icon = icon, OpenedIcon = icon } }; element.AddAction(new ElementAction(new ActionHandle(new WorkflowActionToken(typeof(EditPackageWorkflow), new[] { PermissionType.Administrate }))) { VisualData = new ActionVisualizedData { Label = PackageCreatorFacade.GetLocalization("EditPackage.Label"), ToolTip = PackageCreatorFacade.GetLocalization("EditPackage.ToolTip"), Icon = new ResourceHandle("Composite.Icons", "page-edit-page"), ActionLocation = new ActionLocation { ActionType = ActionType.Other, IsInFolder = false, IsInToolbar = true, ActionGroup = new ActionGroup("Develop", ActionGroupPriority.PrimaryLow) } } }); if (!isActivePackage) { element.AddAction(new ElementAction(new ActionHandle(new SetActivePackageActionToken())) { VisualData = new ActionVisualizedData { Label = PackageCreatorFacade.GetLocalization("SetActivePackage.Label"), ToolTip = PackageCreatorFacade.GetLocalization("SetActivePackage.ToolTip"), Icon = new ResourceHandle("Composite.Icons", "accept"), ActionLocation = new ActionLocation { ActionType = ActionType.Other, IsInFolder = false, IsInToolbar = true, ActionGroup = new ActionGroup("Develop", ActionGroupPriority.PrimaryLow) } } }); } element.AddAction(new ElementAction(new ActionHandle(new ConfirmWorkflowActionToken("Are you sure?", typeof(DeleteConfigPackageCreatorActionToken)))) { VisualData = new ActionVisualizedData { Label = PackageCreatorFacade.GetLocalization("DeleteConfigPackageCreator.Label"), ToolTip = PackageCreatorFacade.GetLocalization("DeleteConfigPackageCreator.ToolTip"), Icon = new ResourceHandle("Composite.Icons", "generated-type-delete"), ActionLocation = new ActionLocation { ActionType = PackageCreatorFacade.ActionType, IsInFolder = false, IsInToolbar = false, ActionGroup = new ActionGroup("Other", ActionGroupPriority.PrimaryLow) } } }); element.AddAction(new ElementAction(new ActionHandle(new DownloadPackageActionToken("package"))) { VisualData = new ActionVisualizedData { Label = PackageCreatorFacade.GetLocalization("DownloadPackageButton.Label"), ToolTip = PackageCreatorFacade.GetLocalization("DownloadPackageButton.ToolTip"), Icon = new ResourceHandle("Composite.Icons", "package-install-local-package"), ActionLocation = new ActionLocation { ActionType = PackageCreatorFacade.ActionType, IsInFolder = false, IsInToolbar = true, ActionGroup = new ActionGroup("Download", ActionGroupPriority.PrimaryLow) } } }); element.AddAction(new ElementAction(new ActionHandle(new DownloadPackageActionToken("config"))) { VisualData = new ActionVisualizedData { Label = PackageCreatorFacade.GetLocalization("DownloadConfigButton.Label"), ToolTip = PackageCreatorFacade.GetLocalization("DownloadConfigButton.ToolTip"), Icon = new ResourceHandle("Composite.Icons", "package-install-local-package"), ActionLocation = new ActionLocation { ActionType = PackageCreatorFacade.ActionType, IsInFolder = false, IsInToolbar = false, ActionGroup = new ActionGroup("Download", ActionGroupPriority.PrimaryLow) } } }); yield return(element); } } else if (entityToken is PackageCreatorPackageElementProviderEntityToken) { var categories = PackageCreatorFacade.GetCategories(entityToken.Source); foreach (var category in categories) { var element = new Element(_context.CreateElementHandle(new PackageCreatorCategoryElementProviderEntityToken(entityToken.Source, category.Name))) { VisualData = new ElementVisualizedData() { Label = category.GetLabel(), ToolTip = category.GetLabel(), HasChildren = true, Icon = new ResourceHandle("Composite.Icons", "folder"), OpenedIcon = new ResourceHandle("Composite.Icons", "folder-open") } }; yield return(element); } } else if (entityToken is PackageCreatorCategoryElementProviderEntityToken) { var items = PackageCreatorFacade.GetItems(entityToken.Type, entityToken.Source); foreach (var item in items.OrderBy(d => d.Id)) { var element = new Element(_context.CreateElementHandle(new PackageCreatorItemElementProviderEntityToken(item.Id, entityToken.Source, entityToken.Type))) { VisualData = new ElementVisualizedData() { Label = item.GetLabel(), ToolTip = item.Id, HasChildren = false, Icon = item.ItemIcon, OpenedIcon = item.ItemIcon } }; element.AddAction(new ElementAction(new ActionHandle(new DeleteItemPackageCreatorActionToken())) { VisualData = new ActionVisualizedData { Label = PackageCreatorFacade.GetLocalization("DeleteItemPackageCreator.Label"), ToolTip = PackageCreatorFacade.GetLocalization("DeleteItemPackageCreator.ToolTip"), Icon = new ResourceHandle("Composite.Icons", "page-delete-page"), ActionLocation = new ActionLocation { ActionType = ActionType.Other, IsInFolder = false, IsInToolbar = true, ActionGroup = new ActionGroup("Develop", ActionGroupPriority.PrimaryLow) } } }); yield return(element); } } else if (entityToken is XmlNodeElementProviderEntityToken) { var configuration = PackageCreatorFacade.GetConfigurationDocument(entityToken.Source); var xpath = (entityToken as XmlNodeElementProviderEntityToken).XPath; XContainer container = xpath == string.Empty ? configuration as XContainer : configuration.XPathSelectElement(xpath) as XContainer; var element = container as XElement; var counter = new Dictionary <string, int>(); if (container != null) { var xmlElements = new List <Element>(); foreach (XElement item in container.Elements()) { string position = string.Empty; string name = item.Name.ToString(); if (counter.ContainsKey(name)) { position = string.Format("[{0}]", ++counter[name]); } else { counter.Add(name, 1); } if (item.Attribute("name") != null) { position = string.Format("[@name='{0}']", item.Attribute("name").Value); } string description = item.IndexAttributeValue(); xmlElements.Add(GetXmlNodeElement(entityToken.Source, string.Format("{0}/{1}{2}", xpath, name, position), name + (string.IsNullOrEmpty(description) ? string.Empty : string.Format("({0})", description)))); } xmlElements.Sort((a, b) => string.Compare(a.VisualData.Label, b.VisualData.Label, StringComparison.InvariantCulture)); foreach (var e in xmlElements) { yield return(e); } } if (element != null) { var elementPath = Regex.Replace(xpath, @"\[[^\]]*\]$", ""); foreach (var attribute in element.Attributes()) { string name = attribute.Name.ToString(); yield return(GetXmlAttributeElement(entityToken.Source, string.Format("{0}[@{1}='{2}']", elementPath, name, attribute.Value), string.Format("{0}={1}", name, attribute.Value))); } } } }