public void ShowPromptsFor(CatalogItemInfo catalogItemInfo) { if (catalogItemInfo != CatalogItemInfo || State == ViewModelState.Error) { if (State == ViewModelState.Loading) { _promptsViewModelService.CancelGetPromptViewModels(CatalogItemInfo.Path); } CatalogItemInfo = catalogItemInfo; State = ViewModelState.Loading; foreach (var prompt in Prompts) { prompt.PropertyChanged -= OnPromptPropertyChanged; } if (!ErrorMessage.Equals(string.Empty)) { ErrorMessage = string.Empty; } _promptsViewModelService.GetPromptViewModels( catalogItemInfo.Path, OnGetPromptCollectionCompleted, OnErrorGettingPrompts); } }
public virtual void AddReport(CatalogItemInfo catalogItemInfo, ObservableCollection <PromptSelectionInfo> promptSelectionInfos) { var viewModel = _reportViewModelBuilder.Build(catalogItemInfo, promptSelectionInfos); Report = viewModel; RaisePropertyChanged("Report"); }
// ------------------------------------------------------- // 保存 删除 // ------------------------------------------------------- #region 函数:Save(CatalogInfo param) /// <summary>保存记录</summary> /// <param name="param">实例<see cref="CatalogInfo"/>详细信息</param> /// <returns>实例<see cref="CatalogInfo"/>详细信息</returns> public CatalogInfo Save(CatalogInfo param) { if (string.IsNullOrEmpty(param.Id)) { throw new ApplicationException("分组类别树的标识不能为空。"); } CatalogItemInfo node = new CatalogItemInfo(); node.Id = param.Id; node.Name = param.Name; node.ParentId = Guid.Empty.ToString(); node.IsKey = true; MembershipManagement.Instance.CatalogItemService.Save(node); param.RootCatalogItemId = param.Id; provider.Save(param); return(param); }
public void Setup() { _promptsViewModel = new Mock <IPromptsViewModel>(); _catalogItemInfo = new CatalogItemInfo { Name = "Name", Path = "Path", Type = CatalogItemType.Report }; _reportCatalogItemViewModel = new ReportCatalogItemViewModel(_catalogItemInfo, _promptsViewModel.Object); }
// ------------------------------------------------------- // 查询 // ------------------------------------------------------- #region 函数:FindOne(string id) /// <summary>查询某条记录</summary> /// <param name="id">标识</param> /// <returns>返回实例<see cref="CatalogItemInfo"/>的详细信息</returns> public CatalogItemInfo FindOne(string id) { Dictionary <string, object> args = new Dictionary <string, object>(); args.Add("Id", StringHelper.ToSafeSQL(id)); CatalogItemInfo param = this.ibatisMapper.QueryForObject <CatalogItemInfo>(StringHelper.ToProcedurePrefix(string.Format("{0}_FindOne", tableName)), args); return(param); }
// ------------------------------------------------------- // 保存 删除 // ------------------------------------------------------- #region 函数:Save(XmlDocument doc) /// <summary>保存记录</summary> /// <param name="doc">Xml 文档对象</param> /// <returns>返回操作结果</returns> public string Save(XmlDocument doc) { CatalogItemInfo param = new CatalogItemInfo(); param = (CatalogItemInfo)AjaxUtil.Deserialize(param, doc); this.service.Save(param); return(MessageObject.Stringify("0", I18n.Strings["msg_save_success"])); }
public void Render( CatalogItemInfo catalogItemInfo , ObservableCollection <PromptSelectionInfo> promptSelectionInfos , Action <string> callBack , Action <string> errorCallback) { _promptSelectionServiceClient.SetPromptSelectionsAsync( catalogItemInfo.Path, promptSelectionInfos, r => OnSetPromptSelectionsCompleted(r, callBack), errorCallback); }
private string BuildShopUrl(CatalogItemInfo catalogItem, bool includeCatalog, bool includeFriendlyNames) { var route = new StringBuilder("/"); if (IncludeLanguage) { route.Append(Context.Language.Name); route.Append("/"); } if (includeCatalog) { route.Append(EncodeUrlToken(catalogItem.CatalogName, true)); route.Append("/"); } route.Append("shop/"); if (includeFriendlyNames) { route.Append(EncodeUrlToken(catalogItem.CategoryName, true)); route.Append(_urlTokenDelimiter); } route.Append(EncodeUrlToken(catalogItem.CategoryId, false)); route.Append("/"); if (catalogItem.ItemType == CatalogItemType.Product || catalogItem.ItemType == CatalogItemType.Variant) { if (includeFriendlyNames) { // Replace plus (+) character with dash to prevent URL "Double Escaping" errors. route.Append(EncodeUrlToken(catalogItem.ProductName.Replace("+", "-"), true)); route.Append(_urlTokenDelimiter); } route.Append(EncodeUrlToken(catalogItem.ProductId, false)); route.Append("/"); if (catalogItem.ItemType == CatalogItemType.Variant) { if (includeFriendlyNames) { route.Append(EncodeUrlToken(catalogItem.VariantName, true)); route.Append(_urlTokenDelimiter); } route.Append(EncodeUrlToken(catalogItem.VariantId, false)); } } return(route.ToString()); }
private ICatalogItem GetFileInfo(string fname) { CatalogItemInfo cii = null; string infoFile = Path.ChangeExtension(fname, ".info"); if (File.Exists(infoFile)) { cii = new CatalogItemInfo(infoFile); return(new CatalogItem(fname, cii)); } return(null); }
private CatalogItemInfo ExtractCatalogItemInfo(Item item) { Assert.ArgumentNotNull(item, nameof(item)); var info = new CatalogItemInfo { CatalogName = GetCatalogName(item) }; Item variantItem = null; Item productItem = null; Item categoryItem; if (item.IsDerived(Foundation.Commerce.Templates.Commerce.ProductVariant.Id)) { info.ItemType = CatalogItemType.Variant; variantItem = item; productItem = item.Parent; categoryItem = item.Parent.Parent; } else if (item.IsDerived(Foundation.Commerce.Templates.Commerce.Product.Id)) { info.ItemType = CatalogItemType.Product; productItem = item; categoryItem = item.Parent; } else if (item.IsDerived(Foundation.Commerce.Templates.Commerce.Category.Id)) { info.ItemType = CatalogItemType.Category; categoryItem = item; } else { return(null); } if (categoryItem != null) { info.CategoryId = categoryItem.Name.ToLowerInvariant(); info.CategoryName = categoryItem.DisplayName; } if (productItem != null) { info.ProductId = productItem.Name.ToLowerInvariant(); info.ProductName = productItem.DisplayName; } if (variantItem != null) { info.VariantId = variantItem.Name.ToLowerInvariant(); info.VariantName = variantItem.DisplayName; } return(info); }
// ------------------------------------------------------- // 添加 删除 修改 // ------------------------------------------------------- #region 函数:Save(CatalogItemInfo param) /// <summary>保存记录</summary> /// <param name="param">实例<see cref="CatalogItemInfo"/>详细信息</param> /// <returns>实例<see cref="CatalogItemInfo"/>详细信息</returns> public CatalogItemInfo Save(CatalogItemInfo param) { if (!IsExist(param.Id)) { Insert(param); } else { Update(param); } return((CatalogItemInfo)param); }
public PromptsViewModel(IPromptsViewModelService promptsViewModelService, IReportRenderer reportRenderer) { _reportRenderer = reportRenderer; _catalogItemInfo = new CatalogItemInfo { Name = string.Empty }; _prompts = new ObservableCollection <IPrompt>(); _promptsViewModelService = promptsViewModelService; _executeReport = new RelayCommand(OnExeucteReport, ValidateAllPromptsAreReadyForReportExecution); MoveNext = new RelayCommand(OnMoveNext, () => _canMoveNext); MovePrevious = new RelayCommand(OnMovePrevious, () => _canMovePrevious); }
private string BuildUrl(CatalogItemInfo catalogInfo, bool includeCatalog, bool includeFriendlyName) { var route = new StringBuilder("/"); if (IncludeLanguage) { route.Append(Context.Language.Name); route.Append("/"); } if (includeCatalog) { route.Append(EncodeUrlToken(catalogInfo.CatalogName, true)); route.Append("/"); } string itemId; string itemName; switch (catalogInfo.ItemType) { case CatalogItemType.Category: route.Append(RouteConfig.GetRootName(CatalogRouteRoot.Category)); itemId = catalogInfo.CategoryId; itemName = catalogInfo.CategoryName; break; case CatalogItemType.Product: case CatalogItemType.Variant: route.Append(RouteConfig.GetRootName(CatalogRouteRoot.Product)); itemId = catalogInfo.ProductId; itemName = catalogInfo.ProductName; break; default: throw new ArgumentOutOfRangeException(); } route.Append("/"); if (includeFriendlyName) { route.Append(EncodeUrlToken(itemName, true)); route.Append(_urlTokenDelimiter); } route.Append(EncodeUrlToken(itemId, false)); var url = route.ToString(); return(url); }
public CatalogItemInfo GetCatalogItemInfo(string itemId, string catalogVersion, uint quantity) { for (int i = 0, len = catalogItemInfos.Length; i < len; ++i) { CatalogItemInfo catalogItemInfo = catalogItemInfos[i]; if (catalogItemInfo.catalogVersion == catalogVersion && catalogItemInfo.itemId == itemId && catalogItemInfo.quantity == quantity) { return(catalogItemInfo); } } return(null); }
// ------------------------------------------------------- // 查询 // ------------------------------------------------------- #region 函数:FindOne(XmlDocument doc) /// <summary>获取详细信息</summary> /// <param name="doc">Xml 文档对象</param> /// <returns>返回操作结果</returns> public string FindOne(XmlDocument doc) { StringBuilder outString = new StringBuilder(); string id = XmlHelper.Fetch("id", doc); CatalogItemInfo param = this.service.FindOne(id); outString.Append("{\"data\":" + AjaxUtil.Parse <CatalogItemInfo>(param) + ","); outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_query_success"], true) + "}"); return(outString.ToString()); }
/// <summary>同步信息至 Active Directory</summary> /// <param name="param">分组类别信息</param> /// <param name="originalName">原始的名称</param> /// <param name="originalParentId">原始的父级标识</param> public int SyncToLDAP(CatalogItemInfo param, string originalName, string originalParentId) { if (LDAPConfigurationView.Instance.IntegratedMode == "ON") { if (string.IsNullOrEmpty(param.Name)) { // 角色【${Name}】名称为空,请配置相关信息。 return(1); } else { string parentPath = this.GetLDAPOUPathByCatalogItemId(originalParentId); // 1.原始的全局名称不为空。 // 2.Active Directory 上有相关对象。 if (!string.IsNullOrEmpty(originalName) && LDAPManagement.Instance.OrganizationUnit.IsExistName(originalName, parentPath)) { if (param.Name != originalName) { // 分组类别【${Name}】的名称发生改变。 LDAPManagement.Instance.OrganizationUnit.Rename( originalName, this.GetLDAPOUPathByCatalogItemId(originalParentId), param.Name); } if (param.ParentId != originalParentId) { // 分组类别【${Name}】的父级节点发生改变。 LDAPManagement.Instance.OrganizationUnit.MoveTo( this.GetLDAPOUPathByCatalogItemId(param.Id), this.GetLDAPOUPathByCatalogItemId(param.ParentId)); } return(0); } else { LDAPManagement.Instance.OrganizationUnit.Add(param.Name, this.GetLDAPOUPathByCatalogItemId(param.ParentId)); // 分组类别【${Name}】创建成功。 return(0); } } } return(0); }
public ReportViewModel( CatalogItemInfo catalogItemInfo , ObservableCollection <PromptSelectionInfo> selectionInfos , IReportExecutionService reportExecutionService , string serverName) { _serverName = serverName; _url = string.Empty; reportExecutionService.Render( catalogItemInfo, selectionInfos, OnRender, OnError); State = ViewModelState.Loading; }
private ICatalogItemViewModel CreateReportCatalogItem(CatalogItemInfo catalogItemInfo) { switch (catalogItemInfo.Type) { case CatalogItemType.Report: var reportViewModel = new ReportCatalogItemViewModel(catalogItemInfo, _promptsViewModel); return(reportViewModel); case CatalogItemType.Folder: var folderViewModel = new FolderCatalogItemViewModel(catalogItemInfo); return(folderViewModel); default: throw new Exception(); } }
public static void AssertMappedCorrectlyFrom(this CatalogItemInfo source, CatalogItem catalogItem) { switch (catalogItem.Type) { case ItemTypeEnum.Report: Assert.AreEqual(CatalogItemType.Report, source.Type); break; case ItemTypeEnum.Folder: Assert.AreEqual(CatalogItemType.Folder, source.Type); break; default: throw new Exception(); } Assert.AreEqual(catalogItem.Name, source.Name); Assert.AreEqual(catalogItem.Path, source.Path); }
// ------------------------------------------------------- // 保存 删除 // ------------------------------------------------------- #region 函数:Save(CatalogItemInfo param) /// <summary>保存记录</summary> /// <param name="param">实例<see cref="CatalogItemInfo"/>详细信息</param> /// <returns>实例<see cref="CatalogItemInfo"/>详细信息</returns> public CatalogItemInfo Save(CatalogItemInfo param) { if (LDAPConfigurationView.Instance.IntegratedMode == "ON") { CatalogItemInfo originalObject = FindOne(param.Id); if (originalObject == null) { originalObject = param; } SyncToLDAP(param, originalObject.Name, originalObject.ParentId); } // 设置唯一识别名称 param.DistinguishedName = this.CombineDistinguishedName(param.Name, param.ParentId); return(provider.Save(param)); }
public static void TryOrbitToWorkspace(ISmartSession session) { IMonitoringSubProduct msp; IRasterDataProvider prd; GetPrd(session, out msp, out prd); string fname = string.Empty; if (prd == null) { if (msp == null || msp.ArgumentProvider == null) { return; } object obj = msp.ArgumentProvider.GetArg("CurrentRasterFile"); if (obj == null || !string.IsNullOrEmpty(obj.ToString())) { return; } else { fname = obj.ToString(); } } else { fname = prd.fileName; } if (!File.Exists(fname)) { return; } CatalogItemInfo cii = new CatalogItemInfo(); cii.Properties.Add("ProductIdentify", "ORBIT"); cii.Properties.Add("SubProductIdentify", "OrbitFileName"); cii.Properties.Add("OrbitDateTime", prd.DataIdentify.OrbitDateTime); cii.Properties.Add("CatalogItemCN", Path.GetFileName(fname)); cii.Properties.Add("CatalogDef", "ObritData"); //..... TrySaveFileToWorkspace(null, session, fname, null, cii); }
/// <summary>格式化 Active Directory 路径</summary> /// <param name="groupTreeNodeId"></param> /// <returns></returns> private string FormatLDAPPath(string catalogItemId) { string path = string.Empty; string parentId = string.Empty; // OU的名称 string name = null; CatalogItemInfo param = FindOne(catalogItemId); if (param == null) { return(string.Empty); } else { name = param.Name; // 组织结构的根节点OU特殊处理 默认为组织结构 //if (CatalogItemId == tree.RootTreeNodeId) //{ // name = tree.Name; //} // 1.名称不能为空 2.父级对象标识不能为空 if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(param.ParentId) && param.ParentId != Guid.Empty.ToString()) { parentId = param.ParentId; path = FormatLDAPPath(parentId); path = string.IsNullOrEmpty(path) ? string.Format("OU={0}", name) : string.Format("OU={0}", name) + "," + path; return(path); } return(string.Format("OU={0}", name)); } }
public void SetupRender( CatalogItemInfo catalogItemInfo, ObservableCollection <PromptSelectionInfo> promptSelectionInfos) { var setup = _mock.Setup( m => m.Render( catalogItemInfo, promptSelectionInfos, It.IsAny <Action <string> >(), It.IsAny <Action <string> >())); setup.Callback < CatalogItemInfo, ObservableCollection <PromptSelectionInfo>, Action <string>, Action <string> >( (i, s, c, ec) => { _callback = c; _errorCallback = ec; }); }
/// <summary>格式化组织路径</summary> /// <param name="id"></param> /// <returns></returns> private string FormatCatalogItemPath(string id) { string path = string.Empty; string parentId = string.Empty; string name = null; CatalogItemInfo param = FindOne(id); if (param == null) { return(string.Empty); } else { if (!string.IsNullOrEmpty(param.ParentId)) { parentId = param.ParentId; } name = param.Name; if (!string.IsNullOrEmpty(name)) { if (!string.IsNullOrEmpty(parentId) && parentId != Guid.Empty.ToString()) { path = FormatCatalogItemPath(parentId); } path = string.IsNullOrEmpty(path) ? name : string.Format(@"{0}\{1}", path, name); return(path); } } return(string.Empty); }
/// <summary>创建新的对象</summary> /// <param name="doc">Xml 文档对象</param> /// <returns>返回操作结果</returns> public string CreateNewObject(XmlDocument doc) { StringBuilder outString = new StringBuilder(); string treeViewId = XmlHelper.Fetch("treeViewId", doc); string parentId = XmlHelper.Fetch("parentId", doc); CatalogItemInfo param = new CatalogItemInfo(); param.Id = DigitalNumberContext.Generate("Key_Guid"); param.ParentId = string.IsNullOrEmpty(parentId) ? treeViewId : parentId; param.Status = 1; param.ModifiedDate = param.CreatedDate = DateTime.Now; outString.Append("{\"data\":" + AjaxUtil.Parse <CatalogItemInfo>(param) + ","); outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_query_success"], true) + "}"); return(outString.ToString()); }
/// <summary>添加记录</summary> /// <param name="param">实例<see cref="CatalogItemInfo"/>详细信息</param> public void Insert(CatalogItemInfo param) { this.ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_Insert", tableName)), param); }
public IReportViewModel Build( CatalogItemInfo catalogItemInfo, ObservableCollection <PromptSelectionInfo> promptSelectionInfos) { return(new ReportViewModel(catalogItemInfo, promptSelectionInfos, _reportExecutionService, _serverName)); }
/// <summary>修改记录</summary> /// <param name="param">实例<see cref="CatalogItemInfo"/>详细信息</param> public void Update(CatalogItemInfo param) { this.ibatisMapper.Update(StringHelper.ToProcedurePrefix(string.Format("{0}_Update", tableName)), param); }
private static void TrySaveFileToWorkspace(IMonitoringSubProduct subProduct, ISmartSession session, string fname, IExtractResult restult, CatalogItemInfo cii) { if (string.IsNullOrEmpty(fname)) { return; } IMonitoringSession mession = session.MonitoringSession as IMonitoringSession; IWorkspace wks = mession.GetWorkspace(); RasterIdentify rst = new RasterIdentify(fname); ICatalog c = wks.GetCatalog("CurrentExtracting"); if (c != null) { if (cii == null) { c.AddItem(new CatalogItem(fname, c.Definition as SubProductCatalogDef)); } else { c.AddItem(new CatalogItem(fname, cii)); } } if (_contextEnvironment != null && subProduct != null) { rst.SubProductIdentify = subProduct.Identify; IExtractResultBase erb = restult as IExtractResultBase; if (erb != null && !string.IsNullOrEmpty(erb.OutIdentify)) { rst.SubProductIdentify = erb.OutIdentify; } GetOutFileIdentify(ref rst, subProduct); if (!string.IsNullOrEmpty(restult.Name) && restult.Name != rst.SubProductIdentify) { rst.SubProductIdentify = restult.Name; } _contextEnvironment.PutContextVar(rst.SubProductIdentify, fname); } }
/// <summary>同步信息至 Active Directory</summary> /// <param name="param">角色信息</param> public int SyncToLDAP(CatalogItemInfo param) { return(SyncToLDAP(param, param.Name, param.ParentId)); }