/// <summary> /// Reperimento formato file documentum /// </summary> /// <param name="queryService"></param> /// <param name="mimeType"></param> /// <returns></returns> public static string getDctmFileFormat(IQueryService queryService, string fileExtension) { string fileFormat = string.Empty; PassthroughQuery passthroughQuery = new PassthroughQuery(); passthroughQuery.QueryString = string.Format("SELECT name FROM dm_format WHERE dos_extension = '{0}'", replaceInvalidFileExtension(fileExtension).ToLower()); passthroughQuery.Repositories = new List <string>(); passthroughQuery.Repositories.Add(DctmConfigurations.GetRepositoryName()); QueryExecution queryExecution = new QueryExecution(); queryExecution.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; queryExecution.MaxResultCount = 1; QueryResult queryResult = queryService.Execute(passthroughQuery, queryExecution, null); if (queryResult.DataPackage.DataObjects != null && queryResult.DataPackage.DataObjects.Count > 0) { DataObject dataObj = queryResult.DataPackage.DataObjects[0]; fileFormat = ((StringProperty)dataObj.Properties.Properties[0]).Value; } return(fileFormat); }
public void BasicPassthroughQuery() { PassthroughQuery query = new PassthroughQuery(); query.QueryString = "select r_object_id, " + "object_name from dm_cabinet"; query.AddRepository(DefaultRepository); QueryExecution queryEx = new QueryExecution(); queryEx.CacheStrategyType = CacheStrategyType.DEFAULT_CACHE_STRATEGY; OperationOptions operationOptions = null; QueryResult queryResult = queryService.Execute(query, queryEx, operationOptions); Console.WriteLine("QueryId == " + query.QueryString); Console.WriteLine("CacheStrategyType == " + queryEx.CacheStrategyType); DataPackage resultDp = queryResult.DataPackage; List <DataObject> dataObjects = resultDp.DataObjects; Console.WriteLine("Total objects returned is: " + dataObjects.Count); foreach (DataObject dObj in dataObjects) { PropertySet docProperties = dObj.Properties; String objectId = dObj.Identity.GetValueAsString(); String docName = docProperties.Get("object_name").GetValueAsString(); Console.WriteLine("Document " + objectId + " name is " + docName); } }
public static string getDctmObjectId(IQueryService querySvc, Qualification qualification) { string result = string.Empty; PassthroughQuery passthroughQuery = new PassthroughQuery(); passthroughQuery.QueryString = "SELECT r_object_id FROM " + qualification.GetValueAsString(); passthroughQuery.Repositories = new List <string>(); passthroughQuery.Repositories.Add(DctmConfigurations.GetRepositoryName()); QueryExecution queryExecution = new QueryExecution(); queryExecution.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; queryExecution.MaxResultCount = 1; QueryResult queryResult = querySvc.Execute(passthroughQuery, queryExecution, null); if (queryResult.DataPackage.DataObjects != null && queryResult.DataPackage.DataObjects.Count > 0) { DataObject dataObj = queryResult.DataPackage.DataObjects[0]; result = ((ObjectId)dataObj.Identity.Value).Id; } return(result); }
public QueryResult SimplePassthroughQuery() { QueryResult queryResult; string queryString = "select distinct r_object_id from dm_document order by r_object_id "; int startingIndex = 0; int maxResults = 60; int maxResultsPerSource = 20; PassthroughQuery q = new PassthroughQuery(); q.QueryString = queryString; q.AddRepository(DefaultRepository); QueryExecution queryExec = new QueryExecution(startingIndex, maxResults, maxResultsPerSource); queryExec.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; queryResult = searchService.Execute(q, queryExec, null); QueryStatus queryStatus = queryResult.QueryStatus; RepositoryStatusInfo repStatusInfo = queryStatus.RepositoryStatusInfos[0]; if (repStatusInfo.Status == Status.FAILURE) { Console.WriteLine(repStatusInfo.ErrorTrace); throw new Exception("Query failed to return result."); } Console.WriteLine("Query returned result successfully."); DataPackage dp = queryResult.DataPackage; Console.WriteLine("DataPackage contains " + dp.DataObjects.Count + " objects."); foreach (DataObject dataObject in dp.DataObjects) { Console.WriteLine(dataObject.Identity.GetValueAsString()); } return queryResult; }
/// <summary> /// Reperimento dei metadati relativi a tutti i documenti bloccati nell'ambito dell'amministrazione /// con la possibilità di filtrare per utente /// </summary> /// <param name="idAmministration"></param> /// <param name="idUser"></param> /// <returns></returns> public CheckOutStatus[] GetCheckOutStatusDocuments(string idAmministration, string idUser) { // Reperimento oggetto query PassthroughQuery query = this.GetQuery(idAmministration, idUser); return(this.GetCheckOutStatusDocuments(query)); }
/// <summary> /// Creazione oggetto PassthroughQuery /// </summary> /// <param name="queryText"></param> /// <returns></returns> protected virtual PassthroughQuery CreatePassthroughQuery(string queryText) { PassthroughQuery query = new PassthroughQuery(); query.QueryString = queryText; query.Repositories.Add(DctmConfigurations.GetRepositoryName()); return(query); }
public QueryResult SimplePassthroughQueryDocument() { QueryResult queryResult; string queryString = "select r_object_id, object_name from eifx_deliverable_doc"; int startingIndex = 0; int maxResults = 60; int maxResultsPerSource = 30; PassthroughQuery q = new PassthroughQuery(); q.QueryString = queryString; q.AddRepository(DefaultRepository); QueryExecution queryExec = new QueryExecution(startingIndex, maxResults, maxResultsPerSource); queryExec.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; queryResult = searchService.Execute(q, queryExec, null); QueryStatus queryStatus = queryResult.QueryStatus; RepositoryStatusInfo repStatusInfo = queryStatus.RepositoryStatusInfos[0]; if (repStatusInfo.Status == Status.FAILURE) { Console.WriteLine(repStatusInfo.ErrorTrace); throw new Exception("Query failed to return result."); } Console.WriteLine("Query returned result successfully."); DataPackage dp = queryResult.DataPackage; Console.WriteLine("DataPackage contains " + dp.DataObjects.Count + " objects."); foreach (DataObject dObj in dp.DataObjects) { //Console.WriteLine(dObj.Identity.GetValueAsString()); // PropertySet docProperties = dObj.Properties; String objectId = dObj.Identity.GetValueAsString(); String docName = docProperties.Get("object_name").GetValueAsString(); Console.WriteLine("Document " + objectId + " name is " + docName); // result = result + Environment.NewLine + "Document " + objectId + " name is " + docName; //lstCabinets.Add(new CabinetModel() { ObjectId = objectId, ObjectName = docName }); // } return(queryResult); }
/// <summary> /// Esegue una DQL di tipo UPDATE o DDL (ALTER...) /// </summary> /// <param name="qrySrvc"></param> /// <param name="dql"></param> /// <returns></returns> public static QueryResult executePassThrough(IQueryService qrySrvc, string dql) { string repositoryName = DctmConfigurations.GetRepositoryName(); PassthroughQuery query = new PassthroughQuery(); query.QueryString = dql; query.AddRepository(repositoryName); QueryExecution queryEx = new QueryExecution(); queryEx.MaxResultCount = -1; // Nessun limite di risultati restituiti queryEx.MaxResultPerSource = -1; queryEx.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; OperationOptions operationOptions = null; return(qrySrvc.Execute(query, queryEx, operationOptions)); }
public DataPackage GetLifecycles(String repository) { ServiceFactory serviceFactory = ServiceFactory.Instance; IQueryService queryService = null; queryService = serviceFactory .GetRemoteService <IQueryService>(lifecycleService.GetServiceContext()); PassthroughQuery query = new PassthroughQuery(); // this query does not necessarily contain everything you will need // but shows most of the lifecycle-related properties on dm_policy query.QueryString = "select r_object_id, " + "object_name, " + "acl_name, " + "included_type, " + "include_subtypes, " + "state_name, " + "state_description, " + "state_class, " + "r_resume_state, " + "r_current_state, " + "entry_criteria_id, " + "user_criteria_id, " + "action_object_id, " + "user_action_id, " + "exception_state, " + "allow_attach, " + "allow_schedule, " + "return_to_base, " + "allow_demote, " + "alias_set_ids, " + "return_condition " + "from dm_policy"; query.AddRepository(repository); QueryExecution queryEx = new QueryExecution(); queryEx.CacheStrategyType = CacheStrategyType.DEFAULT_CACHE_STRATEGY; queryEx.MaxResultCount = 50; OperationOptions operationOptions = null; Console.WriteLine("Executing query " + query.QueryString); QueryResult queryResult = queryService.Execute(query, queryEx, operationOptions); return(queryResult.DataPackage); }
public AclPackage GetOwnerPrivateAcls(String ownerName, String repository) { // instantiate a Query service proxy ServiceFactory serviceFactory = ServiceFactory.Instance; IQueryService queryService = null; queryService = serviceFactory.GetRemoteService <IQueryService>(accessControlService.GetServiceContext()); // build and run the query PassthroughQuery query = new PassthroughQuery(); query.QueryString = "select owner_name, object_name from dm_acl " + "where r_is_internal='0' and acl_class='0' and owner_name='" + ownerName + "'"; query.AddRepository(DefaultRepository); QueryExecution queryEx = new QueryExecution(); queryEx.CacheStrategyType = CacheStrategyType.DEFAULT_CACHE_STRATEGY; queryEx.MaxResultCount = -1; // no limit OperationOptions operationOptions = null; QueryResult queryResult = queryService.Execute(query, queryEx, operationOptions); DataPackage resultDp = queryResult.DataPackage; List <DataObject> dataObjects = resultDp.DataObjects; Console.WriteLine("Total objects returned is: " + dataObjects.Count); //convert the results into a List<AclIdentity> List <AclIdentity> identityList = new List <AclIdentity>(); foreach (DataObject dObj in dataObjects) { PropertySet docProperties = dObj.Properties; AclIdentity aclIdentity = new AclIdentity(); aclIdentity.Domain = docProperties.Get("owner_name").GetValueAsString(); aclIdentity.Name = docProperties.Get("object_name").GetValueAsString(); aclIdentity.RepositoryName = repository; identityList.Add(aclIdentity); } // get and return the AclPackage return(accessControlService.Get(identityList)); }
public String GetUserNameFromRepository() { ServiceFactory serviceFactory = ServiceFactory.Instance; IQueryService queryService = serviceFactory .GetRemoteService <IQueryService>(serviceDemo.DemoServiceContext); PassthroughQuery query = new PassthroughQuery(); query.QueryString = "select user_name from dm_user where user_login_name = '" + serviceDemo.UserName + "'"; query.AddRepository(serviceDemo.DefaultRepository); QueryExecution queryEx = new QueryExecution(); queryEx.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; queryEx.MaxResultCount = -1; // use default limit configured in dfs.properties OperationOptions operationOptions = null; QueryResult queryResult = queryService.Execute(query, queryEx, operationOptions); PropertySet objectProperties = queryResult.DataPackage.DataObjects[0].Properties; return(objectProperties.Get("user_name").GetValueAsString()); }
/* * Sequentially processes a cached query result * Terminates when end of query result is reached */ public void CachedPassthroughQuery() { PassthroughQuery query = new PassthroughQuery(); query.QueryString = "select r_object_id, " + "object_name from dm_cabinet"; Console.WriteLine("Query string is " + query.QueryString); query.AddRepository(DefaultRepository); QueryExecution queryEx = new QueryExecution(); OperationOptions operationOptions = null; queryEx.CacheStrategyType = CacheStrategyType.BASIC_FILE_CACHE_STRATEGY; Console.WriteLine("CacheStrategyType == " + queryEx.CacheStrategyType); queryEx.MaxResultCount = 10; Console.WriteLine("MaxResultCount = " + queryEx.MaxResultCount); while (true) { QueryResult queryResult = queryService.Execute(query, queryEx, operationOptions); DataPackage resultDp = queryResult.DataPackage; List <DataObject> dataObjects = resultDp.DataObjects; if (dataObjects.Count == 0) { break; } Console.WriteLine("Total objects returned is: " + dataObjects.Count); foreach (DataObject dObj in dataObjects) { PropertySet docProperties = dObj.Properties; String objectId = dObj.Identity.GetValueAsString(); String cabinetName = docProperties.Get("object_name").GetValueAsString(); Console.WriteLine("Cabinet " + objectId + " name is " + cabinetName); } queryEx.StartingIndex += 10; } }
public QueryResult SimplePassthroughQuery() { QueryResult queryResult; string queryString = "select distinct r_object_id from dm_document order by r_object_id "; int startingIndex = 0; int maxResults = 60; int maxResultsPerSource = 20; PassthroughQuery q = new PassthroughQuery(); q.QueryString = queryString; q.AddRepository(DefaultRepository); QueryExecution queryExec = new QueryExecution(startingIndex, maxResults, maxResultsPerSource); queryExec.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; queryResult = searchService.Execute(q, queryExec, null); QueryStatus queryStatus = queryResult.QueryStatus; RepositoryStatusInfo repStatusInfo = queryStatus.RepositoryStatusInfos[0]; if (repStatusInfo.Status == Status.FAILURE) { Console.WriteLine(repStatusInfo.ErrorTrace); throw new Exception("Query failed to return result."); } Console.WriteLine("Query returned result successfully."); DataPackage dp = queryResult.DataPackage; Console.WriteLine("DataPackage contains " + dp.DataObjects.Count + " objects."); foreach (DataObject dataObject in dp.DataObjects) { Console.WriteLine(dataObject.Identity.GetValueAsString()); } return(queryResult); }
/// <summary> /// /// </summary> /// <param name="query"></param> /// <returns></returns> protected virtual CheckOutStatus[] GetCheckOutStatusDocuments(PassthroughQuery query) { List <CheckOutStatus> list = new List <CheckOutStatus>(); try { QueryExecution queryExecution = new QueryExecution(); queryExecution.CacheStrategyType = CacheStrategyType.DEFAULT_CACHE_STRATEGY; // Reperimento istanza queryservice IQueryService service = this.GetServiceInstance <IQueryService>(true); QueryResult result = service.Execute(query, queryExecution, null); if (result.DataPackage != null) { foreach (DataObject dataObject in result.DataPackage.DataObjects) { // Creazione oggetto "CheckOutStatus" list.Add(this.CreateCheckOutStatus(dataObject)); } } } catch (Exception ex) { list = null; logger.Debug("Errore in Documentum. GetCheckOutStatusDocuments: " + ex.ToString()); } if (list != null) { return(list.ToArray()); } else { return(null); } }
public void BasicPassthroughQuery() { PassthroughQuery query = new PassthroughQuery(); query.QueryString = "select r_object_id, " + "object_name from dm_cabinet"; query.AddRepository(DefaultRepository); QueryExecution queryEx = new QueryExecution(); queryEx.CacheStrategyType = CacheStrategyType.DEFAULT_CACHE_STRATEGY; OperationOptions operationOptions = null; QueryResult queryResult = queryService.Execute(query, queryEx, operationOptions); Console.WriteLine("QueryId == " + query.QueryString); Console.WriteLine("CacheStrategyType == " + queryEx.CacheStrategyType); DataPackage resultDp = queryResult.DataPackage; List<DataObject> dataObjects = resultDp.DataObjects; Console.WriteLine("Total objects returned is: " + dataObjects.Count); foreach (DataObject dObj in dataObjects) { PropertySet docProperties = dObj.Properties; String objectId = dObj.Identity.GetValueAsString(); String docName = docProperties.Get("object_name").GetValueAsString(); Console.WriteLine("Document " + objectId + " name is " + docName); } }
/* * Sequentially processes a cached query result * Terminates when end of query result is reached */ public void CachedPassthroughQuery() { PassthroughQuery query = new PassthroughQuery(); query.QueryString = "select r_object_id, " + "object_name from dm_cabinet"; Console.WriteLine("Query string is " + query.QueryString); query.AddRepository(DefaultRepository); QueryExecution queryEx = new QueryExecution(); OperationOptions operationOptions = null; queryEx.CacheStrategyType = CacheStrategyType.BASIC_FILE_CACHE_STRATEGY; Console.WriteLine("CacheStrategyType == " + queryEx.CacheStrategyType); queryEx.MaxResultCount = 10; Console.WriteLine("MaxResultCount = " + queryEx.MaxResultCount); while (true) { QueryResult queryResult = queryService.Execute(query, queryEx, operationOptions); DataPackage resultDp = queryResult.DataPackage; List<DataObject> dataObjects = resultDp.DataObjects; if (dataObjects.Count == 0) { break; } Console.WriteLine("Total objects returned is: " + dataObjects.Count); foreach (DataObject dObj in dataObjects) { PropertySet docProperties = dObj.Properties; String objectId = dObj.Identity.GetValueAsString(); String cabinetName = docProperties.Get("object_name").GetValueAsString(); Console.WriteLine("Cabinet " + objectId + " name is " + cabinetName); } queryEx.StartingIndex += 10; } }
/// <summary> /// Restituisce il numero dei gruppi di un utente documentum. /// </summary> public static int getDctmCountGroupsByUserId(IQueryService querySvc, string userId) { int result = 0; PassthroughQuery passthroughQuery = new PassthroughQuery(); passthroughQuery.QueryString = string.Format("SELECT group_name FROM dm_group WHERE any users_names IN ( SELECT user_name FROM dm_user WHERE user_os_name = '{0}')", userId); passthroughQuery.Repositories = new List <string>(); passthroughQuery.Repositories.Add(DctmConfigurations.GetRepositoryName()); QueryExecution queryExecution = new QueryExecution(); queryExecution.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; QueryResult queryResult = querySvc.Execute(passthroughQuery, queryExecution, null); if (queryResult.DataPackage.DataObjects != null && queryResult.DataPackage.DataObjects.Count > 0) { result = queryResult.DataPackage.DataObjects.Count; } return(result); }
///// <summary> ///// Reperimento dipendenze per l'oggetto richiesto ///// </summary> ///// <param name="fieldValue"></param> ///// <param name="tableName"></param> ///// <param name="fieldName"></param> ///// <param name="repeating"></param> ///// <returns></returns> //protected ObjectIdentity[] GetObjectDependencies(string fieldValue, string tableName, string fieldName, bool repeating) //{ // List<ObjectIdentity> list = new List<ObjectIdentity>(); // PassthroughQuery query = new PassthroughQuery(); // string dql = null; // if (repeating) // dql = "SELECT r_object_id FROM {0} WHERE ANY upper({1}) = upper('{2}')"; // else // dql = "SELECT r_object_id FROM {0} WHERE upper({1}) = upper('{2}')"; // query.QueryString = string.Format(dql, tableName, fieldName, // fieldValue.Replace("'", "''")); // query.AddRepository(DctmConfigurations.GetRepositoryName()); // QueryExecution queryEx = new QueryExecution(); // queryEx.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; // OperationOptions operationOptions = null; // QueryResult queryResult = this.GetQueryServiceInstance().Execute(query, queryEx, operationOptions); // if (queryResult.DataObjects.Count > 0) // { // ObjectId objId = (ObjectId)queryResult.DataObjects[0].Identity.Value; // list.Add(DfsHelper.createObjectIdentityObjId(objId)); // } // return list.ToArray(); //} protected void checkReference(string fieldValue, string tableName, string fieldName, bool repeating) { IQueryService qrySrvc = null; string repositoryName = DctmConfigurations.GetRepositoryName(); qrySrvc = this.GetQueryServiceInstance(); PassthroughQuery query = new PassthroughQuery(); string dql = null; if (repeating) { dql = "SELECT r_object_id FROM {0} WHERE ANY lower({1}) = lower('{2}')"; } else { dql = "SELECT r_object_id FROM {0} WHERE lower({1}) = lower('{2}')"; } query.QueryString = string.Format(dql, tableName, fieldName, fieldValue.Replace("'", "''")); query.AddRepository(repositoryName); QueryExecution queryEx = new QueryExecution(); queryEx.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; OperationOptions operationOptions = null; QueryResult queryResult = qrySrvc.Execute(query, queryEx, operationOptions); // il risultato dovrebbe essere vuoto if (queryResult.DataObjects.Count > 0) { ObjectId objId = (ObjectId)queryResult.DataObjects[0].Identity.Value; throw new Exception(string.Format("Non è possibile cancellare {0}, in quanto referenziato l'oggetto con id={1}", fieldValue, objId.Id)); } }
public IEnumerable <DocumentModel> SimplePassthroughQueryDocumentWithPath_New(SearchModel search) { List <DocumentModel> documentModels = new List <DocumentModel>(); try { //string queryString = "select dm_document.r_object_id, dm_document.subject, dm_document.a_content_type,dm_document.object_name,dm_format.dos_extension from dm_document,dm_format where dm_document.a_content_type = dm_format.name"; //string queryString = " select r_object_id, eifx_deliverable_doc.r_modify_date, eifx_deliverable_doc.r_creation_date, object_name, title, eif_revision, er_package_name, eif_issue_reason, er_contract_number, eif_originator, eif_discipline, eif_acceptance_code, er_actual_sub_date from eifx_deliverable_doc "; string queryStringCount = " select count(r_object_id) as totalcount from eifx_deliverable_doc,dm_document,dm_format where eifx_deliverable_doc.r_object_id = dm_document.r_object_id and dm_document.a_content_type = dm_format.name "; string queryString = " select r_object_id ,title ,object_name,dm_document.r_creation_date as creationdate" + ", dm_document.r_modify_date as modifydate, eif_date_due, eif_acceptance_code, eif_area, eif_revision" + ", eif_issue_reason, eif_discipline, eif_originator, eif_type_of_doc, eif_project_ref" + ", er_actual_sub_date, er_wbs_level3, er_wbs_level4, er_package_name, er_contract_number" + ", dm_document.subject, dm_document.a_content_type, dm_format.dos_extension from eifx_deliverable_doc,dm_document,dm_format where eifx_deliverable_doc.r_object_id = dm_document.r_object_id and dm_document.a_content_type = dm_format.name "; // string queryString = " select eifx_deliverable_doc.r_object_id ,eifx_deliverable_doc.title ,eifx_deliverable_doc.object_name,eifx_deliverable_doc.r_creation_date" //+ ",eifx_deliverable_doc.r_modify_date,eifx_deliverable_doc.eif_date_due,eifx_deliverable_doc.eif_acceptance_code,eifx_deliverable_doc.eif_area,eifx_deliverable_doc.eif_revision" //+ ",eifx_deliverable_doc.eif_issue_reason,eifx_deliverable_doc.eif_discipline,eifx_deliverable_doc.eif_originator,eifx_deliverable_doc.eif_type_of_doc,eifx_deliverable_doc.eif_project_ref" //+ ",eifx_deliverable_doc.er_actual_sub_date,eifx_deliverable_doc.er_wbs_level3,eifx_deliverable_doc.er_wbs_level4,eifx_deliverable_doc.er_package_name,eifx_deliverable_doc.er_contract_number" //+ ",dm_document.subject,dm_document.a_content_type,dm_format.dos_extensionfrom eifx_deliverable_doc,dm_document,dm_format "; //where eifx_deliverable_doc.r_object_id = dm_document.r_object_id and dm_document.a_content_type = dm_format.name if (!string.IsNullOrEmpty(search.ContractNumber)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " er_contract_number like '%" + search.ContractNumber + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " er_contract_number like '%" + search.ContractNumber + "%' "; } if (!string.IsNullOrEmpty(search.DocumentNumber)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " object_name like '%" + search.DocumentNumber + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " object_name like '%" + search.DocumentNumber + "%' "; } if (!string.IsNullOrEmpty(search.DocumentTitle)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " title like '%" + search.DocumentTitle + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " title like '%" + search.DocumentTitle + "%' "; } if (!string.IsNullOrEmpty(search.PackageName)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.er_package_name like '%" + search.PackageName + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.er_package_name like '%" + search.PackageName + "%' "; } if (!string.IsNullOrEmpty(search.DocumentType)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_type_of_doc like '%" + search.DocumentType + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_type_of_doc like '%" + search.DocumentType + "%' "; } if (!string.IsNullOrEmpty(search.DocumentAcceptanceStatus)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_acceptance_code like '%" + search.DocumentAcceptanceStatus + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_acceptance_code like '%" + search.DocumentAcceptanceStatus + "%' "; } if (!string.IsNullOrEmpty(search.Originator)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_originator like '%" + search.Originator + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_originator like '%" + search.Originator + "%' "; } if (!string.IsNullOrEmpty(search.Area)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_area like '%" + search.Area + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_area like '%" + search.Area + "%' "; } if (!string.IsNullOrEmpty(search.Revision)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_revision like '%" + search.Revision + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_revision like '%" + search.Revision + "%' "; } if (!string.IsNullOrEmpty(search.Discipline)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_discipline like '%" + search.Discipline + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_discipline like '%" + search.Discipline + "%' "; } ////if (!string.isnullorempty(search.filename)) ////{ //// querystring = querystring + (querystring.contains("where") ? " and " : " where ") + " er_contract_number like '%" + search.filename + "%' "; ////} if (!string.IsNullOrEmpty(search.ProjectReference)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_project_ref like '%" + search.ProjectReference + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_project_ref like '%" + search.ProjectReference + "%' "; } if (!string.IsNullOrEmpty(search.IssueReason)) { queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_issue_reason like '%" + search.IssueReason + "%' "; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + " eifx_deliverable_doc.eif_issue_reason like '%" + search.IssueReason + "%' "; } ////if (!string.isnullorempty(search.supersearch)) ////{ //// querystring = querystring + (querystring.contains("where") ? " and " : " where ") + " er_contract_number like '" + search.supersearch + "' "; ////} ////if (!string.isnullorempty(search.location)) ////{ //// querystring = querystring + (querystring.contains("where") ? " and " : " where ") + " er_contract_number like '" + search.location + "' "; ////} if ((!String.IsNullOrEmpty(search.DateRangeDay)) && (!String.IsNullOrEmpty(search.DateRangeType))) { string type = ""; if (search.DateRangeType.ToLower() == "modified date") { type = "dm_document.r_modify_date"; } else if (search.DateRangeType.ToLower() == "created date") { type = "dm_document.r_creation_date"; } else if (search.DateRangeType.ToLower() == "yymsg_date_submittedyy") { type = " er_actual_sub_date"; } else if (search.DateRangeType.ToLower() == "yymsg_duedateyy") { type = "eif_date_due"; } if (search.DateRangeDay.ToLower() == "today") { type = type + " >= DATE('" + DateTime.Today.ToString("MM/dd/yyyy 00:00:00") + "' , 'MM/dd/yyyy HI:mm:ss') and " + type + " <= DATE('" + DateTime.Today.ToString("MM/dd/yyyy 23:59:00") + "','MM/dd/yyyy HI:mm:ss')"; //type = type + " between " + DateTime.Today.ToString("MM/dd/yyyy 00:00:00") + " and " + DateTime.Today.ToString("MM/dd/yyyy 23:59:00"); } else if (search.DateRangeDay.ToLower() == "yesterday") { type = type + " >= DATE('" + DateTime.Today.AddDays(-1).ToString("MM/dd/yyyy 00:00:00") + "' , 'MM/dd/yyyy HI:mm:ss') and " + type + " <= DATE('" + DateTime.Today.AddDays(-1).ToString("MM/dd/yyyy 23:59:00") + "','MM/dd/yyyy HI:mm:ss')"; //type = type + " between " + DateTime.Today.AddDays(-1).ToString("MM/dd/yyyy 00:00:00") + " and " + DateTime.Today.AddDays(-1).ToString("MM/dd/yyyy 23:59:00"); } else if (search.DateRangeDay.ToLower() == "last 7 days") { type = type + " >= DATE('" + DateTime.Today.AddDays(-7).ToString("MM/dd/yyyy 00:00:00") + "' , 'MM/dd/yyyy HI:mm:ss') and " + type + " <= DATE('" + DateTime.Today.AddDays(0).ToString("MM/dd/yyyy 23:59:00") + "','MM/dd/yyyy HI:mm:ss')"; //type = type + " between " + DateTime.Today.AddDays(-7).ToString("MM/dd/yyyy 00:00:00") + " and " + DateTime.Today.AddDays(0).ToString("MM/dd/yyyy 23:59:00"); } else if (search.DateRangeDay.ToLower() == "last 30 days") { type = type + " >= DATE('" + DateTime.Today.AddDays(-30).ToString("MM/dd/yyyy 00:00:00") + "' , 'MM/dd/yyyy HI:mm:ss') and " + type + " <= DATE('" + DateTime.Today.AddDays(0).ToString("MM/dd/yyyy 23:59:00") + "','MM/dd/yyyy HI:mm:ss')"; //type = type + " between " + DateTime.Today.AddDays(-30).ToString("MM/dd/yyyy 00:00:00") + " and " + DateTime.Today.AddDays(0).ToString("MM/dd/yyyy 23:59:00"); } else if (search.DateRangeDay.ToLower() == "last 90 days") { type = type + " >= DATE('" + DateTime.Today.AddDays(-90).ToString("MM/dd/yyyy 00:00:00") + "' , 'MM/dd/yyyy HI:mm:ss') and " + type + " <= DATE('" + DateTime.Today.AddDays(0).ToString("MM/dd/yyyy 23:59:00") + "','MM/dd/yyyy HI:mm:ss')"; //type = type + " between " + DateTime.Today.AddDays(-90).ToString("MM/dd/yyyy 00:00:00") + " and " + DateTime.Today.AddDays(0).ToString("MM/dd/yyyy 23:59:00"); } else if (search.DateRangeDay.ToLower() == "between") { type = type + " >= DATE('" + search.DateRangeFrom.ToString("MM/dd/yyyy 00:00:00") + "' , 'MM/dd/yyyy HI:mm:ss') and " + type + " <= DATE('" + search.DateRangeTo.ToString("MM/dd/yyyy 23:59:00") + "','MM/dd/yyyy HI:mm:ss')"; } else if (search.DateRangeDay.ToLower() == "before") { type = type + " <= DATE('" + search.DateRangeTo.ToString("MM/dd/yyyy 23:59:00") + "','MM/dd/yyyy HI:mm:ss')"; //type = type + " <= " + search.DateRangeTo.ToString("MM/dd/yyyy 23:59:00"); } else if (search.DateRangeDay.ToLower() == "after") { type = type + " >= DATE('" + search.DateRangeTo.ToString("MM/dd/yyyy 00:00:00") + "','MM/dd/yyyy HI:mm:ss')"; //type = type + " >= " + search.DateRangeFrom.ToString("MM/dd/yyyy 00:00:00"); } else if (search.DateRangeDay.ToLower() == "on") { type = type + " >= DATE('" + search.DateRangeFrom.ToString("MM/dd/yyyy 00:00:00") + "' , 'MM/dd/yyyy HI:mm:ss') and " + type + " <= DATE('" + search.DateRangeFrom.ToString("MM/dd/yyyy 23:59:00") + "','MM/dd/yyyy HI:mm:ss')"; //type = type + " between " + search.DateRangeFrom.ToString("MM/dd/yyyy 00:00:00") + " and " + search.DateRangeFrom.ToString("MM/dd/yyyy 23:59:00"); } queryString = queryString + (queryString.Contains("where") ? " and " : " where ") + type; queryStringCount = queryStringCount + (queryStringCount.Contains("where") ? " and " : " where ") + type; } //Logger.WriteLog("QueryStringCount is: " + queryStringCount); int startingIndex = search.PageNumber; int maxResults = search.PageSize; int maxResultsPerSource = search.PageSize; PassthroughQuery q = new PassthroughQuery(); PassthroughQuery qCount = new PassthroughQuery(); qCount.QueryString = queryStringCount; qCount.AddRepository(DefaultRepository); q.QueryString = queryString; q.AddRepository(DefaultRepository); QueryExecution queryExecCount = new QueryExecution(0, 10, 10); QueryResult queryResultCount = searchService.Execute(qCount, queryExecCount, null); DataPackage dpCount = queryResultCount.DataPackage; List <DataObject> dpCountObject = dpCount.DataObjects; //Logger.WriteLog("Total objects returned is: " + dpCountObject.Count); int totalObjCount = 0; foreach (DataObject dpCountObj in dpCountObject) { PropertySet dpCountProperties = dpCountObj.Properties; totalObjCount = Convert.ToInt32(dpCountProperties.Get("totalcount").GetValueAsObject()); } //Logger.WriteLog("totalObjCount is " + totalObjCount); QueryExecution queryExec = new QueryExecution(startingIndex, maxResults, maxResultsPerSource); queryExec.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; QueryResult queryResult = searchService.Execute(q, queryExec, null); //QueryResult queryResult = queryService.Execute(query, queryEx, // operationOptions); QueryStatus queryStatus = queryResult.QueryStatus; RepositoryStatusInfo repStatusInfo = queryStatus.RepositoryStatusInfos[0]; //Console.WriteLine("Query returned result successfully."); DataPackage dp = queryResult.DataPackage; //Console.WriteLine("DataPackage contains " + dp.DataObjects.Count + " objects."); //Logger.WriteLog("SearchDocuments 353 " + dp.DataObjects.Count); if (repStatusInfo.Status == Status.FAILURE) { //Logger.WriteLog("SearchDocuments 357 " + repStatusInfo.Status); // Console.WriteLine(repStatusInfo.ErrorTrace); documentModels.Add(new DocumentModel() { ObjectId = "0", ObjectName = repStatusInfo.ErrorMessage, DocumentTitle = repStatusInfo.Name, DocumentNumber = repStatusInfo.Name, TotalCount = 1 }); } if (dp.DataObjects.Count == 0) { //Logger.WriteLog("SearchDocuments 364 " + dp.DataObjects.Count); documentModels.Add(new DocumentModel() { ObjectId = "", ObjectName = "", DocumentTitle = "", DocumentNumber = "No record", TotalCount = 0 }); } //Logger.WriteLog("SearchDocuments 364 " + dp.DataObjects.Count); foreach (DataObject dObj in dp.DataObjects) { PropertySet docProperties = dObj.Properties; //foreach (var item in docProperties.Properties) //{ // Logger.WriteLog("DataObjects " + item.Name); //} String objectId = dObj.Identity.GetValueAsString(); String docName = docProperties.Get("object_name").GetValueAsString(); String Extension = "PDF"; //docProperties.Get("dos_extension").GetValueAsString(); string repName = dObj.Identity.RepositoryName; string doctitle = docProperties.Get("title").GetValueAsString(); string docNumber = docProperties.Get("object_name").GetValueAsString(); //Console.WriteLine("RepositoryName: " + repName + " ,Document: " + objectId + " ,Name:" + docName + " ,Subject:" + docsubject); string revision = docProperties.Get("eif_revision").GetValueAsString(); string creationDate = docProperties.Get("creationdate").GetValueAsString(); string modifiedDate = docProperties.Get("modifydate").GetValueAsString(); string package = docProperties.Get("er_package_name").GetValueAsString(); string issueReason = docProperties.Get("eif_issue_reason").GetValueAsString(); string contract = docProperties.Get("er_contract_number").GetValueAsString(); string originator = docProperties.Get("eif_originator").GetValueAsString(); string discipline = docProperties.Get("eif_discipline").GetValueAsString(); string acceptanceCode = docProperties.Get("eif_acceptance_code").GetValueAsString(); string actualSubDate = docProperties.Get("er_actual_sub_date").GetValueAsString(); //try //{ // Logger.WriteLog("SearchDocuments Before er_actual_sub_date Date "); // Logger.WriteLog("SearchDocuments Before er_actual_sub_date Date 1 "); // //Logger.WriteLog("SearchDocuments r_creation_date " + docProperties.Get("r_creation_date").ToString()); // Logger.WriteLog("SearchDocuments er_actual_sub_date 2" + docProperties.Get("er_actual_sub_date").GetValueAsString()); // Logger.WriteLog("SearchDocuments after er_actual_sub_date Date "); //} //catch (Exception ex) //{ // Logger.WriteLog("SearchDocuments r_creation_date Exception" + ex.Message); //} documentModels.Add(new DocumentModel() { ObjectId = objectId, ObjectName = docName + "." + Extension, DocumentTitle = doctitle, DocumentNumber = docNumber, Revision = revision, AcceptanceCode = acceptanceCode, ActualSubDate = actualSubDate, Contract = contract, CreationDate = creationDate, ModifiedDate = modifiedDate, Discipline = discipline, IssueReason = issueReason, Originator = originator, Package = package, TotalCount = totalObjCount }); } //queryExec.StartingIndex += search.PageSize; //Logger.WriteLog("SearchDocuments 301 " + q); //Logger.WriteLog("SearchDocuments 302 " + q); } catch (Exception ex) { documentModels.Add(new DocumentModel() { ObjectId = "1", ObjectName = ex.Message, DocumentTitle = ex.StackTrace, DocumentNumber = "XXXX-1FD-345-QWE", Revision = "Rev983475", AcceptanceCode = "TRRTT", ActualSubDate = "21-09-2020", Contract = "P34242-Contract", CreationDate = "21-09-2020", ModifiedDate = "21-09-2020", Discipline = "FR8530498", IssueReason = "Approved", Originator = "Mark Boyle", Package = "DFGH54938", TotalCount = 1 }); Logger.WriteLog("SearchDocuments searchServiceDemo " + ex.InnerException.ToString() + Environment.NewLine + ex.GetBaseException().ToString() + Environment.NewLine + ex.GetType().ToString()); } return(documentModels); }
public String GetUserNameFromRepository() { ServiceFactory serviceFactory = ServiceFactory.Instance; IQueryService queryService = serviceFactory .GetRemoteService<IQueryService>(serviceDemo.DemoServiceContext); PassthroughQuery query = new PassthroughQuery(); query.QueryString = "select user_name from dm_user where user_login_name = '" + serviceDemo.UserName + "'"; query.AddRepository(serviceDemo.DefaultRepository); QueryExecution queryEx = new QueryExecution(); queryEx.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; queryEx.MaxResultCount = -1; // use default limit configured in dfs.properties OperationOptions operationOptions = null; QueryResult queryResult = queryService.Execute(query, queryEx, operationOptions); PropertySet objectProperties = queryResult.DataPackage.DataObjects[0].Properties; return objectProperties.Get("user_name").GetValueAsString(); }
public AclPackage GetOwnerPrivateAcls(String ownerName, String repository) { // instantiate a Query service proxy ServiceFactory serviceFactory = ServiceFactory.Instance; IQueryService queryService = null; queryService = serviceFactory.GetRemoteService<IQueryService>(accessControlService.GetServiceContext()); // build and run the query PassthroughQuery query = new PassthroughQuery(); query.QueryString = "select owner_name, object_name from dm_acl " + "where r_is_internal='0' and acl_class='0' and owner_name='" + ownerName + "'"; query.AddRepository(DefaultRepository); QueryExecution queryEx = new QueryExecution(); queryEx.CacheStrategyType = CacheStrategyType.DEFAULT_CACHE_STRATEGY; queryEx.MaxResultCount = -1; // no limit OperationOptions operationOptions = null; QueryResult queryResult = queryService.Execute(query, queryEx, operationOptions); DataPackage resultDp = queryResult.DataPackage; List<DataObject> dataObjects = resultDp.DataObjects; Console.WriteLine("Total objects returned is: " + dataObjects.Count); //convert the results into a List<AclIdentity> List<AclIdentity> identityList = new List<AclIdentity>(); foreach (DataObject dObj in dataObjects) { PropertySet docProperties = dObj.Properties; AclIdentity aclIdentity = new AclIdentity(); aclIdentity.Domain = docProperties.Get("owner_name").GetValueAsString(); aclIdentity.Name = docProperties.Get("object_name").GetValueAsString(); aclIdentity.RepositoryName = repository; identityList.Add(aclIdentity); } // get and return the AclPackage return accessControlService.Get(identityList); }
/* * Demonstrates a typical scenario for calling the query service. * Gets an instance of the Query service and calls the execute operation * with a hard-coded query and operation options. */ public List <CabinetModel> callQueryServiceCabinet() { /* * Get an instance of the QueryService by passing * in the service context to the service factory. */ string result = "start"; List <CabinetModel> lstCabinets = new List <CabinetModel>(); try { ServiceFactory serviceFactory = ServiceFactory.Instance; IQueryService querySvc = serviceFactory.GetRemoteService <IQueryService>(serviceContext, moduleName, address); /* * Construct the query and the QueryExecution options */ PassthroughQuery query = new PassthroughQuery(); query.QueryString = "select r_object_id, object_name from dm_cabinet"; query.AddRepository(repository); QueryExecution queryEx = new QueryExecution(); queryEx.CacheStrategyType = CacheStrategyType.DEFAULT_CACHE_STRATEGY; /* * Execute the query passing in the operation options and print the result */ OperationOptions operationOptions = null; QueryResult queryResult = querySvc.Execute(query, queryEx, operationOptions); result = result + Environment.NewLine + "QueryId == " + query.QueryString; result = result + Environment.NewLine + "CacheStrategyType == " + queryEx.CacheStrategyType; //Console.WriteLine("QueryId == " + query.QueryString); //Console.WriteLine("CacheStrategyType == " + queryEx.CacheStrategyType); DataPackage resultDp = queryResult.DataPackage; List <DataObject> dataObjects = resultDp.DataObjects; int numberOfObjects = dataObjects.Count; result = result + Environment.NewLine + "Total objects returned is: " + numberOfObjects; //Console.WriteLine("Total objects returned is: " + numberOfObjects); foreach (DataObject dObj in dataObjects) { PropertySet docProperties = dObj.Properties; String objectId = dObj.Identity.GetValueAsString(); String docName = docProperties.Get("object_name").GetValueAsString(); //Console.WriteLine("Document " + objectId + " name is " + docName); result = result + Environment.NewLine + "Document " + objectId + " name is " + docName; lstCabinets.Add(new CabinetModel() { ObjectId = objectId, ObjectName = docName }); } } //catch (FaultException<SerializableException> ex) //{ // Console.WriteLine(String.Format("Got FaultException[{0}] with message: {1}\n", ex.Detail, ex.Message)); //} catch (Exception exx) { // Console.WriteLine(exx.StackTrace); throw exx; } return(lstCabinets); }
public List <KeywordModel> callQueryServiceKeyword() { /* * Get an instance of the QueryService by passing * in the service context to the service factory. */ string result = "start"; List <KeywordModel> lstKeywords = new List <KeywordModel>(); try { ServiceFactory serviceFactory = ServiceFactory.Instance; IQueryService querySvc = serviceFactory.GetRemoteService <IQueryService>(serviceContext, moduleName, address); /* * Construct the query and the QueryExecution options */ PassthroughQuery query = new PassthroughQuery(); query.QueryString = "select * from ecs_picklist where ecs_pl_category in ('Type of Document', 'Acceptance Code', 'Area', 'Revision', 'Discipline', 'Contract Number', 'Project Reference', 'Issue Reason')"; query.AddRepository(repository); QueryExecution queryEx = new QueryExecution(); queryEx.CacheStrategyType = CacheStrategyType.NO_CACHE_STRATEGY; /* * Execute the query passing in the operation options and print the result */ OperationOptions operationOptions = null; QueryResult queryResult = querySvc.Execute(query, queryEx, operationOptions); result = result + Environment.NewLine + "QueryId == " + query.QueryString; result = result + Environment.NewLine + "CacheStrategyType == " + queryEx.CacheStrategyType; //Console.WriteLine("QueryId == " + query.QueryString); //Console.WriteLine("CacheStrategyType == " + queryEx.CacheStrategyType); DataPackage resultDp = queryResult.DataPackage; List <DataObject> dataObjects = resultDp.DataObjects; int numberOfObjects = dataObjects.Count; result = result + Environment.NewLine + "Total objects returned is: " + numberOfObjects; //Console.WriteLine("Total objects returned is: " + numberOfObjects); foreach (DataObject dObj in dataObjects) { PropertySet docProperties = dObj.Properties; String category = docProperties.Get("ecs_pl_category").GetValueAsString(); String ObjectName = docProperties.Get("object_name").GetValueAsString(); String SV = docProperties.Get("ecs_short_val").GetValueAsString(); lstKeywords.Add(new KeywordModel() { Category = category, ObjectName = ObjectName, ShortValue = SV }); } } //catch (FaultException<SerializableException> ex) //{ // Console.WriteLine(String.Format("Got FaultException[{0}] with message: {1}\n", ex.Detail, ex.Message)); //} catch (Exception) { // Console.WriteLine(exx.StackTrace); throw; } return(lstKeywords); }
/* * Sequentially processes a cached query result * Terminates when end of query result is reached */ //public IEnumerable<DocumentModel> CachedPassthroughQuery(string filename, string subject) //{ // List<DocumentModel> documentModels = new List<DocumentModel>(); // PassthroughQuery query = new PassthroughQuery(); // string queryString = "select r_object_id, object_name,subject from dm_document"; // if ((!String.IsNullOrEmpty(filename)) && (!String.IsNullOrEmpty(subject))) // { // queryString = "select r_object_id, object_name,subject from dm_document where object_name like '%" + filename + "%' and subject like '%" + subject + "%'"; // } // if ((!String.IsNullOrEmpty(filename)) && (String.IsNullOrEmpty(subject))) // { // queryString = "select r_object_id, object_name,subject from dm_document where object_name like '%" + filename + "%'"; // } // if ((String.IsNullOrEmpty(filename)) && (!String.IsNullOrEmpty(subject))) // { // queryString = "select r_object_id, object_name,subject from dm_document where subject like '%" + subject + "%'"; // } // query.QueryString = queryString; // //Console.WriteLine("Query string is " + query.QueryString); // query.AddRepository(DefaultRepository); // QueryExecution queryEx = new QueryExecution(); // OperationOptions operationOptions = null; // queryEx.CacheStrategyType = CacheStrategyType.BASIC_FILE_CACHE_STRATEGY; // // Console.WriteLine("CacheStrategyType == " + queryEx.CacheStrategyType); // queryEx.MaxResultCount = 10; // //Console.WriteLine("MaxResultCount = " + queryEx.MaxResultCount); // try // { // while (true) // { // QueryResult queryResult = queryService.Execute(query, queryEx, // operationOptions); // DataPackage resultDp = queryResult.DataPackage; // List<DataObject> dataObjects = resultDp.DataObjects; // if (dataObjects.Count == 0) // { // break; // } // //Console.WriteLine("Total objects returned is: " + dataObjects.Count); // foreach (DataObject dObj in dataObjects) // { // PropertySet docProperties = dObj.Properties; // String objectId = dObj.Identity.GetValueAsString(); // String docName = docProperties.Get("object_name").GetValueAsString(); // string repName = dObj.Identity.RepositoryName; // string docsubject = docProperties.Get("subject").GetValueAsString(); // //Console.WriteLine("RepositoryName: " + repName + " ,Document: " + objectId + " ,Name:" + docName + " ,Subject:" + docsubject); // documentModels.Add(new DocumentModel() { ObjectId = objectId, ObjectName = docName, Subject = docsubject }); // //yield; // } // queryEx.StartingIndex += 10; // } // } // catch (Exception ex) // { // documentModels.Add(new DocumentModel() { ObjectId = "0", ObjectName = ex.Message, Subject = ex.StackTrace }); // } // return documentModels; //} public IEnumerable <KeywordModel> callQueryServiceKeyword() { List <KeywordModel> lstKeywords = new List <KeywordModel>(); PassthroughQuery query = new PassthroughQuery(); string queryString = "select distinct object_name, ecs_pl_category, ecs_short_val from ecs_picklist where any i_folder_id IN (select r_object_id from ecs_folder where (FOLDER('/ECSCONFIG/Application Configuration/ERL',descend) OR FOLDER('/ECSCONFIG/Application Configuration/S01',descend) OR FOLDER('/ECSCONFIG/Application Configuration/S23',descend)) and object_name like 'Active values') order by ecs_pl_category,object_name asc"; //string queryString = "select distinct object_name, ecs_pl_category, ecs_short_val from ecs_picklist where ecs_pl_category in ('Type of Document', 'Acceptance Code', 'Area', 'Revision', 'Discipline', 'Contract Number', 'Project Reference', 'Issue Reason') and Folder('/ECSCONFIG/Application Configuration/ERL/03 Picklists/Current', descend)"; //string queryString = "select r_object_id, object_name,subject from dm_document"; // /ECSCONFIG / Application Configuration / ERL / 03 Picklists //if ((!String.IsNullOrEmpty(filename)) && (!String.IsNullOrEmpty(subject))) //{ // queryString = "select r_object_id, object_name,subject from dm_document where object_name like '%" + filename + "%' and subject like '%" + subject + "%'"; //} //if ((!String.IsNullOrEmpty(filename)) && (String.IsNullOrEmpty(subject))) //{ // queryString = "select r_object_id, object_name,subject from dm_document where object_name like '%" + filename + "%'"; //} //if ((String.IsNullOrEmpty(filename)) && (!String.IsNullOrEmpty(subject))) //{ // queryString = "select r_object_id, object_name,subject from dm_document where subject like '%" + subject + "%'"; //} query.QueryString = queryString; //Console.WriteLine("Query string is " + query.QueryString); query.AddRepository(DefaultRepository); QueryExecution queryEx = new QueryExecution(); OperationOptions operationOptions = null; queryEx.CacheStrategyType = CacheStrategyType.BASIC_FILE_CACHE_STRATEGY; // Console.WriteLine("CacheStrategyType == " + queryEx.CacheStrategyType); queryEx.MaxResultCount = 10; //Console.WriteLine("MaxResultCount = " + queryEx.MaxResultCount); try { while (true) { QueryResult queryResult = queryService.Execute(query, queryEx, operationOptions); DataPackage resultDp = queryResult.DataPackage; List <DataObject> dataObjects = resultDp.DataObjects; if (dataObjects.Count == 0) { break; } //Console.WriteLine("Total objects returned is: " + dataObjects.Count); foreach (DataObject dObj in dataObjects) { PropertySet docProperties = dObj.Properties; String category = docProperties.Get("ecs_pl_category").GetValueAsString(); String ObjectName = docProperties.Get("object_name").GetValueAsString(); String SV = docProperties.Get("ecs_short_val").GetValueAsString(); lstKeywords.Add(new KeywordModel() { Category = category, ObjectName = ObjectName, ShortValue = SV }); //yield; } queryEx.StartingIndex += 10; } } catch (Exception ex) { lstKeywords.Add(new KeywordModel() { Category = "Failure", ObjectName = "Check", ShortValue = "CK" }); lstKeywords.Add(new KeywordModel() { Category = "Exception", ObjectName = ex.StackTrace, ShortValue = ex.Message }); } return(lstKeywords); }
public DataPackage GetLifecycles(String repository) { ServiceFactory serviceFactory = ServiceFactory.Instance; IQueryService queryService = null; queryService = serviceFactory .GetRemoteService<IQueryService>(lifecycleService.GetServiceContext()); PassthroughQuery query = new PassthroughQuery(); // this query does not necessarily contain everything you will need // but shows most of the lifecycle-related properties on dm_policy query.QueryString = "select r_object_id, " + "object_name, " + "acl_name, " + "included_type, " + "include_subtypes, " + "state_name, " + "state_description, " + "state_class, " + "r_resume_state, " + "r_current_state, " + "entry_criteria_id, " + "user_criteria_id, " + "action_object_id, " + "user_action_id, " + "exception_state, " + "allow_attach, " + "allow_schedule, " + "return_to_base, " + "allow_demote, " + "alias_set_ids, " + "return_condition " + "from dm_policy"; query.AddRepository(repository); QueryExecution queryEx = new QueryExecution(); queryEx.CacheStrategyType = CacheStrategyType.DEFAULT_CACHE_STRATEGY; queryEx.MaxResultCount = 50; OperationOptions operationOptions = null; Console.WriteLine("Executing query " + query.QueryString); QueryResult queryResult = queryService.Execute(query, queryEx, operationOptions); return queryResult.DataPackage; }