/// <summary> /// Internal Method to run an Action, independently from the module. /// </summary> internal static ApiCallResponse ActionRun <TEntity>(Int64 objectId, ParaObjects.Action action, ParaCredentials pc) where TEntity : ParaEntity { var doc = XmlGenerator.GenerateActionXml <TEntity>(action); var ar = ApiCallFactory.ObjectCreateUpdate <TEntity>(pc, doc, objectId); return(ar); }
/// <summary> /// Adds or updates the entity on the server. /// </summary> /// <param name="entity">The entity to save</param> /// <returns></returns> public ApiCallResponse Update(IMutableEntity entity) { var pe = entity as ParaEntity; Folder folder = null; ApiCallResponse reply = null; if (pe == null) { folder = entity as Folder; if (folder == null) { throw new ArgumentException("You can only call this function on a Folder-derived or ParaEntity-derived object.", "entity"); } reply = ApiCallFactory.ObjectCreateUpdate(Credentials, folder.GetType().Name, XmlGenerator.GenerateXml(folder), folder.Id); } else { if (pe.Id == 0) { throw new ArgumentException("The update operation requires an existing object ID. Populate the entity ID to perform an update."); } reply = ApiCallFactory.ObjectCreateUpdate(Credentials, pe.GetType().Name, XmlGenerator.GenerateXml(pe), pe.Id); } return(reply); }
/// <summary> /// Adds or updates the entity on the server. /// </summary> /// <param name="entity">The entity to save</param> /// <returns></returns> public ApiCallResponse Insert(IMutableEntity entity) { var pe = entity as ParaEntity; ApiCallResponse reply; //Check if the object is a ParaEntity, if not its a folder if (pe == null) { var folder = entity as Folder; if (folder == null) { throw new ArgumentException("You can only call this function on a Folder-derived or ParaEntity-derived object.", "entity"); } reply = ApiCallFactory.ObjectCreateUpdate(Credentials, folder.GetType().Name, XmlGenerator.GenerateXml(folder), 0); folder.Id = reply.Id; } else { reply = ApiCallFactory.ObjectCreateUpdate(Credentials, pe.GetType().Name, XmlGenerator.GenerateXml(pe), 0); pe.Id = reply.Id; } return(reply); }