public APIResponse UpdateNote(ZCRMNote note)
        {
            try
            {
                requestMethod = APIConstants.RequestMethod.PUT;
                urlPath       = parentRecord.ModuleAPIName + "/" + parentRecord.EntityId + "/" + relatedList.ApiName + "/" + note.Id;
                JObject requestBodyObject = new JObject();
                JArray  dataArray         = new JArray();
                dataArray.Add(GetZCRMNoteAsJSON(note));
                requestBodyObject.Add(APIConstants.DATA, dataArray);
                requestBody = requestBodyObject;


                APIResponse response = APIRequest.GetInstance(this).GetAPIResponse();

                JArray  responseDataArray = (JArray)response.ResponseJSON[APIConstants.DATA];
                JObject responseData      = (JObject)responseDataArray[0];
                JObject responseDetails   = (JObject)responseData[APIConstants.DETAILS];
                note          = GetZCRMNote(responseDetails, note);
                response.Data = note;
                return(response);
            }
            catch (Exception e) when(!(e is ZCRMException))
            {
                ZCRMLogger.LogError(e);
                throw new ZCRMException(APIConstants.SDK_ERROR, e);
            }
        }
示例#2
0
 /// <summary>
 /// To deletes the note of the records.
 /// </summary>
 /// <returns>APIResponse class instance.</returns>
 /// <param name="note">ZCRMNote class instance</param>
 public APIResponse DeleteNote(ZCRMNote note)
 {
     if (note.Id == null)
     {
         throw new ZCRMException("Note ID MUST be null for Delete Operation");
     }
     return(ZCRMModuleRelation.GetInstance(this, "Notes").DeleteNote(note));
 }
        public APIResponse DeleteNote(ZCRMNote note)
        {
            try
            {
                requestMethod = APIConstants.RequestMethod.DELETE;
                urlPath       = parentRecord.ModuleAPIName + "/" + parentRecord.EntityId + "/" + relatedList.ApiName + "/" + note.Id;

                return(APIRequest.GetInstance(this).GetAPIResponse());
            }
            catch (Exception e) when(!(e is ZCRMException))
            {
                ZCRMLogger.LogError(e);
                throw new ZCRMException(APIConstants.SDK_ERROR, e);
            }
        }
        private ZCRMNote GetZCRMNote(JObject noteDetails, ZCRMNote note)
        {
            if (note == null)
            {
                note = ZCRMNote.GetInstance(parentRecord, Convert.ToInt64(noteDetails["id"]));
            }
            note.Id = Convert.ToInt64(noteDetails["id"]);
            if (noteDetails["Note_Title"] != null && noteDetails["Note_Title"].Type != JTokenType.Null)
            {
                note.Title = (string)noteDetails["Note_Title"];
            }
            if (noteDetails["Note_Content"] != null && noteDetails["Note_Content"].Type != JTokenType.Null)
            {
                note.Content = (string)noteDetails["Note_Content"];
            }
            JObject  createdByObject = (JObject)noteDetails["Created_By"];
            ZCRMUser createdBy       = ZCRMUser.GetInstance(Convert.ToInt64(createdByObject["id"]), (string)createdByObject["name"]);

            note.CreatedBy   = createdBy;
            note.CreatedTime = CommonUtil.removeEscaping((string)JsonConvert.SerializeObject(noteDetails["Created_Time"]));

            JObject  modifiedByObject = (JObject)noteDetails["Modified_By"];
            ZCRMUser modifiedBy       = ZCRMUser.GetInstance(Convert.ToInt64(modifiedByObject["id"]), (string)modifiedByObject["name"]);

            note.ModifiedBy   = modifiedBy;
            note.ModifiedTime = CommonUtil.removeEscaping((string)JsonConvert.SerializeObject(noteDetails["Modified_Time"]));

            if (noteDetails["Owner"] != null && noteDetails["Owner"].Type != JTokenType.Null)
            {
                JObject  ownerObject = (JObject)noteDetails["Owner"];
                ZCRMUser owner       = ZCRMUser.GetInstance(Convert.ToInt64(ownerObject["id"]), (string)ownerObject["name"]);
                note.NotesOwner = owner;
            }
            else
            {
                note.NotesOwner = createdBy;
            }
            if (noteDetails["$attachments"] != null && noteDetails["$attachments"].Type != JTokenType.Null)
            {
                JArray attachmentsArray = (JArray)noteDetails["$attachments"];
                foreach (JObject attachmentDetails in attachmentsArray)
                {
                    note.AddAttachment(GetZCRMAttachment(attachmentDetails));
                }
            }
            return(note);
        }
        private JObject GetZCRMNoteAsJSON(ZCRMNote note)
        {
            JObject noteJSON = new JObject();

            if (note.Title != null)
            {
                noteJSON.Add("Note_Title", note.Title);
            }
            else
            {
                noteJSON.Add("Note_Title", null);
            }
            if (note.Content != null)
            {
                noteJSON.Add("Note_Content", note.Content);
            }
            return(noteJSON);
        }
 /// <summary>
 /// To delete the note of the module relation records based on ZCRMNote class instance.
 /// </summary>
 /// <returns>APIResponse class instance.</returns>
 /// <param name="note">ZCRMNote class instance</param>
 public APIResponse DeleteNote(ZCRMNote note)
 {
     return(RelatedListAPIHandler.GetInstance(parentRecord, this).DeleteNote(note));
 }