public ValidationResult CheckValidationState(string uuid)
        {
            if (!string.IsNullOrWhiteSpace(uuid))
            {
                string inspireId = GetInspireId(uuid);

                if (!string.IsNullOrWhiteSpace(inspireId))
                {
                    Log.Info($"Check validation state for metadata. Inspire id: {inspireId}");
                    string    inspireValidationResponse = _httpRequestExecutor.GetRequest(_inspireUrl + _validationStatusEndpoint + inspireId, "application/xml", "");
                    XDocument xmlDoc = XDocument.Parse(inspireValidationResponse);
                    InspireValidationResponseParser parser = new InspireValidationResponseParser(xmlDoc);

                    return(parser.ParseValidationResponseWithCompletenessIndicator());
                }
                else
                {
                    throw new Exception($"Cannot retrieve inspire id for {uuid}");
                }
            }
            else
            {
                throw new Exception("Metadata id missing.");
            }
        }
        public ValidationResult Validate(MetadataEntry metadataEntry, MD_Metadata_Type metadata, string rawXmlProcessed)
        {
            ValidationResult validationResult = new ValidationResult();

            //if (metadataEntry.HasResourceType(ResourceTypeSoftware))
            //{
            //    CheckDistributionUrl(metadata, validationResult);
            //}
            //else
            //{
            string response = _httpRequestExecutor.GetRequest(EndpointValidatorInMetadataEditor + metadataEntry.Uuid, ContentTypeXml, ContentTypeXml);

            if (!string.IsNullOrWhiteSpace(response))
            {
                External.MetadataEditor.MetadataEntry externalMetadataEntry = SerializeUtil.DeserializeFromString <External.MetadataEditor.MetadataEntry>(response);

                validationResult.Initialize(externalMetadataEntry);
                validationResult.Timestamp = DateTime.Now;
            }
            //}
            return(validationResult);
        }