/// <summary> /// Update a Resource /// </summary> /// <param name="source_id">string object</param> /// <param name="name"string object></param> /// <param name="internal_id">string object</param> /// <param name="description">string object</param> /// <param name="internal_url">string object</param> /// <param name="resourceType">resourceType object</param> /// <param name="collection_name">string object</param> /// <param name="date_created">DateTime object</param> /// <param name="gene_ids">string[] object</param> /// <param name="ontologies">string[] object</param> /// <param name="pubmedid">string object</param> /// <returns></returns> public virtual string UpdateResource(string source_id, string name, string internal_id, string description, string internal_url, string resourceType, string collection_name, DateTime date_created, string[] gene_ids, string[] ontologies, string pubmedid) { dkCOIN.typeResource[] resources = new dkCOIN.typeResource[1]; dkCOIN.typeResource resource = new dkCOIN.typeResource(); resource.name = name; resource.internal_id = internal_id; resource.internal_url = internal_url; resource.collection_name = collection_name; resource.resourcetype = resourceType; if (description.Length > 2000) description = description.Substring(0, 1999); resource.description = description; resource.internal_create_date = date_created; if (!string.IsNullOrEmpty(pubmedid)) { dkCOIN.typePublication PubMedType = new dkCOIN.typePublication(); //PubMedType.citation = false; PubMedType.pubmed_id = pubmedid; resource.pubmed = new dkCOIN.typePublication[1]; resource.pubmed[0] = PubMedType; } if (date_created != null) resource.internal_create_dateSpecified = true; if (gene_ids != null) resource.gene_id = gene_ids; if (ontologies != null) resource.term_identifier = ontologies; resources[0] = resource; try { if (webservice == null) return ""; StartSession(); int result_ct = 0; result_ct = webservice.updateResource(resources).Length; dkCOIN.typeResourceResult[] results = new dkCOIN.typeResourceResult[result_ct]; results = webservice.updateResource(resources); string action = results[0].action; bool inserted = action.ToLower().StartsWith("inserted"); EndSession(); return action + ": " + name + (!inserted ? " updated " : " inserted ") + "successfully."; } catch (Exception e) { EndSession(); string msg = e.Message; msg = msg.Replace("\'", ""); msg = msg.Replace("\n", ""); EmailErrorNotification("UpdateResource", msg); return null; } }
/// <summary> /// Deletes a Resources /// </summary> /// <param name="source_id">string object (Source ID)</param> /// <param name="internal_id">string object (Internal Resource ID)</param> /// <param name="collection_name">string object (Collection Name)</param> public virtual void DeleteResource(string source_id, string internal_id, string collection_name) { if (webservice == null) return; dkCOIN.typeDeleteResource[] resources = new dkCOIN.typeDeleteResource[1]; dkCOIN.typeDeleteResource resource = new dkCOIN.typeDeleteResource(); resource.internal_id = internal_id; resource.collection_name = collection_name; resources[0] = resource; try { StartSession(); dkCOIN.typeResourceResult[] results = new dkCOIN.typeResourceResult[1]; results = webservice.deleteResource(resources); EndSession(); } catch (Exception e) { EndSession(); EmailErrorNotification("DeleteResource(string source_id [" + source_id + "], string internal_id [" + internal_id + "], string collection_name [" + collection_name + "])", e.Message); } }