Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }