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 );
            }
        }
Exemplo n.º 2
0
        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 ImportByPayload(string payload, SaveStatus status)
 {
     if (ImportServiceHelpers.IsAGraphResource(payload))
     {
         return(ImportV3(payload, "", status));
     }
     else
     {
         status.AddError(thisClassName + ".ImportByResourceUrl - 2019-05-01 ONLY GRAPH BASED IMPORTS ARE HANDLED");
         return(false);
     }
 }
        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 an envelop from the registry and do import
        /// </summary>
        /// <param name="envelopeId"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        //public bool ImportByEnvelopeId( string envelopeId, SaveStatus status )
        //{
        //	//this is currently specific, assumes envelop contains a credential
        //	//can use the hack fo GetResourceType to determine the type, and then call the appropriate import method

        //	if ( string.IsNullOrWhiteSpace( envelopeId ) )
        //	{
        //		status.AddError( thisClassName + ".ImportByEnvelope - a valid envelope id must be provided" );
        //		return false;
        //	}

        //	string statusMessage = "";
        //	//EntityServices mgr = new EntityServices();
        //	string ctdlType = "";
        //	try
        //	{
        //		ReadEnvelope envelope = RegistryServices.GetEnvelope( envelopeId, ref statusMessage, ref ctdlType );
        //		if ( envelope != null && !string.IsNullOrWhiteSpace( envelope.EnvelopeIdentifier ) )
        //		{
        //			return CustomProcessEnvelope( envelope, status );
        //		}
        //		else
        //			return false;
        //	}
        //	catch ( Exception ex )
        //	{
        //		LoggingHelper.LogError( ex, thisClassName + ".ImportByEnvelopeId()" );
        //		status.AddError( ex.Message );
        //		if ( ex.Message.IndexOf( "Path '@context', line 1" ) > 0 )
        //		{
        //			status.AddWarning( "The referenced registry document is using an old schema. Please republish it with the latest schema!" );
        //		}
        //		return false;
        //	}
        //}

        public bool ImportByResourceUrl(string resourceUrl, SaveStatus status)
        {
            if (string.IsNullOrWhiteSpace(resourceUrl))
            {
                status.AddError(thisClassName + ".ImportByResourceUrl - a valid resourceUrl must be provided");
                return(false);
            }
            //this is currently specific, assumes envelop contains an organization
            //can use the hack for GetResourceType to determine the type, and then call the appropriate import method
            string statusMessage = "";
            //EntityServices mgr = new EntityServices();
            string ctdlType = "";

            try
            {
                string payload = RegistryServices.GetResourceByUrl(resourceUrl, ref ctdlType, ref statusMessage);

                if (!string.IsNullOrWhiteSpace(payload))
                {
                    if (ImportServiceHelpers.IsAGraphResource(payload))
                    {
                        //if ( payload.IndexOf( "\"en\":" ) > 0 )
                        return(ImportV3(payload, "", status));
                        //else
                        //    return ImportV2( payload, "", status );
                    }
                    else
                    {
                        status.AddError(thisClassName + ".ImportByResourceUrl - 2019-05-01 ONLY GRAPH BASED IMPORTS ARE HANDLED");
                        return(false);
                        //input = JsonConvert.DeserializeObject<InputEntity>( payload.ToString() );
                        //                  return Import( input, "", status );
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                LoggingHelper.LogError(ex, thisClassName + ".ImportByResourceUrl()");
                status.AddError(ex.Message);
                if (ex.Message.IndexOf("Path '@context', line 1") > 0)
                {
                    status.AddWarning("The referenced registry document is using an old schema. Please republish it with the latest schema!");
                }
                return(false);
            }
        }
Exemplo n.º 6
0
 public bool ImportByPayload(string payload, SaveStatus status)
 {
     if (ImportServiceHelpers.IsAGraphResource(payload))
     {
         //if ( payload.IndexOf( "\"en\":" ) > 0 )
         return(ImportV3(payload, "", status));
         //else
         //    return ImportV2( payload, "", status );
     }
     else
     {
         input = JsonConvert.DeserializeObject <InputEntity>(payload);
         return(Import(input, "", status));
     }
 }
Exemplo n.º 7
0
 public bool ImportByPayload(string payload, SaveStatus status)
 {
     if (ImportServiceHelpers.IsAGraphResource(payload))
     {
         //if ( payload.IndexOf( "\"en\":" ) > 0 )
         return(ImportV3(payload, "", status));
         //else
         //    return ImportV2( payload, "", status );
     }
     else
     {
         //input = JsonConvert.DeserializeObject<InputEntity>( payload );
         //return Import( input, "", status );
         status.AddError("A valid graph object must be provided for a cost manifest.");
         return(false);
     }
 }
Exemplo n.º 8
0
 public bool ImportByPayload(string payload, SaveStatus status)
 {
     if (ImportServiceHelpers.IsAGraphResource(payload))
     {
         //if ( payload.IndexOf( "\"en\":" ) > 0 )
         return(ImportV3(payload, "", status));
         //else
         //    return ImportV2( payload, "", status );
     }
     else
     {
         status.AddError(thisClassName + ".ImportByResourceUrl - 2019-05-01 ONLY GRAPH BASED IMPORTS ARE HANDLED");
         return(false);
         //input = JsonConvert.DeserializeObject<InputEntity>( payload );
         //            return Import( input, "", status );
     }
 }
 public bool ImportByPayload(string payload, SaveStatus status)
 {
     //EntityServices mgr = new EntityServices();
     if (ImportServiceHelpers.IsAGraphResource(payload))
     {
         //if ( payload.IndexOf( "\"en\":" ) > 0 )
         return(ImportV3(payload, "", status));
         //else
         //    return ImportV2( payload, "", status );
     }
     else
     {
         //do additional check in case of getting just the resource instead of /graph/
         input = JsonConvert.DeserializeObject <InputEntity>(payload);
         return(Import(input, "", status));
     }
 }
Exemplo n.º 10
0
        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 );
            }
        }