Exemple #1
0
        public IActionResult dataPublish(IFormFile rdfFile, string jobId, bool discoverProcessed)
        {
            try
            {
                string idDiscoverItem = null;
                if (Request != null)
                {
                    idDiscoverItem = Request.Query["idDiscoverItem"].ToString();
                }
                if (!string.IsNullOrEmpty(idDiscoverItem))
                {
                    //Si viene el parametro 'idDiscoverItem' actualizamos un DiscoverItem ya existente.
                    XmlDocument rdf = SparqlUtility.GetRDFFromFile(rdfFile);

                    DiscoverItem discoverItem = _discoverItemService.GetDiscoverItemById(new Guid(idDiscoverItem));
                    discoverItem.DissambiguationProcessed = discoverProcessed;
                    discoverItem.Publish     = true;
                    discoverItem.Status      = "Pending";
                    discoverItem.DiscoverRdf = rdf.InnerXml;

                    _amqpService.PublishMessage(idDiscoverItem);
                    return(Ok());
                }
                else
                {
                    XmlDocument  rdf          = SparqlUtility.GetRDFFromFile(rdfFile);
                    DiscoverItem discoverItem = new DiscoverItem()
                    {
                        JobID = jobId, Rdf = rdf.InnerXml, Publish = true, DissambiguationProcessed = discoverProcessed, Status = "Pending"
                    };
                    Guid addedID = _discoverItemService.AddDiscoverItem(discoverItem);
                    _amqpService.PublishMessage(addedID);
                    return(Ok());
                }
            }
            catch (Exception ex)
            {
                return(Problem(ex.ToString()));
            }
        }