public bool ProcessEnvelope(ReadEnvelope item, SaveStatus status) { if (item == null || string.IsNullOrWhiteSpace(item.EnvelopeIdentifier)) { status.AddError("A valid ReadEnvelope must be provided."); return(false); } DateTime createDate = new DateTime(); DateTime envelopeUpdateDate = new DateTime(); if (DateTime.TryParse(item.NodeHeaders.CreatedAt.Replace("UTC", "").Trim(), out createDate)) { status.SetEnvelopeCreated(createDate); } if (DateTime.TryParse(item.NodeHeaders.UpdatedAt.Replace("UTC", "").Trim(), out envelopeUpdateDate)) { status.SetEnvelopeUpdated(envelopeUpdateDate); } status.DocumentOwnedBy = item.documentOwnedBy; if (item.documentPublishedBy != null) { if (item.documentOwnedBy == null || (item.documentPublishedBy != item.documentOwnedBy)) { status.DocumentPublishedBy = item.documentPublishedBy; } } else { //will need to check elsewhere //OR as part of import check if existing one had 3rd party publisher } string payload = item.DecodedResource.ToString(); string envelopeIdentifier = item.EnvelopeIdentifier; string ctdlType = RegistryServices.GetResourceType(payload); string envelopeUrl = RegistryServices.GetEnvelopeUrl(envelopeIdentifier); //Already done in RegistryImport //LoggingHelper.WriteLogFile( UtilityManager.GetAppKeyValue( "logFileTraceLevel", 5 ), item.EnvelopeCetermsCtid + "_assessment", payload, "", false ); if (ImportServiceHelpers.IsAGraphResource(payload)) { //if ( payload.IndexOf( "\"en\":" ) > 0 ) return(ImportV3(payload, envelopeIdentifier, status)); //else // return ImportV2( payload, envelopeIdentifier, status ); } else { status.AddError(thisClassName + ".ImportByResourceUrl - 2019-05-01 ONLY GRAPH BASED IMPORTS ARE HANDLED"); return(false); //LoggingHelper.DoTrace( 5, " envelopeUrl: " + envelopeUrl ); // LoggingHelper.WriteLogFile( 1, "asmt_" + item.EnvelopeIdentifier, payload, "", false ); // input = JsonConvert.DeserializeObject<InputEntity>( item.DecodedResource.ToString() ); // return Import( input, envelopeIdentifier, status ); } }
public bool ProcessEnvelope(ReadEnvelope item, SaveStatus status) { if (item == null || string.IsNullOrWhiteSpace(item.EnvelopeIdentifier)) { status.AddError(thisClassName + " A valid ReadEnvelope must be provided."); return(false); } DateTime createDate = new DateTime(); DateTime envelopeUpdateDate = new DateTime(); if (DateTime.TryParse(item.NodeHeaders.CreatedAt.Replace("UTC", "").Trim(), out createDate)) { status.SetEnvelopeCreated(createDate); } if (DateTime.TryParse(item.NodeHeaders.UpdatedAt.Replace("UTC", "").Trim(), out envelopeUpdateDate)) { status.SetEnvelopeUpdated(envelopeUpdateDate); } string payload = item.DecodedResource.ToString(); string envelopeIdentifier = item.EnvelopeIdentifier; string ctdlType = RegistryServices.GetResourceType(payload); string envelopeUrl = RegistryServices.GetEnvelopeUrl(envelopeIdentifier); LoggingHelper.DoTrace(5, " envelopeUrl: "+ envelopeUrl); LoggingHelper.WriteLogFile(UtilityManager.GetAppKeyValue("logFileTraceLevel", 5), item.EnvelopeCetermsCtid + "_ConceptScheme", payload, "", false); //just store input for now return(Import(payload, envelopeIdentifier, status)); //return true; } //
public bool ProcessEnvelope(ReadEnvelope item, SaveStatus status) { if (item == null || string.IsNullOrWhiteSpace(item.EnvelopeIdentifier)) { status.AddError("A valid ReadEnvelope must be provided."); return(false); } string payload = item.DecodedResource.ToString(); string envelopeIdentifier = item.EnvelopeIdentifier; string ctdlType = RegistryServices.GetResourceType(payload); string envelopeUrl = RegistryServices.GetEnvelopeUrl(envelopeIdentifier); if (ImportServiceHelpers.IsAGraphResource(payload)) { //if ( payload.IndexOf( "\"en\":" ) > 0 ) return(ImportV3(payload, envelopeIdentifier, status)); //else // return ImportV2( payload, envelopeIdentifier, status ); } else { LoggingHelper.DoTrace(5, " envelopeUrl: "+ envelopeUrl); LoggingHelper.WriteLogFile(1, "lopp_" + item.EnvelopeIdentifier, payload, "", false); input = JsonConvert.DeserializeObject <InputEntity>(item.DecodedResource.ToString()); return(Import(input, envelopeIdentifier, status)); } }
public bool ProcessEnvelope(ReadEnvelope item, SaveStatus status) { if (item == null || string.IsNullOrWhiteSpace(item.EnvelopeIdentifier)) { status.AddError("A valid ReadEnvelope must be provided."); return(false); } // DateTime createDate = new DateTime(); DateTime envelopeUpdateDate = new DateTime(); if (DateTime.TryParse(item.NodeHeaders.CreatedAt.Replace("UTC", "").Trim(), out createDate)) { status.SetEnvelopeCreated(createDate); } if (DateTime.TryParse(item.NodeHeaders.UpdatedAt.Replace("UTC", "").Trim(), out envelopeUpdateDate)) { status.SetEnvelopeUpdated(envelopeUpdateDate); } status.DocumentOwnedBy = item.documentOwnedBy; if (item.documentOwnedBy != null && item.documentPublishedBy != null && item.documentPublishedBy != item.documentOwnedBy) { status.DocumentPublishedBy = item.documentPublishedBy; } // string payload = item.DecodedResource.ToString(); status.EnvelopeId = item.EnvelopeIdentifier; string ctdlType = RegistryServices.GetResourceType(payload); //string envelopeUrl = RegistryServices.GetEnvelopeUrl( status.EnvelopeId ); //Already done in RegistryImport //LoggingHelper.WriteLogFile( UtilityManager.GetAppKeyValue( "logFileTraceLevel", 5 ), item.EnvelopeCetermsCtid + "_organization", payload, "", false ); if (ImportServiceHelpers.IsAGraphResource(payload)) { //if ( payload.IndexOf( "\"en\":" ) > 0 ) return(ImportV3(payload, status)); //else // return ImportV2( payload, envelopeIdentifier, status ); } else { status.AddError("Importing of an organization resource payload is no longer supported. Please provide a /graph/ input."); //LoggingHelper.DoTrace( 5, " envelopeUrl: " + envelopeUrl ); //LoggingHelper.WriteLogFile( 1, "org_" + item.EnvelopeIdentifier, payload, "", false ); //input = JsonConvert.DeserializeObject<InputEntity>( item.DecodedResource.ToString() ); //return Import( input, envelopeIdentifier, status ); return(false); } }
/// <summary> /// Retrieve a resource from the registry by resourceId /// </summary> /// <param name="resourceId">Url to a resource in the registry</param> /// <param name="statusMessage"></param> /// <returns></returns> public static string GetResourceByUrl(string resourceUrl, ref string ctdlType, ref string statusMessage) { string payload = ""; //NOTE - getting by ctid means no envelopeid try { // Create a request for the URL. WebRequest request = WebRequest.Create(resourceUrl); // If required by the server, set the credentials. request.Credentials = CredentialCache.DefaultCredentials; var hdr = new WebHeaderCollection { { "Authorization", "Token " + credentialEngineAPIKey } }; request.Headers.Add(hdr); //Get the response. HttpWebResponse response = ( HttpWebResponse )request.GetResponse(); // Get the stream containing content returned by the server. Stream dataStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. StreamReader reader = new StreamReader(dataStream); // Read the content. payload = reader.ReadToEnd(); // Cleanup the streams and the response. reader.Close(); dataStream.Close(); response.Close(); ctdlType = RegistryServices.GetResourceType(payload); } catch (Exception exc) { if (exc.Message.IndexOf("(404) Not Found") > 0) { //need to surface these better statusMessage = "ERROR - resource was (still) not found in registry: " + resourceUrl; } else { LoggingHelper.LogError(exc, "RegistryServices.GetResource"); statusMessage = exc.Message; } } return(payload); }
public bool ProcessEnvelope(ReadEnvelope item, SaveStatus status) { if (item == null || string.IsNullOrWhiteSpace(item.EnvelopeIdentifier)) { status.AddError(thisClassName + " A valid ReadEnvelope must be provided."); return(false); } DateTime createDate = new DateTime(); DateTime envelopeUpdateDate = new DateTime(); if (DateTime.TryParse(item.NodeHeaders.CreatedAt.Replace("UTC", "").Trim(), out createDate)) { status.SetEnvelopeCreated(createDate); } if (DateTime.TryParse(item.NodeHeaders.UpdatedAt.Replace("UTC", "").Trim(), out envelopeUpdateDate)) { status.SetEnvelopeUpdated(envelopeUpdateDate); } status.DocumentOwnedBy = item.documentOwnedBy; if (item.documentPublishedBy != null) { if (item.documentOwnedBy == null || (item.documentPublishedBy != item.documentOwnedBy)) { status.DocumentPublishedBy = item.documentPublishedBy; } } else { //will need to check elsewhere //OR as part of import check if existing one had 3rd party publisher } string payload = item.DecodedResource.ToString(); string envelopeIdentifier = item.EnvelopeIdentifier; string ctdlType = RegistryServices.GetResourceType(payload); string envelopeUrl = RegistryServices.GetEnvelopeUrl(envelopeIdentifier); LoggingHelper.DoTrace(5, " envelopeUrl: "+ envelopeUrl); LoggingHelper.WriteLogFile(UtilityManager.GetAppKeyValue("logFileTraceLevel", 5), item.EnvelopeCetermsCtid + "_competencyFrameswork", payload, "", false); //input = JsonConvert.DeserializeObject<InputGraph>( item.DecodedResource.ToString() ); //InputEntity framework = GetFramework( input.Graph ); //LoggingHelper.DoTrace( 5, " framework name: " + framework.name.ToString() ); //just store input for now return(Import(payload, envelopeIdentifier, status)); //return true; } //
public bool ProcessEnvelope(ReadEnvelope item, SaveStatus status) { if (item == null || string.IsNullOrWhiteSpace(item.EnvelopeIdentifier)) { status.AddError("A valid ReadEnvelope must be provided."); return(false); } // DateTime createDate = new DateTime(); DateTime envelopeUpdateDate = new DateTime(); if (DateTime.TryParse(item.NodeHeaders.CreatedAt.Replace("UTC", "").Trim(), out createDate)) { status.SetEnvelopeCreated(createDate); } if (DateTime.TryParse(item.NodeHeaders.UpdatedAt.Replace("UTC", "").Trim(), out envelopeUpdateDate)) { status.SetEnvelopeUpdated(envelopeUpdateDate); } // string payload = item.DecodedResource.ToString(); string envelopeIdentifier = item.EnvelopeIdentifier; string ctdlType = RegistryServices.GetResourceType(payload); string envelopeUrl = RegistryServices.GetEnvelopeUrl(envelopeIdentifier); LoggingHelper.WriteLogFile(UtilityManager.GetAppKeyValue("logFileTraceLevel", 5), item.EnvelopeCetermsCtid + "_costManifest", payload, "", false); if (ImportServiceHelpers.IsAGraphResource(payload)) { //if ( payload.IndexOf( "\"en\":" ) > 0 ) return(ImportV3(payload, "", status)); //else // return ImportV2( payload, "", status ); } else { status.AddError("A valid graph object must be provided for a cost manifest."); return(false); //LoggingHelper.DoTrace( 5, " envelopeUrl: " + envelopeUrl ); // LoggingHelper.WriteLogFile( 1, "costManifest_" + item.EnvelopeIdentifier, payload, "", false ); // input = JsonConvert.DeserializeObject<InputEntity>( item.DecodedResource.ToString() ); // return Import( input, envelopeIdentifier, status ); } }
public bool ProcessEnvelope(ReadEnvelope item, SaveStatus status) { if (item == null || string.IsNullOrWhiteSpace(item.EnvelopeIdentifier)) { status.AddError("A valid ReadEnvelope must be provided."); return(false); } DateTime createDate = new DateTime(); DateTime envelopeUpdateDate = new DateTime(); if (DateTime.TryParse(item.NodeHeaders.CreatedAt.Replace("UTC", "").Trim(), out createDate)) { //entity.DocumentUpdatedAt = updateDate; } if (DateTime.TryParse(item.NodeHeaders.UpdatedAt.Replace("UTC", "").Trim(), out envelopeUpdateDate)) { //entity.DocumentUpdatedAt = envelopeUpdateDate; } string payload = item.DecodedResource.ToString(); string envelopeIdentifier = item.EnvelopeIdentifier; string ctdlType = RegistryServices.GetResourceType(payload); string envelopeUrl = RegistryServices.GetEnvelopeUrl(envelopeIdentifier); //if ( ImportServiceHelpers.IsAGraphResource( payload ) ) //{ //if ( payload.IndexOf( "\"en\":" ) > 0 ) return(ImportV3(payload, envelopeIdentifier, status)); //else // return ImportV2( payload, envelopeIdentifier, status ); //} //else //{ // LoggingHelper.DoTrace( 5, " envelopeUrl: " + envelopeUrl ); // LoggingHelper.WriteLogFile( 1, "credential_" + item.EnvelopeIdentifier, payload, "", false ); // input = JsonConvert.DeserializeObject<InputEntity>( item.DecodedResource.ToString() ); // return Import( input, envelopeIdentifier, status, envelopeUpdateDate ); //} }
public bool ProcessEnvelope(EntityServices mgr, ReadEnvelope item, SaveStatus status) { if (item == null || string.IsNullOrWhiteSpace(item.EnvelopeIdentifier)) { status.AddError(thisClassName + " A valid ReadEnvelope must be provided."); return(false); } DateTime createDate = new DateTime(); DateTime envelopeUpdateDate = new DateTime(); if (DateTime.TryParse(item.NodeHeaders.CreatedAt.Replace("UTC", "").Trim(), out createDate)) { //entity.DocumentUpdatedAt = updateDate; } if (DateTime.TryParse(item.NodeHeaders.UpdatedAt.Replace("UTC", "").Trim(), out envelopeUpdateDate)) { //entity.DocumentUpdatedAt = envelopeUpdateDate; } string payload = item.DecodedResource.ToString(); string envelopeIdentifier = item.EnvelopeIdentifier; string ctdlType = RegistryServices.GetResourceType(payload); string envelopeUrl = RegistryServices.GetEnvelopeUrl(envelopeIdentifier); LoggingHelper.DoTrace(5, " envelopeUrl: "+ envelopeUrl); LoggingHelper.WriteLogFile(1, item.EnvelopeIdentifier + "_competencyFrameswork", payload, "", false); //input = JsonConvert.DeserializeObject<InputGraph>( item.DecodedResource.ToString() ); //InputEntity framework = GetFramework( input.Graph ); //LoggingHelper.DoTrace( 5, " framework name: " + framework.name.ToString() ); //just store input for now return(Import(mgr, payload, envelopeIdentifier, status)); //return true; } //
/// <summary> /// Use search to get the envelope for a ctid /// </summary> /// <param name="ctid"></param> /// <param name="statusMessage"></param> /// <param name="ctdlType"></param> /// <returns></returns> public static ReadEnvelope GetEnvelopeByCtid(string ctid, ref string statusMessage, ref string ctdlType, string community = "") { string document = ""; //perhaps this should be done in the caller. It could check the default or previous import source if (string.IsNullOrWhiteSpace(community)) { community = UtilityManager.GetAppKeyValue("defaultCommunity"); } string additionalCommunity = UtilityManager.GetAppKeyValue("additionalCommunity"); string credentialEngineAPIKey = UtilityManager.GetAppKeyValue("CredentialEngineAPIKey"); // string searchUrl = GetRegistrySearchUrl(community); searchUrl = searchUrl + "ctid=" + ctid.ToLower(); LoggingHelper.DoTrace(5, string.Format("RegistryServices.ImportByCtid ctid: {0}, searchUrl: {1} ", ctid, searchUrl)); ReadEnvelope envelope = new ReadEnvelope(); List <ReadEnvelope> list = new List <ReadEnvelope>(); try { // Create a request for the URL. WebRequest request = WebRequest.Create(searchUrl); request.Credentials = CredentialCache.DefaultCredentials; var hdr = new WebHeaderCollection { { "Authorization", "Token " + credentialEngineAPIKey } }; request.Headers.Add(hdr); HttpWebResponse response = ( HttpWebResponse )request.GetResponse(); Stream dataStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. StreamReader reader = new StreamReader(dataStream); // Read the content. document = reader.ReadToEnd(); // Cleanup the streams and the response. reader.Close(); dataStream.Close(); response.Close(); //map to list list = JsonConvert.DeserializeObject <List <ReadEnvelope> >(document); //only expecting one if (list != null && list.Count > 0) { envelope = list[0]; if (envelope != null && !string.IsNullOrWhiteSpace(envelope.EnvelopeIdentifier)) { string payload = envelope.DecodedResource.ToString(); ctdlType = RegistryServices.GetResourceType(payload); } } } catch (Exception exc) { LoggingHelper.LogError(exc, "RegistryServices.GetEnvelopeByCtid"); statusMessage = exc.Message; } return(envelope); }
/// <summary> /// Retrieve an envelope from the registry /// </summary> /// <param name="envelopeId"></param> /// <param name="statusMessage"></param> /// <param name="ctdlType"></param> /// <returns></returns> public static ReadEnvelope GetEnvelope(string envelopeId, ref string statusMessage, ref string ctdlType, string community = "") { string document = ""; //need to pass in an override community - eventually if (string.IsNullOrWhiteSpace(community)) { community = UtilityManager.GetAppKeyValue("defaultCommunity"); } string serviceUri = GetEnvelopeUrl(envelopeId, community); serviceUri = string.Format(serviceUri, envelopeId); LoggingHelper.DoTrace(5, string.Format("RegistryServices.GetEnvelope envelopeId: {0}, serviceUri: {1} ", envelopeId, serviceUri)); ReadEnvelope envelope = new ReadEnvelope(); try { // Create a request for the URL. WebRequest request = WebRequest.Create(serviceUri); // If required by the server, set the credentials. request.Credentials = CredentialCache.DefaultCredentials; var hdr = new WebHeaderCollection { { "Authorization", "Token " + credentialEngineAPIKey } }; request.Headers.Add(hdr); //Get the response. HttpWebResponse response = ( HttpWebResponse )request.GetResponse(); // Get the stream containing content returned by the server. Stream dataStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. StreamReader reader = new StreamReader(dataStream); // Read the content. document = reader.ReadToEnd(); // Cleanup the streams and the response. reader.Close(); dataStream.Close(); response.Close(); //map to the default envelope envelope = JsonConvert.DeserializeObject <ReadEnvelope>(document); if (envelope != null && !string.IsNullOrWhiteSpace(envelope.EnvelopeIdentifier)) { string payload = envelope.DecodedResource.ToString(); ctdlType = RegistryServices.GetResourceType(payload); //return ProcessProxy( mgr, item, status ); } } catch (Exception exc) { LoggingHelper.LogError(exc, "RegistryServices.GetEnvelope"); statusMessage = exc.Message; } return(envelope); }
/// <summary> /// Handle deleted records for the requested time period /// </summary> /// <param name="community"></param> /// <param name="startingDate">Date must be in UTC</param> /// <param name="endingDate">Date must be in UTC</param> /// <param name="maxRecords"></param> /// <param name="recordsDeleted"></param> /// <returns></returns> public static string HandleDeletes(string community, string startingDate, string endingDate, int maxRecords, ref int recordsDeleted) { int pageNbr = 1; int pageSize = 100; //string importError = ""; //may want to just do all types! string type = ""; List <string> messages = new List <string>(); List <ReadEnvelope> list = new List <ReadEnvelope>(); SaveStatus status = new SaveStatus(); int pTotalRows = 0; int cntr = 0; bool isComplete = false; int exceptionCtr = 0; string statusMessage = ""; string importResults = ""; string importNote = ""; bool usingNewDeleteProcess = UtilityManager.GetAppKeyValue("usingNewDeleteProcess", false); LoggingHelper.DoTrace(1, string.Format("=== DELETE Check for: '{0}' to '{1}' ===", startingDate, endingDate)); //startingDate = "2017-10-29T00:00:00"; try { while (pageNbr > 0 && !isComplete) { list = RegistryImport.GetDeleted(community, type, startingDate, endingDate, pageNbr, pageSize, ref pTotalRows, ref statusMessage); if (list == null || list.Count == 0) { isComplete = true; if (pageNbr == 1) { importNote = "Deletes: No records where found for date range "; //Console.WriteLine( thisClassName + ".HandleDeletes() - " + importNote ); LoggingHelper.DoTrace(1, thisClassName + string.Format(".HandleDeletes() Community: {0} - ", community) + importNote); } break; } foreach (ReadEnvelope item in list) { cntr++; string payload = item.DecodedResource.ToString(); string ctdlType = RegistryServices.GetResourceType(payload); string ctid = RegistryServices.GetCtidFromUnknownEnvelope(item); //may not be available in database, may want to use ctid string envelopeIdentifier = item.EnvelopeIdentifier; string envelopeUrl = RegistryServices.GetEnvelopeUrl(item.EnvelopeIdentifier); //LoggingHelper.DoTrace( 5, " envelopeUrl: " + envelopeUrl ); //LoggingHelper.DoTrace( 6, string.Format( "{0}. EnvelopeIdentifier: {1} ", cntr, item.EnvelopeIdentifier ) ); try { //only need the envelopeId and type //so want a full delete, or set EntityStateId to 0 - just as a precaution messages = new List <string>(); status = new SaveStatus(); status.ValidationGroup = "Deletes"; // if (usingNewDeleteProcess) { Program.HandleDeleteRequest(cntr, item.EnvelopeIdentifier, ctid, ctdlType, ref statusMessage); continue; } //21-02-22 the old and new delete process seem to be the same, at lease the same xxxManager().Delete methods are being called. // //importError = ""; //each delete method will add an entry to SearchPendingReindex. //at the end of the process, call method to handle all the deletes switch (ctdlType.ToLower()) { case "credentialorganization": case "qacredentialorganization": case "organization": DisplayMessages(string.Format("{0}. Deleting {1} by ctid: {2} ", cntr, ctdlType, ctid)); if (!new OrganizationManager().Delete(ctid, ref statusMessage)) { DisplayMessages(string.Format(" Delete failed: {0} ", statusMessage)); } break; case "assessmentprofile": DisplayMessages(string.Format("{0}. Deleting {1} by ctid: {2} ", cntr, ctdlType, ctid)); if (!new AssessmentManager().Delete(ctid, ref statusMessage)) { DisplayMessages(string.Format(" Delete failed: {0} ", statusMessage)); } break; case "learningopportunityprofile": DisplayMessages(string.Format("{0}. Deleting {1} by ctid: {2} ", cntr, ctdlType, ctid)); if (!new LearningOpportunityManager().Delete(ctid, ref statusMessage)) { DisplayMessages(string.Format(" Delete failed: {0} ", statusMessage)); } break; case "conditionmanifest": DisplayMessages(string.Format("{0}. Deleting ConditionManifest by EnvelopeIdentifier/ctid: {1}/{2} ", cntr, item.EnvelopeIdentifier, ctid)); if (!new ConditionManifestManager().Delete(envelopeIdentifier, ctid, ref statusMessage)) { DisplayMessages(string.Format(" Delete failed: {0} ", statusMessage)); } break; case "costmanifest": DisplayMessages(string.Format("{0}. Deleting CostManifest by EnvelopeIdentifier/ctid: {1}/{2} ", cntr, item.EnvelopeIdentifier, ctid)); if (!new CostManifestManager().Delete(envelopeIdentifier, ctid, ref statusMessage)) { DisplayMessages(string.Format(" Delete failed: {0} ", statusMessage)); } break; case "competencyframework": //CompetencyFramework DisplayMessages(string.Format("{0}. Deleting CompetencyFramework by EnvelopeIdentifier/ctid: {1}/{2} ", cntr, item.EnvelopeIdentifier, ctid)); if (!new CompetencyFrameworkManager().Delete(ctid, ref statusMessage)) { DisplayMessages(string.Format(" Delete failed: {0} ", statusMessage)); } break; case "conceptscheme": // case "skos:conceptscheme": DisplayMessages(string.Format("{0}. Deleting ConceptScheme by EnvelopeIdentifier/ctid: {1}/{2} ", cntr, item.EnvelopeIdentifier, ctid)); if (!new ConceptSchemeManager().Delete(envelopeIdentifier, ctid, ref statusMessage)) { DisplayMessages(string.Format(" Delete failed: {0} ", statusMessage)); } break; case "pathway": DisplayMessages(string.Format("{0}. Deleting Pathway by EnvelopeIdentifier/ctid: {1}/{2} ", cntr, item.EnvelopeIdentifier, ctid)); if (!new PathwayManager().Delete(envelopeIdentifier, ctid, ref statusMessage)) { DisplayMessages(string.Format(" Delete failed: {0} ", statusMessage)); } break; case "pathwayset": DisplayMessages(string.Format("{0}. Deleting PathwaySet by EnvelopeIdentifier/ctid: {1}/{2} ", cntr, item.EnvelopeIdentifier, ctid)); if (!new PathwaySetManager().Delete(envelopeIdentifier, ctid, ref statusMessage)) { DisplayMessages(string.Format(" Delete failed: {0} ", statusMessage)); } break; case "transfervalueprofile": DisplayMessages(string.Format("{0}. Deleting transfervalue by Ctid: {1} ", cntr, ctid)); if (!new TransferValueProfileManager().Delete(ctid, ref statusMessage)) { DisplayMessages(string.Format(" Delete failed: {0} ", statusMessage)); } break; default: //default to credential DisplayMessages(string.Format("{0}. Deleting Credential ({2}) by EnvelopeIdentifier/ctid: {1}/{3} ", cntr, item.EnvelopeIdentifier, ctdlType, ctid)); if (!new CredentialManager().Delete(ctid, ref statusMessage)) { DisplayMessages(string.Format(" Delete failed: {0} ", statusMessage)); } break; } } catch (Exception ex) { LoggingHelper.LogError(ex, string.Format("Exception encountered in envelopeId: {0}", item.EnvelopeIdentifier), false, "CredentialFinder Import exception"); //importError = ex.Message; } if (maxRecords > 0 && cntr > maxRecords) { break; } } //foreach ( ReadEnvelope item in list ) if ((maxRecords > 0 && cntr > maxRecords) || cntr > pTotalRows) { isComplete = true; DisplayMessages(string.Format("Delete EARLY EXIT. Completed {0} records out of a total of {1} ", cntr, pTotalRows)); } pageNbr++; } //while //delete from elastic if (cntr > 0) { messages = new List <string>(); ElasticHelper.HandlePendingDeletes(ref messages); } importResults = string.Format("HandleDeletes - Processed {0} records, with {1} exceptions. \r\n", cntr, exceptionCtr); if (!string.IsNullOrWhiteSpace(importNote)) { importResults += importNote; } } catch (Exception ex) { LoggingHelper.LogError(ex, "Import.HandleDeletes"); } //actually only attepted at this time, need to account for errors! recordsDeleted = cntr; return(importResults); }