private ZCRMProfile GetZCRMProfile(JObject profileDetails) { ZCRMProfile profile = ZCRMProfile.GetInstance((long)profileDetails["id"], (string)profileDetails["name"]); profile.Category = (bool)profileDetails["category"]; profile.Description = (string)profileDetails["description"]; profile.CreatedBy = null; //TODO: Check with HasValues method; if (profileDetails["created_by"].Type != JTokenType.Null) { JObject createdByObject = (JObject)profileDetails["created_by"]; ZCRMUser createdBy = ZCRMUser.GetInstance((long)createdByObject["id"], (string)createdByObject["name"]); profile.CreatedBy = createdBy; profile.CreatedTime = (string)profileDetails["created_time"]; } profile.ModifiedBy = null; if (profileDetails["modified_by"].Type != JTokenType.Null) { JObject modifiedByObject = (JObject)profileDetails["modified_by"]; ZCRMUser modifiedBy = ZCRMUser.GetInstance((long)modifiedByObject["id"], (string)modifiedByObject["name"]); profile.ModifiedBy = modifiedBy; profile.ModifiedTime = (string)profileDetails["modified_time"]; } return(profile); }
private void SetTrashRecordProperties(JObject trashRecordDetails) { foreach (KeyValuePair <string, JToken> trashRecordDetail in trashRecordDetails) { string fieldAPIName = Convert.ToString(trashRecordDetail.Value); if (fieldAPIName.Equals("Created_By")) { JObject createdByObject = (JObject)trashRecordDetail.Value; ZCRMUser createdUser = ZCRMUser.GetInstance(Convert.ToInt64(createdByObject.GetValue("id")), Convert.ToString(createdByObject.GetValue("name"))); trashRecord.CreatedBy = createdUser; } else if (fieldAPIName.Equals("deleted_by")) { JObject modifiedByObject = (JObject)trashRecordDetail.Value; ZCRMUser DeletedByUser = ZCRMUser.GetInstance(Convert.ToInt64(modifiedByObject.GetValue("id")), Convert.ToString(modifiedByObject.GetValue("name"))); trashRecord.CreatedBy = DeletedByUser; } else if (fieldAPIName.Equals("display_name")) { trashRecord.DisplayName = Convert.ToString(trashRecordDetail.Value); } else if (fieldAPIName.Equals("deleted_time")) { trashRecord.DeletedTime = Convert.ToString(trashRecordDetail.Value); } } }
private void SetBulkWriteRecordProperties(JObject recordJSON) { foreach (KeyValuePair <string, JToken> bulkRecord in recordJSON) { if (bulkRecord.Key.Equals("id") && bulkRecord.Value.Type != JTokenType.Null) { this.writeRecord.JobId = (long)bulkRecord.Value; } else if (bulkRecord.Key.Equals("created_by") && bulkRecord.Value.Type != JTokenType.Null) { JObject createdByObj = (JObject)bulkRecord.Value; ZCRMUser createdBy = ZCRMUser.GetInstance((long)createdByObj["id"], (string)createdByObj["name"]); this.writeRecord.CreatedBy = createdBy; } else if (bulkRecord.Key.Equals("created_time") && bulkRecord.Value.Type != JTokenType.Null) { this.writeRecord.CreatedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(bulkRecord.Value)); } else if (bulkRecord.Key.Equals("status") && bulkRecord.Value.Type != JTokenType.Null) { this.writeRecord.Status = (string)bulkRecord.Value; } else if (bulkRecord.Key.Equals("character_encoding") && bulkRecord.Value.Type != JTokenType.Null) { this.writeRecord.CharacterEncoding = (string)bulkRecord.Value; } else if (bulkRecord.Key.Equals("resource") && bulkRecord.Value.Type != JTokenType.Null) { this.SetZCRMBulkWriteResourceListofObject((JArray)bulkRecord.Value); } else if (bulkRecord.Key.Equals("result") && bulkRecord.Value.Type != JTokenType.Null) { JObject createdObject = (JObject)bulkRecord.Value; ZCRMBulkResult result = ZCRMBulkResult.GetInstance(); if (createdObject.ContainsKey("download_url")) { result.DownloadUrl = (string)createdObject["download_url"]; } this.writeRecord.Result = result; } else if (bulkRecord.Key.Equals("operation") && bulkRecord.Value.Type != JTokenType.Null) { this.writeRecord.Operation = (string)bulkRecord.Value; } else if (bulkRecord.Key.Equals("callback") && bulkRecord.Value.Type != JTokenType.Null) { ZCRMBulkCallBack callback = ZCRMBulkCallBack.GetInstance(); JObject jsonObj = (JObject)bulkRecord.Value; if (jsonObj.ContainsKey("url")) { callback.Url = (string)jsonObj["url"]; } if (jsonObj.ContainsKey("method")) { callback.Method = (string)jsonObj["method"]; } this.writeRecord.Callback = callback; } } }
public void SetTrashRecordProperties(JObject trashRecordDetails) { foreach (KeyValuePair <string, JToken> trashRecordDetail in trashRecordDetails) { string fieldAPIName = Convert.ToString(trashRecordDetail.Key); if (fieldAPIName.Equals("created_by") && trashRecordDetail.Value.Type != JTokenType.Null) { JObject createdByObject = (JObject)trashRecordDetail.Value; ZCRMUser createdUser = ZCRMUser.GetInstance(Convert.ToInt64(createdByObject["id"]), (string)createdByObject["name"]); trashRecord.CreatedBy = createdUser; } else if (fieldAPIName.Equals("deleted_by") && trashRecordDetail.Value.Type != JTokenType.Null) { JObject modifiedByObject = (JObject)trashRecordDetail.Value; ZCRMUser DeletedByUser = ZCRMUser.GetInstance(Convert.ToInt64(modifiedByObject["id"]), (string)modifiedByObject["name"]); trashRecord.DeletedBy = DeletedByUser; } else if (fieldAPIName.Equals("display_name")) { trashRecord.DisplayName = Convert.ToString(trashRecordDetail.Value); } else if (fieldAPIName.Equals("deleted_time")) { trashRecord.DeletedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(trashRecordDetail.Value)); } } }
//TODO: Handle Exceptions; private ZCRMLayout GetZCRMLayout(JObject layoutDetails) { ZCRMLayout layout = ZCRMLayout.GetInstance(Convert.ToInt64(layoutDetails["id"])); layout.Name = Convert.ToString(layoutDetails["name"]); layout.Visible = Convert.ToBoolean(layoutDetails["visible"]); layout.Status = Convert.ToInt32(layoutDetails["status"]); if (layoutDetails["created_by"].HasValues) { JObject createdByObject = (JObject)layoutDetails["created_by"]; ZCRMUser createdUser = ZCRMUser.GetInstance(Convert.ToInt64(createdByObject["id"]), Convert.ToString(createdByObject["name"])); layout.CreatedBy = createdUser; layout.CreatedTime = (string)layoutDetails["created_time"]; } if (layoutDetails["modified_by"].HasValues) { JObject modifiedByObject = (JObject)layoutDetails["modified_by"]; ZCRMUser modifiedUser = ZCRMUser.GetInstance(Convert.ToInt64(modifiedByObject["id"]), Convert.ToString(modifiedByObject["name"])); layout.ModifiedBy = modifiedUser; layout.ModifiedTime = (string)layoutDetails["modified_time"]; } JArray accessibleProfilesArray = (JArray)layoutDetails["profiles"]; foreach (JObject profileObject in accessibleProfilesArray) { ZCRMProfile profile = ZCRMProfile.GetInstance(Convert.ToInt64(profileObject["id"]), Convert.ToString(profileObject["name"])); layout.AddAccessibleProfiles(profile); } layout.Sections = GetAllSectionsofLayout(layoutDetails); return(layout); }
public Dictionary <string, long> ConvertRecord(ZCRMRecord potential, ZCRMUser assignToUser) { try { requestMethod = APIConstants.RequestMethod.POST; urlPath = record.ModuleAPIName + "/" + record.EntityId + "/actions/convert"; JObject requestBodyObject = new JObject(); JArray dataArray = new JArray(); JObject dataObject = new JObject(); if (assignToUser != null) { dataObject.Add("assign_to", assignToUser.Id.ToString()); } if (potential != null) { dataObject.Add(APIConstants.DEALS, GetInstance(potential).GetZCRMRecordAsJSON()); } dataArray.Add(dataObject); requestBodyObject.Add(APIConstants.DATA, dataArray); requestBody = requestBodyObject; APIResponse response = APIRequest.GetInstance(this).GetAPIResponse(); JArray responseJson = (JArray)response.ResponseJSON[APIConstants.DATA]; JObject convertedIdsJSON = (JObject)responseJson[0]; Dictionary <string, long> convertedIds = new Dictionary <string, long>(); convertedIds.Add(APIConstants.CONTACTS, Convert.ToInt64(convertedIdsJSON[APIConstants.CONTACTS])); if (convertedIdsJSON[APIConstants.ACCOUNTS].Type != JTokenType.Null) { convertedIds.Add(APIConstants.ACCOUNTS, Convert.ToInt64(convertedIdsJSON[APIConstants.ACCOUNTS])); } if (convertedIdsJSON[APIConstants.DEALS].Type != JTokenType.Null) { convertedIds.Add(APIConstants.DEALS, Convert.ToInt64(convertedIdsJSON[APIConstants.DEALS])); } return(convertedIds); } catch (Exception e) when(!(e is ZCRMException)) { ZCRMLogger.LogError(e); throw new ZCRMException(APIConstants.SDK_ERROR, e); } }
//TODO: Inspect the field modified_by in the response; //TODO: Returns ZCRMModule.. Inspect the method; private ZCRMModule GetZCRMModule(JObject moduleDetails) { ZCRMModule module = ZCRMModule.GetInstance(Convert.ToString(moduleDetails.GetValue("api_name"))); module.Id = Convert.ToInt64(moduleDetails.GetValue("id")); module.SystemName = Convert.ToString(moduleDetails.GetValue("module_name")); module.SingularLabel = Convert.ToString(moduleDetails.GetValue("singular_label")); module.PluralLabel = Convert.ToString(moduleDetails.GetValue("plural_label")); module.Creatable = Convert.ToBoolean(moduleDetails.GetValue("creatable")); module.Viewable = Convert.ToBoolean(moduleDetails.GetValue("viewable")); module.Editable = Convert.ToBoolean(moduleDetails.GetValue("editable")); module.Convertible = Convert.ToBoolean(moduleDetails.GetValue("convertible")); module.Deletable = Convert.ToBoolean(moduleDetails.GetValue("deletable")); module.CustomModule = Convert.ToBoolean(moduleDetails.GetValue("generated_type").ToString().Equals("custom")); JArray accessibleProfilesArray = (JArray)moduleDetails.GetValue("profiles"); foreach (JObject accessibleProfiles in accessibleProfilesArray) { ZCRMProfile profile = ZCRMProfile.GetInstance(Convert.ToInt64(accessibleProfiles.GetValue("id")), Convert.ToString(accessibleProfiles.GetValue("name"))); module.AddAccessibleProfiles(profile); } Console.WriteLine(moduleDetails["modified_by"].Type == JTokenType.Null); if (moduleDetails["modified_by"].HasValues) { JObject modifiedByObject = (JObject)moduleDetails.GetValue("modified_by"); ZCRMUser modifiedUser = ZCRMUser.GetInstance(Convert.ToInt64(modifiedByObject["id"]), Convert.ToString(modifiedByObject.GetValue("name"))); module.ModifiedBy = modifiedUser; module.ModifiedTime = Convert.ToString(moduleDetails.GetValue("modified_time")); } if (moduleDetails.ContainsKey("related_lists")) { List <ZCRMModuleRelation> relatedLists = new List <ZCRMModuleRelation>(); JArray relatedListsArray = (JArray)moduleDetails.GetValue("related_lists"); foreach (JObject relatedListDetails in relatedListsArray) { ZCRMModuleRelation relatedList = ZCRMModuleRelation.GetInstance(module.ApiName, Convert.ToString(relatedListDetails.GetValue("api_name)"))); SetRelatedListProperties(relatedList, relatedListDetails); relatedLists.Add(relatedList); } module.RelatedLists = relatedLists; } if (moduleDetails.ContainsKey("business_card_fields")) { List <string> bcFields = new List <string>(); JArray bcFieldsArray = (JArray)moduleDetails.GetValue("business_card_fields"); foreach (JObject bcField in bcFieldsArray) { bcFields.Add(bcField.ToString()); } module.BussinessCardFields = bcFields; } if (moduleDetails.ContainsKey("layouts")) { module.Layouts = ModuleAPIHandler.GetInstance(module).GetAllLayouts(moduleDetails); } return(module); }
private ZCRMTerritory GetZCRMTerritory(JObject territory) { ZCRMTerritory territoryIns = ZCRMTerritory.GetInstance(Convert.ToInt64(territory["id"])); if (territory.ContainsKey("created_time") && territory["created_time"].Type != JTokenType.Null) { territoryIns.CreatedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(territory["created_time"])); } if (territory.ContainsKey("modified_time") && territory["modified_time"].Type != JTokenType.Null) { territoryIns.ModifiedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(territory["modified_time"])); } if (territory.ContainsKey("manager") && territory["manager"].Type != JTokenType.Null) { if (territory["manager"] is JObject) { JObject managerByObject = (JObject)territory["created_by"]; ZCRMUser managerUser = ZCRMUser.GetInstance((long)managerByObject["id"], (string)managerByObject["name"]); territoryIns.Manager = managerUser; } if (territory["manager"].Type.ToString().Equals("Boolean")) { territoryIns.IsManager = (bool)(territory["manager"]); } } if (territory.ContainsKey("parent_id") && territory["parent_id"].Type != JTokenType.Null) { territoryIns.ParentId = territory["parent_id"].ToString(); } if (territory.ContainsKey("criteria") && territory["criteria"].Type != JTokenType.Null) { JObject jobj = (JObject)territory["criteria"]; territoryIns.Criteria = SetZCRMCriteriaObject(jobj); } if (territory.ContainsKey("name") && territory["name"].Type != JTokenType.Null) { territoryIns.Name = territory["name"].ToString(); } if (territory.ContainsKey("modified_by") && territory["modified_by"].Type != JTokenType.Null) { JObject modifiedByObject = (JObject)territory["modified_by"]; ZCRMUser modifiedUser = ZCRMUser.GetInstance((long)modifiedByObject["id"], (string)modifiedByObject["name"]); territoryIns.ModifiedBy = modifiedUser; } if (territory.ContainsKey("description") && territory["description"].Type != JTokenType.Null) { territoryIns.Description = territory["description"].ToString(); } if (territory.ContainsKey("created_by") && territory["created_by"].Type != JTokenType.Null) { JObject createdByObject = (JObject)territory["created_by"]; ZCRMUser createdUser = ZCRMUser.GetInstance((long)createdByObject["id"], (string)createdByObject["name"]); territoryIns.CreatedBy = createdUser; } return(territoryIns); }
private ZCRMNote GetZCRMNote(JObject noteDetails, ZCRMNote note) { if (note == null) { note = ZCRMNote.GetInstance(parentRecord, Convert.ToInt64(noteDetails.GetValue("id"))); } note.Id = Convert.ToInt64(noteDetails.GetValue("id")); if (noteDetails.GetValue("Note_Title") != null) { note.Title = Convert.ToString(noteDetails.GetValue("Note_Title")); } if (noteDetails.GetValue("Note_Content") != null) { note.Content = Convert.ToString(noteDetails.GetValue("Note_Content")); } JObject createdByObject = (JObject)noteDetails.GetValue("Created_By"); ZCRMUser createdBy = ZCRMUser.GetInstance(Convert.ToInt64(createdByObject.GetValue("id")), Convert.ToString(createdByObject.GetValue("name"))); note.CreatedBy = createdBy; note.CreatedTime = Convert.ToString(noteDetails.GetValue("Created_Time")); JObject modifiedByObject = (JObject)noteDetails.GetValue("Modified_By"); ZCRMUser modifiedBy = ZCRMUser.GetInstance(Convert.ToInt64(modifiedByObject.GetValue("id")), Convert.ToString(modifiedByObject.GetValue("name"))); note.ModifiedBy = modifiedBy; note.ModifiedTime = Convert.ToString(noteDetails.GetValue("Modified_Time")); if (noteDetails.GetValue("Owner") != null) { JObject ownerObject = (JObject)noteDetails.GetValue("Owner"); ZCRMUser owner = ZCRMUser.GetInstance(Convert.ToInt64(ownerObject.GetValue("id")), Convert.ToString(ownerObject.GetValue("name"))); note.NotesOwner = owner; } else { note.NotesOwner = createdBy; } if (noteDetails.GetValue("$attachments") != null) { JArray attachmentsArray = (JArray)noteDetails.GetValue("$attachments"); foreach (JObject attachmentDetails in attachmentsArray) { note.AddAttachment(GetZCRMAttachment(attachmentDetails)); } } return(note); }
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); }
public ZCRMRecord CreateLead(LeadRequest leadRequest) { ZCRMRecord record = ZCRMRecord.GetInstance(ZohoConstants.LEAD_MODULE_STRING, null); record.SetFieldValue("Last_Name", leadRequest.Name); //This method use to set FieldApiName and value similar to all other FieldApis and Custom field record.SetFieldValue("Email", leadRequest.Email); record.SetFieldValue("Description", leadRequest.Description); record.SetFieldValue("Email_Opt_Out", true); record.SetFieldValue("No_of_Employees", leadRequest.NumberOfEmployees); ZCRMUser owner = ZCRMUser.GetInstance(680990340);//User Id record.Owner = owner; APIResponse responseIns = record.Create();//To call the create record method ZCRMRecord record1 = (ZCRMRecord)responseIns.Data; return(record1); }
private void SetBulkReadRecordProperties(JObject recordJSON) { foreach (KeyValuePair <string, JToken> token in recordJSON) { string fieldAPIName = token.Key; if (fieldAPIName.Equals("id") && token.Value.Type != JTokenType.Null) { this.readRecord.JobId = Convert.ToInt64(token.Value); } else if (fieldAPIName.Equals("operation") && token.Value.Type != JTokenType.Null) { this.readRecord.Operation = token.Value.ToString(); } else if (fieldAPIName.Equals("state") && token.Value.Type != JTokenType.Null) { this.readRecord.State = token.Value.ToString(); } else if (fieldAPIName.Equals("created_by") && token.Value.Type != JTokenType.Null) { JObject createdObject = (JObject)token.Value; ZCRMUser createdUser = ZCRMUser.GetInstance(Convert.ToInt64(createdObject["id"]), (string)createdObject["name"]); this.readRecord.CreatedBy = createdUser; } else if (fieldAPIName.Equals("created_time") && token.Value.Type != JTokenType.Null) { this.readRecord.CreatedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(token.Value)); } else if (fieldAPIName.Equals("result") && token.Value.Type != JTokenType.Null) { this.readRecord.Result = this.SetZCRMResultObject((JObject)token.Value); } else if (fieldAPIName.Equals("query") && token.Value.Type != JTokenType.Null) { this.readRecord.Query = this.SetZCRMBulkQueryObject((JObject)token.Value); } else if (fieldAPIName.Equals("callback") && token.Value.Type != JTokenType.Null) { this.readRecord.CallBack = this.SetZCRMBulkCallBackObject((JObject)token.Value); } else if (fieldAPIName.Equals("file_type") && token.Value.Type != JTokenType.Null) { this.readRecord.FileType = token.Value.ToString(); } } }
//TODO: Handle exceptions appropriately; public Dictionary <string, long> ConvertRecord(ZCRMRecord potential, ZCRMUser assignToUser) { try{ requestMethod = APIConstants.RequestMethod.POST; urlPath = record.ModuleAPIName + "/" + record.EntityId; JObject requestBodyObject = new JObject(); JArray dataArray = new JArray(); JObject dataObject = new JObject(); if (assignToUser != null) { dataObject.Add("assign_to", assignToUser.Id.ToString()); } if (potential != null) { dataObject.Add("Deals", GetInstance(potential).GetZCRMRecordAsJSON()); } dataArray.Add(dataObject); requestBodyObject.Add("data", dataArray); requestBody = requestBodyObject; APIResponse response = APIRequest.GetInstance(this).GetAPIResponse(); JArray responseJson = (JArray)response.ResponseJSON.GetValue("data"); JObject convertedIdsJSON = (JObject)responseJson[0]; Dictionary <string, long> convertedIds = new Dictionary <string, long>(); convertedIds.Add("Contacts", Convert.ToInt64(convertedIdsJSON.GetValue("Contacts"))); if (convertedIdsJSON.GetValue("Accounts") != null) { convertedIds.Add("Accounts", Convert.ToInt64(convertedIdsJSON.GetValue("Accounts"))); } if (convertedIdsJSON.GetValue("Deals") != null) { convertedIds.Add("Deals", Convert.ToInt64(convertedIdsJSON.GetValue("Deals"))); } return(convertedIds); }catch (Exception e) { //TODO: Log the info; Console.WriteLine("Exception caught at ConvertRecord"); throw new ZCRMException(e.ToString()); } }
//TODO: Handle Exceptions; private ZCRMAttachment GetZCRMAttachment(JObject attachmentDetails) { ZCRMAttachment attachment = ZCRMAttachment.GetInstance(parentRecord, Convert.ToInt64(attachmentDetails.GetValue("id"))); string fileName = Convert.ToString(attachmentDetails.GetValue("File_Name")); if (fileName != null) { attachment.FileName = fileName; attachment.FileType = fileName.Substring(fileName.LastIndexOf('.') + 1); } if (attachmentDetails.ContainsKey("Size")) { attachment.Size = Convert.ToInt64(attachmentDetails.GetValue("Size")); } if (attachmentDetails.ContainsKey("Created_By")) { JObject createdByObject = (JObject)attachmentDetails.GetValue("Created_By"); ZCRMUser createdBy = ZCRMUser.GetInstance(Convert.ToInt64(createdByObject.GetValue("id")), Convert.ToString(createdByObject.GetValue("name"))); attachment.CreatedBy = createdBy; attachment.CreatedTime = Convert.ToString(attachmentDetails.GetValue("Created_Time")); if (attachmentDetails.GetValue("Owner") != null) { JObject ownerObject = (JObject)attachmentDetails.GetValue("Owner"); ZCRMUser owner = ZCRMUser.GetInstance(Convert.ToInt64(ownerObject.GetValue("id")), Convert.ToString(ownerObject.GetValue("name"))); attachment.Owner = owner; } else { attachment.Owner = createdBy; } } if (attachmentDetails.ContainsKey("Modified_By")) { JObject modifiedByObject = (JObject)attachmentDetails.GetValue("Modified_By"); ZCRMUser modifiedBy = ZCRMUser.GetInstance(Convert.ToInt64(modifiedByObject.GetValue("id")), Convert.ToString(modifiedByObject.GetValue("name"))); attachment.ModifiedBy = modifiedBy; attachment.ModifiedTime = Convert.ToString(attachmentDetails.GetValue("Modified_Time")); } return(attachment); }
private ZCRMAttachment GetZCRMAttachment(JObject attachmentDetails) { ZCRMAttachment attachment = ZCRMAttachment.GetInstance(parentRecord, Convert.ToInt64(attachmentDetails["id"])); string fileName = (string)attachmentDetails["File_Name"]; if (fileName != null) { attachment.FileName = fileName; attachment.FileType = fileName.Substring(fileName.LastIndexOf('.') + 1); } if (attachmentDetails.ContainsKey("Size")) { attachment.Size = Convert.ToInt64(attachmentDetails["Size"]); } if (attachmentDetails.ContainsKey("Created_By") && attachmentDetails["Created_By"].Type != JTokenType.Null) { JObject createdByObject = (JObject)attachmentDetails["Created_By"]; ZCRMUser createdBy = ZCRMUser.GetInstance(Convert.ToInt64(createdByObject["id"]), (string)createdByObject["name"]); attachment.CreatedBy = createdBy; attachment.CreatedTime = (string)attachmentDetails["Created_Time"]; if (attachmentDetails["Owner"] != null && attachmentDetails["Owner"].Type != JTokenType.Null) { JObject ownerObject = (JObject)attachmentDetails["Owner"]; ZCRMUser owner = ZCRMUser.GetInstance(Convert.ToInt64(ownerObject["id"]), (string)ownerObject["name"]); attachment.Owner = owner; } else { attachment.Owner = createdBy; } } if (attachmentDetails.ContainsKey("Modified_By") && attachmentDetails["Modified_By"].Type != JTokenType.Null) { JObject modifiedByObject = (JObject)attachmentDetails["Modified_By"]; ZCRMUser modifiedBy = ZCRMUser.GetInstance(Convert.ToInt64(modifiedByObject["id"]), (string)modifiedByObject["name"]); attachment.ModifiedBy = modifiedBy; attachment.ModifiedTime = (string)attachmentDetails["Modified_Time"]; } return(attachment); }
private void SetTagProperties(ZCRMTag tag, JObject tagDetails) { foreach (KeyValuePair <string, JToken> token in tagDetails) { string fieldAPIName = token.Key; if (fieldAPIName.Equals("id")) { tag.Id = Convert.ToInt64(token.Value); } if (fieldAPIName.Equals("name")) { tag.Name = Convert.ToString(token.Value); } else if (fieldAPIName.Equals("created_by") && token.Value.Type != JTokenType.Null) { JObject createdObject = (JObject)token.Value; ZCRMUser createdUser = ZCRMUser.GetInstance(Convert.ToInt64(createdObject["id"]), (string)createdObject["name"]); tag.CreatedBy = createdUser; } else if (fieldAPIName.Equals("modified_by") && token.Value.Type != JTokenType.Null) { JObject modifiedObject = (JObject)token.Value; ZCRMUser modifiedBy = ZCRMUser.GetInstance(Convert.ToInt64(modifiedObject["id"]), (string)modifiedObject["name"]); tag.ModifiedBy = modifiedBy; } else if (fieldAPIName.Equals("created_time")) { tag.CreatedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(token.Value)); } else if (fieldAPIName.Equals("modified_time")) { tag.ModifiedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(token.Value)); } else if (fieldAPIName.Equals("count")) { tag.Count = Convert.ToInt32(token.Value); } } }
//TODO: Handle exceptions; private ZCRMRole GetZCRMRole(JObject roleDetails) { ZCRMRole role = ZCRMRole.GetInstance((long)roleDetails["id"], (string)roleDetails["name"]); role.Label = (string)roleDetails["display_label"]; if (roleDetails.ContainsKey("forecast_manager") && roleDetails["forecast_manager"].Type != JTokenType.Null) { JObject forecast_manager = (JObject)roleDetails["forecast_manager"]; ZCRMUser user = ZCRMUser.GetInstance(); if (forecast_manager.ContainsKey("id") && forecast_manager["id"].Type != JTokenType.Null) { user.Id = (long)forecast_manager["id"]; } if (forecast_manager.ContainsKey("name") && forecast_manager["name"].Type != JTokenType.Null) { user.FullName = (string)forecast_manager["name"]; } role.ForecastManager = user; } if (roleDetails.ContainsKey("share_with_peers") && roleDetails["share_with_peers"].Type != JTokenType.Null) { role.ShareWithPeers = (bool)roleDetails["share_with_peers"]; } if (roleDetails.ContainsKey("description") && roleDetails["description"].Type != JTokenType.Null) { role.Description = (string)roleDetails["description"]; } ZCRMRole reportingTo = null; if (roleDetails.ContainsKey("reporting_to") && roleDetails["reporting_to"].Type != JTokenType.Null) { JObject reportingToObject = (JObject)roleDetails["reporting_to"]; reportingTo = ZCRMRole.GetInstance((long)reportingToObject["id"], (string)reportingToObject["name"]); } role.ReportingTo = reportingTo; role.AdminUser = (bool)roleDetails["admin_user"]; return(role); }
public APIResponse UpdateUser(ZCRMUser userInstance) { try { requestMethod = APIConstants.RequestMethod.PUT; if (userInstance.Id == 0) { throw new ZCRMException("User ID MUST not be null for UpdateUser operation."); } urlPath = "users/" + userInstance.Id; JObject requestBodyObject = new JObject(); JArray dataArray = new JArray(); dataArray.Add(ConstructJSONForUser(userInstance)); requestBodyObject.Add(APIConstants.USERS, dataArray); requestBody = requestBodyObject; APIResponse response = APIRequest.GetInstance(this).GetAPIResponse(); return(response); } catch (Exception e) when(!(e is ZCRMException)) { ZCRMLogger.LogError(e); throw new ZCRMException(APIConstants.SDK_ERROR, e); } }
private ZCRMUser GetZCRMUser(JObject userDetails) { ZCRMUser user = ZCRMUser.GetInstance((long)userDetails["id"], (string)userDetails["full_name"]); user.EmailId = (string)userDetails["email"]; user.FirstName = (string)userDetails["first_name"]; user.LastName = (string)userDetails["last_name"]; user.Language = (string)userDetails["language"]; user.Mobile = (string)userDetails["mobile"]; user.Status = (string)userDetails["status"]; user.ZuId = (long?)userDetails["zuid"]; if (userDetails.ContainsKey("profile")) { JObject profileObject = (JObject)userDetails["profile"]; ZCRMProfile profile = ZCRMProfile.GetInstance((long)profileObject["id"], (string)profileObject["name"]); user.Profile = profile; } if (userDetails.ContainsKey("role")) { JObject roleObject = (JObject)userDetails["role"]; ZCRMRole role = ZCRMRole.GetInstance((long)roleObject["id"], (string)roleObject["name"]); user.Role = role; } user.Alias = (string)userDetails["alias"]; user.City = (string)userDetails["city"]; user.Confirm = (bool)userDetails["confirm"]; user.CountryLocale = (string)userDetails["country_locale"]; user.DateFormat = (string)userDetails["date_format"]; user.TimeFormat = (string)userDetails["time_format"]; user.DateOfBirth = (string)userDetails["dob"]; user.Country = (string)userDetails["country"]; user.Fax = (string)userDetails["fax"]; user.Locale = (string)userDetails["locale"]; user.NameFormat = (string)userDetails["name_format"]; user.Website = (string)userDetails["website"]; user.TimeZone = (string)userDetails["time_zone"]; user.Street = (string)userDetails["street"]; user.State = (string)userDetails["state"]; user.MicrosoftAppUser = (bool)userDetails["microsoft"]; user.Phone = (string)userDetails["phone"]; if (userDetails.ContainsKey("created_by") && userDetails["created_by"].Type != JTokenType.Null) { JObject createdByObject = (JObject)userDetails["created_by"]; ZCRMUser createdUser = ZCRMUser.GetInstance((long)createdByObject["id"], (string)createdByObject["name"]); user.CreatedBy = createdUser; user.CreatedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(userDetails["created_time"])); } if (userDetails.ContainsKey("Modified_By") && userDetails["Modified_By"].Type != JTokenType.Null) { JObject modifiedByObject = (JObject)userDetails["Modified_By"]; ZCRMUser modifiedByUser = ZCRMUser.GetInstance((long)modifiedByObject["id"], (string)modifiedByObject["name"]); user.ModifiedBy = modifiedByUser; user.ModifiedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(userDetails["Modified_Time"])); } if (userDetails.ContainsKey("Reporting_To") && userDetails["Reporting_To"].Type != JTokenType.Null) { JObject reportingToObject = (JObject)userDetails["Reporting_To"]; ZCRMUser reportingTo = ZCRMUser.GetInstance((long)reportingToObject["id"], (string)reportingToObject["name"]); user.ReportingTo = reportingTo; } if (userDetails.ContainsKey("signature") && userDetails["signature"].Type != JTokenType.Null) { user.Signature = (string)userDetails["signature"]; } if (userDetails.ContainsKey("number") && userDetails["number"].Type != JTokenType.Null) { user.Number = (int)userDetails["number"]; } if (userDetails.ContainsKey("offset") && userDetails["offset"].Type != JTokenType.Null) { user.OffSet = (long)userDetails["offset"]; } if (userDetails.ContainsKey("customize_info") && userDetails["customize_info"].Type != JTokenType.Null) { user.CustomizeInfo = GetZCRMUserCustomizeInfo((JObject)userDetails["customize_info"]); } if (userDetails.ContainsKey("personal_account") && userDetails["personal_account"].Type != JTokenType.Null) { user.IsPersonalAccount = (bool)userDetails["personal_account"]; } if (userDetails.ContainsKey("default_tab_group") && userDetails["default_tab_group"].Type != JTokenType.Null) { user.DefaultTabGroup = (string)userDetails["default_tab_group"]; } if (userDetails.ContainsKey("theme") && userDetails["theme"].Type != JTokenType.Null) { user.Theme = GetZCRMUserTheme((JObject)userDetails["theme"]); } if (userDetails.ContainsKey("zip") && userDetails["zip"].Type != JTokenType.Null) { user.Zip = (string)userDetails["zip"]; } if (userDetails.ContainsKey("decimal_separator") && userDetails["decimal_separator"].Type != JTokenType.Null) { user.DecimalSeparator = (string)userDetails["decimal_separator"]; } if (userDetails.ContainsKey("territories") && userDetails["territories"].Type != JTokenType.Null) { JArray jsonArray = (JArray)userDetails["territories"]; List <ZCRMTerritory> territories = new List <ZCRMTerritory>(); foreach (JObject territory in jsonArray) { territories.Add(GetZCRMTerritory(territory)); } user.Territories = territories; } if (userDetails.ContainsKey("Isonline") && userDetails["Isonline"].Type != JTokenType.Null) { user.IsOnline = (bool)userDetails["Isonline"]; } if (userDetails.ContainsKey("Currency") && userDetails["Currency"].Type != JTokenType.Null) { user.Currency = (string)userDetails["Currency"]; } foreach (KeyValuePair <string, JToken> token in userDetails) { if (!ZCRMUser.defaultKeys.Contains(token.Key)) { user.SetFieldValue(token.Key, (object)token.Value); } } return(user); }
public void SetRecordProperties(JObject recordJSON, ZCRMRecord record) { foreach (KeyValuePair <string, JToken> token in recordJSON) { string fieldAPIName = token.Key; if (fieldAPIName.Equals("id")) { record.EntityId = Convert.ToInt64(token.Value); } else if (fieldAPIName.Equals("Product_Details")) { SetInventoryLineItems(token.Value); } else if (fieldAPIName.Equals("Participants")) { SetParticipants(token.Value); } else if (fieldAPIName.Equals("Pricing_Details")) { SetPriceDetails((JArray)token.Value); } else if (fieldAPIName.Equals("Created_By") && token.Value.Type != JTokenType.Null) { JObject createdObject = (JObject)token.Value; ZCRMUser createdUser = ZCRMUser.GetInstance(Convert.ToInt64(createdObject["id"]), (string)createdObject["name"]); record.CreatedBy = createdUser; } else if (fieldAPIName.Equals("Modified_By") && token.Value.Type != JTokenType.Null) { JObject modifiedObject = (JObject)token.Value; ZCRMUser modifiedBy = ZCRMUser.GetInstance(Convert.ToInt64(modifiedObject["id"]), (string)modifiedObject["name"]); record.ModifiedBy = modifiedBy; } else if (fieldAPIName.Equals("Created_Time")) { record.CreatedTime = CommonUtil.removeEscaping((string)JsonConvert.SerializeObject(token.Value)); } else if (fieldAPIName.Equals("Modified_Time")) { record.ModifiedTime = CommonUtil.removeEscaping((string)JsonConvert.SerializeObject(token.Value)); } else if (fieldAPIName.Equals("Owner") && token.Value.Type != JTokenType.Null) { JObject ownerObject = (JObject)token.Value; ZCRMUser ownerUser = ZCRMUser.GetInstance(Convert.ToInt64(ownerObject["id"]), (string)ownerObject["name"]); record.Owner = ownerUser; } else if (fieldAPIName.Equals("Layout") && token.Value.Type != JTokenType.Null) { JObject layoutObject = (JObject)token.Value; ZCRMLayout layout = ZCRMLayout.GetInstance(Convert.ToInt64(layoutObject["id"])); layout.Name = (string)layoutObject["name"]; } else if (fieldAPIName.Equals("Handler") && token.Value.Type != JTokenType.Null) { JObject handlerObject = (JObject)token.Value; ZCRMUser handler = ZCRMUser.GetInstance(Convert.ToInt64(handlerObject["id"]), (string)handlerObject["name"]); record.SetFieldValue(fieldAPIName, handler); } else if (fieldAPIName.Equals("Remind_At") && token.Value.Type != JTokenType.Null) { if (token.Value is JObject) { JObject remindObject = (JObject)token.Value; record.SetFieldValue(fieldAPIName, remindObject["ALARM"]); } else { record.SetFieldValue(fieldAPIName, token.Value); } } else if (fieldAPIName.Equals("Recurring_Activity") && token.Value.Type != JTokenType.Null) { JObject recurringActivityObject = (JObject)token.Value; record.SetFieldValue(fieldAPIName, recurringActivityObject["RRULE"]); } else if (fieldAPIName.Equals("$line_tax") && token.Value.Type != JTokenType.Null) { JArray taxDetails = (JArray)token.Value; foreach (JObject taxDetail in taxDetails) { ZCRMTax tax = ZCRMTax.GetInstance((string)taxDetail["name"]); tax.Percentage = Convert.ToDouble(taxDetail["percentage"]); tax.Value = Convert.ToDouble(taxDetail["value"]); record.AddTax(tax); } } else if (fieldAPIName.Equals("Tax") && token.Value.Type != JTokenType.Null) { var taxNames = token.Value; foreach (string data in taxNames) { ZCRMTax tax = ZCRMTax.GetInstance(data); record.AddTax(tax); } } else if (fieldAPIName.Equals("tags") && token.Value.Type != JTokenType.Null) { JArray jsonArray = (JArray)token.Value; List <string> tags = new List <string>(); foreach (string tag in jsonArray) { tags.Add(tag); } record.TagNames = tags; } else if (fieldAPIName.Equals("Tag") && token.Value.Type != JTokenType.Null) { JArray jsonArray = (JArray)token.Value; foreach (JObject tag in jsonArray) { ZCRMTag tagIns = ZCRMTag.GetInstance(Convert.ToInt64(tag.GetValue("id"))); tagIns.Name = tag.GetValue("name").ToString(); record.Tags.Add(tagIns); } } else if (fieldAPIName.StartsWith("$", StringComparison.CurrentCulture)) { fieldAPIName = fieldAPIName.TrimStart('\\', '$'); if (APIConstants.PROPERTIES_AS_FILEDS.Contains(fieldAPIName)) { record.SetFieldValue(fieldAPIName, token.Value); } else { record.SetProperty(fieldAPIName, token.Value); } } else if (token.Value is JObject) { JObject lookupDetails = (JObject)token.Value; ZCRMRecord lookupRecord = ZCRMRecord.GetInstance(fieldAPIName, Convert.ToInt64(lookupDetails["id"])); lookupRecord.LookupLabel = (string)lookupDetails["name"]; record.SetFieldValue(fieldAPIName, lookupRecord); } else if (token.Value is JArray) { JArray jsonArray = (JArray)token.Value; List <object> values = new List <object>(); foreach (Object obj in jsonArray) { if (obj is JObject) { values.Add((JObject)obj); } else { values.Add(obj); } } record.SetFieldValue(fieldAPIName, values); } else { if (token.Value.Type.ToString().Equals("Date")) { record.SetFieldValue(fieldAPIName, CommonUtil.removeEscaping((string)JsonConvert.SerializeObject(token.Value))); } else { record.SetFieldValue(fieldAPIName, token.Value); } } } }
/// <summary> /// Updates the user. /// </summary> /// <returns>The user instance.</returns> /// <param name="userInstance">User instance.</param> public APIResponse UpdateUser(ZCRMUser userInstance) { return(OrganizationAPIHandler.GetInstance().UpdateUser(userInstance)); }
private ZCRMModule GetZCRMModule(JObject moduleDetails) { try { ZCRMModule module = ZCRMModule.GetInstance((string)moduleDetails["api_name"]); if (moduleDetails.ContainsKey("global_search_supported") && moduleDetails["global_search_supported"].Type != JTokenType.Null) { module.GlobalSearchSupported = (bool)moduleDetails["global_search_supported"]; } if (moduleDetails.ContainsKey("kanban_view") && moduleDetails["kanban_view"].Type != JTokenType.Null) { module.KanbanView = (bool)moduleDetails["kanban_view"]; } module.Deletable = (bool)moduleDetails["deletable"]; module.Creatable = (bool)moduleDetails["creatable"]; if (moduleDetails.ContainsKey("filter_status") && moduleDetails["filter_status"].Type != JTokenType.Null) { module.FilterStatus = (bool)moduleDetails["filter_status"]; } if (moduleDetails.ContainsKey("inventory_template_supported") && moduleDetails["inventory_template_supported"].Type != JTokenType.Null) { module.InventoryTemplateSupported = (bool)moduleDetails["inventory_template_supported"]; } if (moduleDetails.ContainsKey("modified_time") && moduleDetails["modified_time"].Type != JTokenType.Null) { module.ModifiedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(moduleDetails["modified_time"])); } module.PluralLabel = (string)moduleDetails["plural_label"]; if (moduleDetails.ContainsKey("presence_sub_menu") && moduleDetails["presence_sub_menu"].Type != JTokenType.Null) { module.PresenceSubMenu = (bool)moduleDetails["presence_sub_menu"]; } module.Id = Convert.ToInt64(moduleDetails["id"]); if (moduleDetails.ContainsKey("related_list_properties") && moduleDetails["related_list_properties"].Type != JTokenType.Null) { module.RelatedListProperties = GetRelatedListProperties((JObject)moduleDetails["related_list_properties"]); } if (moduleDetails.ContainsKey("$properties") && moduleDetails["$properties"].Type != JTokenType.Null) { List <string> properties = new List <string>(); foreach (string property in (JArray)moduleDetails["$properties"]) { properties.Add(property); } module.Properties = properties; } if (moduleDetails.ContainsKey("per_page") && moduleDetails["per_page"].Type != JTokenType.Null) { module.PerPage = (int)moduleDetails["per_page"]; } if (moduleDetails.ContainsKey("visibility") && moduleDetails["visibility"].Type != JTokenType.Null) { module.Visibility = (int)moduleDetails["visibility"]; } module.Convertable = (bool)moduleDetails["convertable"]; module.Editable = (bool)moduleDetails["editable"]; if (moduleDetails.ContainsKey("emailTemplate_support") && moduleDetails["emailTemplate_support"].Type != JTokenType.Null) { module.EmailTemplateSupport = (bool)moduleDetails["emailTemplate_support"]; } if (moduleDetails["profiles"].HasValues) { JArray accessibleProfilesArray = (JArray)moduleDetails["profiles"]; foreach (JObject accessibleProfiles in accessibleProfilesArray) { ZCRMProfile profile = ZCRMProfile.GetInstance(Convert.ToInt64(accessibleProfiles["id"]), (string)accessibleProfiles["name"]); module.AddAccessibleProfile(profile); } } if (moduleDetails.ContainsKey("filter_supported") && moduleDetails["filter_supported"].Type != JTokenType.Null) { module.FilterSupported = (bool)moduleDetails["filter_supported"]; } if (moduleDetails.ContainsKey("display_field") && moduleDetails["display_field"].Type != JTokenType.Null) { module.DisplayField = (string)moduleDetails["display_field"]; } if (moduleDetails.ContainsKey("search_layout_fields") && moduleDetails["search_layout_fields"].Type != JTokenType.Null) { List <string> layout_Fields = new List <string>(); foreach (string layout_Field in (JArray)moduleDetails["search_layout_fields"]) { layout_Fields.Add(layout_Field); } module.SearchLayoutFields = layout_Fields; } if (moduleDetails.ContainsKey("kanban_view_supported") && moduleDetails["kanban_view_supported"].Type != JTokenType.Null) { module.KanbanViewSupported = (bool)moduleDetails["kanban_view_supported"]; } module.WebLink = (string)moduleDetails["web_link"]; module.SequenceNumber = (int)moduleDetails["sequence_number"]; module.SingularLabel = (string)moduleDetails["singular_label"]; module.Viewable = (bool)moduleDetails["viewable"]; module.ApiSupported = (bool)(moduleDetails["api_supported"]); if (moduleDetails.ContainsKey("quick_create") && moduleDetails["quick_create"].Type != JTokenType.Null) { module.QuickCreate = (bool)(moduleDetails["quick_create"]); } if (moduleDetails["modified_by"].HasValues) { JObject modifiedByObject = (JObject)moduleDetails["modified_by"]; ZCRMUser modifiedUser = ZCRMUser.GetInstance(Convert.ToInt64(modifiedByObject["id"]), (string)modifiedByObject["name"]); module.ModifiedBy = modifiedUser; } module.CustomModule = (bool)(moduleDetails["generated_type"].ToString().Equals("custom")); if (moduleDetails.ContainsKey("feeds_required") && moduleDetails["feeds_required"].Type != JTokenType.Null) { module.FeedsRequired = (bool)(moduleDetails["feeds_required"]); } if (moduleDetails.ContainsKey("scoring_supported") && moduleDetails["scoring_supported"].Type != JTokenType.Null) { module.ScoringSupported = (bool)(moduleDetails["scoring_supported"]); } if (moduleDetails.ContainsKey("webform_supported") && moduleDetails["webform_supported"].Type != JTokenType.Null) { module.WebformSupported = (bool)(moduleDetails["webform_supported"]); } if (moduleDetails.ContainsKey("arguments") && moduleDetails["arguments"].Type != JTokenType.Null) { if (moduleDetails["arguments"].HasValues) { List <ZCRMWebTabArguments> argumentsList = new List <ZCRMWebTabArguments>(); JArray argumentsJArr = (JArray)moduleDetails["arguments"]; foreach (JObject argumentsJObj in argumentsJArr) { ZCRMWebTabArguments argumentsIns = ZCRMWebTabArguments.GetInstance(); if (argumentsJObj.ContainsKey("name") && argumentsJObj["name"].Type != JTokenType.Null) { argumentsIns.Name = (string)argumentsJObj["name"]; } if (argumentsJObj.ContainsKey("value") && argumentsJObj["value"].Type != JTokenType.Null) { argumentsIns.Value = (string)argumentsJObj["value"]; } argumentsList.Add(argumentsIns); } module.WebTabArguments = argumentsList; } } module.SystemName = (string)moduleDetails["module_name"]; if (moduleDetails.ContainsKey("business_card_field_limit") && moduleDetails["business_card_field_limit"].Type != JTokenType.Null) { module.BusinessCardFieldLimit = (int)moduleDetails["business_card_field_limit"]; } if (moduleDetails.ContainsKey("custom_view") && moduleDetails["custom_view"].Type != JTokenType.Null) { module.CustomView = GetZCRMCustomView((string)moduleDetails["api_name"], (JObject)moduleDetails["custom_view"]); } if (moduleDetails.ContainsKey("parent_module") && moduleDetails["parent_module"].Type != JTokenType.Null) { if (moduleDetails["parent_module"].HasValues) { JObject parent_module = (JObject)moduleDetails["parent_module"]; ZCRMModule parentModuleIns = ZCRMModule.GetInstance((string)parent_module["api_name"]); parentModuleIns.Id = Convert.ToInt64(parent_module["id"]); module.ParentModule = parentModuleIns; } } if (moduleDetails.ContainsKey("territory") && moduleDetails["territory"].Type != JTokenType.Null) { JObject territoryJobj = (JObject)moduleDetails["territory"]; ZCRMTerritory territoryIns = ZCRMTerritory.GetInstance(Convert.ToInt64(territoryJobj["id"])); territoryIns.Name = (string)territoryJobj["name"]; territoryIns.Subordinates = (bool)territoryJobj["subordinates"]; module.Territory = territoryIns; } if (moduleDetails.ContainsKey("related_lists") && moduleDetails["related_lists"].Type != JTokenType.Null) { List <ZCRMModuleRelation> relatedLists = new List <ZCRMModuleRelation>(); JArray relatedListsArray = (JArray)moduleDetails["related_lists"]; foreach (JObject relatedListDetails in relatedListsArray) { ZCRMModuleRelation relatedList = ZCRMModuleRelation.GetInstance(module.ApiName, (string)relatedListDetails["api_name"]); SetRelatedListProperties(relatedList, relatedListDetails); relatedLists.Add(relatedList); } module.RelatedLists = relatedLists; } if (moduleDetails.ContainsKey("fields") && moduleDetails["fields"].Type != JTokenType.Null) { JArray fieldArray = (JArray)moduleDetails["fields"]; module.Fields = ModuleAPIHandler.GetInstance(ZCRMModule.GetInstance((string)moduleDetails["api_name"])).GetFields(fieldArray); } if (moduleDetails.ContainsKey("business_card_fields") && moduleDetails.Type != JTokenType.Null) { List <string> bcFields = new List <string>(); JArray bcFieldsArray = (JArray)moduleDetails["business_card_fields"]; foreach (JObject bcField in bcFieldsArray) { bcFields.Add(bcField.ToString()); } module.BussinessCardFields = bcFields; } if (moduleDetails.ContainsKey("layouts")) { module.Layouts = ModuleAPIHandler.GetInstance(module).GetAllLayouts(moduleDetails); } return(module); } catch (Exception e) when(!(e is ZCRMException)) { ZCRMLogger.LogError(e); throw new ZCRMException(APIConstants.SDK_ERROR, e); } }
//TODO<IMPORTANT>: Lots of performance tune-ups are needed and needs plenty of testing!!; public void SetRecordProperties(JObject recordJSON, ZCRMRecord record) { //JObject recordDetails = new JObject(recordJSON); //TODO: If Performance is needed implement JSONTextReader or JSONReader and put thought into it later after completing the SDK; foreach (KeyValuePair <string, JToken> token in recordJSON) { string fieldAPIName = token.Key; if (fieldAPIName.Equals("id")) { record.EntityId = Convert.ToInt64(token.Value); } else if (fieldAPIName.Equals("Product_Details")) { SetInventoryLineItems((JArray)token.Value); } else if (fieldAPIName.Equals("Participants")) { SetParticipants((JArray)token.Value); } else if (fieldAPIName.Equals("Pricing_Details")) { SetPriceDetails((JArray)token.Value); } else if (fieldAPIName.Equals("Created_By")) { JObject createdObject = (JObject)token.Value; ZCRMUser createdUser = ZCRMUser.GetInstance(Convert.ToInt64(createdObject.GetValue("id")), Convert.ToString(createdObject.GetValue("name"))); record.CreatedBy = createdUser; } else if (fieldAPIName.Equals("Modified_By")) { JObject modifiedObject = (JObject)token.Value; ZCRMUser modifiedBy = ZCRMUser.GetInstance(Convert.ToInt64(modifiedObject.GetValue("id")), Convert.ToString(modifiedObject.GetValue("name"))); } else if (fieldAPIName.Equals("Created_Time")) { record.CreatedTime = Convert.ToString(token.Value); } else if (fieldAPIName.Equals("Modified_Time")) { record.ModifiedTime = Convert.ToString(token.Value); } else if (fieldAPIName.Equals("Owner")) { JObject ownerObject = (JObject)token.Value; ZCRMUser ownerUser = ZCRMUser.GetInstance(Convert.ToInt64(ownerObject.GetValue("id")), Convert.ToString(ownerObject.GetValue("name"))); record.Owner = ownerUser; } else if (fieldAPIName.Equals("Layout") && token.Value.Type != JTokenType.Null) { JObject layoutObject = (JObject)token.Value; ZCRMLayout layout = ZCRMLayout.GetInstance(Convert.ToInt64(layoutObject.GetValue("id"))); layout.Name = Convert.ToString(layoutObject.GetValue("name")); } else if (fieldAPIName.Equals("Handler") && token.Value.Type != JTokenType.Null) { JObject handlerObject = (JObject)token.Value; ZCRMUser handler = ZCRMUser.GetInstance(Convert.ToInt64(handlerObject.GetValue("id")), Convert.ToString(handlerObject.GetValue("name"))); record.SetFieldValue(fieldAPIName, handler); } else if (fieldAPIName.Equals("Remind_At") && token.Value.Type == JTokenType.Null) { JObject remindObject = (JObject)token.Value; record.SetFieldValue(fieldAPIName, remindObject.GetValue("ALARM")); } else if (fieldAPIName.Equals("Recurring_Activity") && token.Value.Type != JTokenType.Null) { JObject recurringActivityObject = (JObject)token.Value; record.SetFieldValue(fieldAPIName, recurringActivityObject.GetValue("RRULE")); } else if (fieldAPIName.Equals("$line_tax")) { JArray taxDetails = (JArray)token.Value; foreach (JObject taxDetail in taxDetails) { ZCRMTax tax = ZCRMTax.GetInstance(Convert.ToString(taxDetail.GetValue("name"))); tax.Percentage = Convert.ToDouble(taxDetail.GetValue("percentage")); tax.Value = Convert.ToDouble(taxDetail.GetValue("value")); record.AddTax(tax); } } else if (fieldAPIName.Equals("Tax") && token.Value.Type != JTokenType.Null) { JArray taxNames = (JArray)token.Value; int arrayLen = taxNames.Count; for (int i = 0; i < arrayLen; i++) { ZCRMTax tax = ZCRMTax.GetInstance(Convert.ToString(taxNames[i])); record.AddTax(tax); } } else if (fieldAPIName.StartsWith("$", StringComparison.CurrentCulture)) { fieldAPIName = fieldAPIName.TrimStart('\\', '$'); if (APIConstants.PROPERTIES_AS_FILEDS.Contains(fieldAPIName)) { record.SetFieldValue(fieldAPIName, token.Value); } else { record.SetProperty(fieldAPIName, token.Value); } } else if (token.Value is JObject) { JObject lookupDetails = (JObject)token.Value; ZCRMRecord lookupRecord = ZCRMRecord.GetInstance(fieldAPIName, Convert.ToInt64(lookupDetails.GetValue("id"))); lookupRecord.LookupLabel = Convert.ToString(lookupDetails.GetValue("name")); record.SetFieldValue(fieldAPIName, lookupRecord); } else if (token.Value is JArray) { JArray jsonArray = (JArray)token.Value; List <object> values = new List <object>(); foreach (JObject jsonObject in jsonArray) { values.Add(jsonObject); } record.SetFieldValue(fieldAPIName, values); } else { record.SetFieldValue(fieldAPIName, token.Value); } } }
public ZCRMRecord SetRecordProperties(string ModuleAPIName, Dictionary <string, object> fieldvsValue, int rowNumber) { recordIns = null; recordIns = new ZCRMRecord(ModuleAPIName); recordIns.RowNumber = rowNumber; foreach (KeyValuePair <string, object> data in fieldvsValue) { if (data.Key.Equals("Id") || data.Key.Equals("RECORD_ID")) { if (data.Value != null && !String.IsNullOrEmpty(Convert.ToString(data.Value)) && !String.IsNullOrWhiteSpace(Convert.ToString(data.Value))) { recordIns.EntityId = Convert.ToInt64(data.Value); } } else if (data.Key.Equals("Created_By")) { if (data.Value != null && !String.IsNullOrEmpty(Convert.ToString(data.Value)) && !String.IsNullOrWhiteSpace(Convert.ToString(data.Value))) { ZCRMUser createdBy = recordIns.CreatedBy ?? ZCRMUser.GetInstance(); createdBy.Id = Convert.ToInt64(data.Value); recordIns.CreatedBy = createdBy; } } else if (data.Key.Equals("Modified_By")) { if (data.Value != null && !String.IsNullOrEmpty(Convert.ToString(data.Value)) && !String.IsNullOrWhiteSpace(Convert.ToString(data.Value))) { ZCRMUser modifiedBy = recordIns.ModifiedBy ?? ZCRMUser.GetInstance(); modifiedBy.Id = Convert.ToInt64(data.Value); recordIns.ModifiedBy = modifiedBy; } } else if (data.Key.Equals("Created_Time")) { if (data.Value != null && !String.IsNullOrEmpty(Convert.ToString(data.Value)) && !String.IsNullOrWhiteSpace(Convert.ToString(data.Value))) { recordIns.CreatedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(data.Value)); } } else if (data.Key.Equals("Modified_Time")) { if (data.Value != null && !String.IsNullOrEmpty(Convert.ToString(data.Value)) && !String.IsNullOrWhiteSpace(Convert.ToString(data.Value))) { recordIns.ModifiedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(data.Value)); } } else if (data.Key.Equals("Owner")) { if (data.Value != null && !String.IsNullOrEmpty(Convert.ToString(data.Value)) && !String.IsNullOrWhiteSpace(Convert.ToString(data.Value))) { ZCRMUser owner = recordIns.Owner != null ? recordIns.Owner : ZCRMUser.GetInstance(); owner.Id = Convert.ToInt64(data.Value); recordIns.Owner = owner; } } else if (data.Key.Equals("STATUS")) { if (data.Value != null && !String.IsNullOrEmpty(Convert.ToString(data.Value)) && !String.IsNullOrWhiteSpace(Convert.ToString(data.Value))) { recordIns.Status = (string)data.Value; } } else if (data.Key.Equals("ERRORS")) { if (data.Value != null && !String.IsNullOrEmpty(Convert.ToString(data.Value)) && !String.IsNullOrWhiteSpace(Convert.ToString(data.Value))) { recordIns.Error = (string)data.Value; } } else if (data.Key.StartsWith("$", StringComparison.Ordinal)) { var regex = new Regex(Regex.Escape("$")); string fieldName = regex.Replace(data.Key, "", 1); //string fieldName = fieldAPINames[i].re("\\$", ""); if (APIConstants.PROPERTIES_AS_FILEDS.Contains(fieldName)) { if (data.Value != null && !String.IsNullOrEmpty(Convert.ToString(data.Value)) && !String.IsNullOrWhiteSpace(Convert.ToString(data.Value))) { recordIns.SetFieldValue(fieldName, data.Value); } } else { if (data.Value != null && !String.IsNullOrEmpty(Convert.ToString(data.Value)) && !String.IsNullOrWhiteSpace(Convert.ToString(data.Value))) { recordIns.SetProperty(fieldName, data.Value); } } } else { if (data.Value != null && !String.IsNullOrEmpty(Convert.ToString(data.Value)) && !String.IsNullOrWhiteSpace(Convert.ToString(data.Value))) { recordIns.SetFieldValue(data.Key, data.Value); } } } return(recordIns); }
private ZCRMUser GetZCRMUser(JObject userDetails) { ZCRMUser user = ZCRMUser.GetInstance((long)userDetails["id"], (string)userDetails["full_name"]); user.EmailId = (string)userDetails["email"]; user.FirstName = (string)userDetails["first_name"]; user.LastName = (string)userDetails["last_name"]; user.Language = (string)userDetails["language"]; user.Mobile = (string)userDetails["mobile"]; user.Status = (string)userDetails["status"]; user.ZuId = (long?)userDetails["zuid"]; if (userDetails.ContainsKey("profile")) { JObject profileObject = (JObject)userDetails["profile"]; ZCRMProfile profile = ZCRMProfile.GetInstance((long)profileObject["id"], (string)profileObject["name"]); user.Profile = profile; } if (userDetails.ContainsKey("role")) { JObject roleObject = (JObject)userDetails["role"]; ZCRMRole role = ZCRMRole.GetInstance((long)roleObject["id"], (string)roleObject["name"]); user.Role = role; } user.Alias = (string)userDetails["alias"]; user.City = (string)userDetails["city"]; user.Confirm = (bool)userDetails["confirm"]; user.CountryLocale = (string)userDetails["country_locale"]; user.DateFormat = (string)userDetails["date_format"]; user.TimeFormat = (string)userDetails["time_format"]; user.DateOfBirth = (string)userDetails["dob"]; user.Country = (string)userDetails["country"]; user.Fax = (string)userDetails["fax"]; user.Locale = (string)userDetails["locale"]; user.NameFormat = (string)userDetails["name_format"]; user.Website = (string)userDetails["website"]; user.TimeZone = (string)userDetails["time_zone"]; user.Street = (string)userDetails["street"]; user.State = (string)userDetails["state"]; if (userDetails.ContainsKey("created_by") && userDetails["created_by"].Type != JTokenType.Null) { JObject createdByObject = (JObject)userDetails["created_by"]; ZCRMUser createdUser = ZCRMUser.GetInstance((long)createdByObject["id"], (string)createdByObject["name"]); user.CreatedBy = createdUser; user.CreatedTime = (string)userDetails["created_time"]; } if (userDetails.ContainsKey("Modified_By") && userDetails["Modified_By"].Type != JTokenType.Null) { JObject modifiedByObject = (JObject)userDetails["Modified_By"]; ZCRMUser modifiedByUser = ZCRMUser.GetInstance((long)modifiedByObject["id"], (string)modifiedByObject["name"]); user.ModifiedBy = modifiedByUser; user.ModifiedTime = (string)userDetails["Modified_Time"]; } if (userDetails.ContainsKey("Reporting_To") && userDetails["Reporting_To"].Type != JTokenType.Null) { JObject reportingToObject = (JObject)userDetails["Reporting_To"]; ZCRMUser reportingTo = ZCRMUser.GetInstance((long)reportingToObject["id"], (string)reportingToObject["name"]); user.ReportingTo = reportingTo; } return(user); }
/// <summary> /// To convert the record based on potential record and ZCRMUser class instance. /// </summary> /// <returns>Dictionary(String,Long).</returns> /// <param name="potential">ZCRMRecord class instance</param> /// <param name="assignToUser">ZCRMUser class instance</param> public Dictionary <string, long> Convert(ZCRMRecord potential, ZCRMUser assignToUser) { return(EntityAPIHandler.GetInstance(this).ConvertRecord(potential, assignToUser)); }
private ZCRMProfile GetZCRMProfile(JObject profileDetails) { ZCRMProfile profile = ZCRMProfile.GetInstance((long)profileDetails["id"], (string)profileDetails["name"]); profile.Category = (bool)profileDetails["category"]; profile.Description = (string)profileDetails["description"]; profile.CreatedBy = null; //TODO: Check with HasValues method; if (profileDetails["created_by"].Type != JTokenType.Null) { JObject createdByObject = (JObject)profileDetails["created_by"]; ZCRMUser createdBy = ZCRMUser.GetInstance((long)createdByObject["id"], (string)createdByObject["name"]); profile.CreatedBy = createdBy; profile.CreatedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(profileDetails["created_time"])); } profile.ModifiedBy = null; if (profileDetails["modified_by"].Type != JTokenType.Null) { JObject modifiedByObject = (JObject)profileDetails["modified_by"]; ZCRMUser modifiedBy = ZCRMUser.GetInstance((long)modifiedByObject["id"], (string)modifiedByObject["name"]); profile.ModifiedBy = modifiedBy; profile.ModifiedTime = CommonUtil.RemoveEscaping((string)JsonConvert.SerializeObject(profileDetails["modified_time"])); } if (profileDetails.ContainsKey("permissions_details") && profileDetails["permissions_details"].Type != JTokenType.Null) { JArray permissionsJArr = (JArray)profileDetails["permissions_details"]; foreach (JObject permissionsJObj in permissionsJArr) { ZCRMProfilePermissions profilePermissions = ZCRMProfilePermissions.GetInstance(); if (permissionsJObj.ContainsKey("display_label") && permissionsJObj["display_label"].Type != JTokenType.Null) { profilePermissions.DisplayLabel = (string)permissionsJObj["display_label"]; } if (permissionsJObj.ContainsKey("module") && permissionsJObj["module"].Type != JTokenType.Null) { profilePermissions.Module = (string)permissionsJObj["module"]; } if (permissionsJObj.ContainsKey("name") && permissionsJObj["name"].Type != JTokenType.Null) { profilePermissions.Name = (string)permissionsJObj["name"]; } if (permissionsJObj.ContainsKey("id") && permissionsJObj["id"].Type != JTokenType.Null) { profilePermissions.Id = (long)permissionsJObj["id"]; } if (permissionsJObj.ContainsKey("enabled") && permissionsJObj["enabled"].Type != JTokenType.Null) { profilePermissions.Enabled = (bool)permissionsJObj["enabled"]; } profile.SetPermissionsDetails(profilePermissions); } } if (profileDetails.ContainsKey("sections") && profileDetails["sections"].Type != JTokenType.Null) { JArray sectionsJArr = (JArray)profileDetails["sections"]; foreach (JObject sectionsJObj in sectionsJArr) { ZCRMProfileSection sectionIns = ZCRMProfileSection.GetInstance((string)sectionsJObj["name"]); if (sectionsJObj.ContainsKey("categories") && sectionsJObj["categories"].Type != JTokenType.Null) { JArray categoriesJArr = (JArray)sectionsJObj["categories"]; foreach (JObject categoriesJObj in categoriesJArr) { ZCRMProfileCategory categoryIns = ZCRMProfileCategory.GetInstance((string)categoriesJObj["name"]); if (categoriesJObj.ContainsKey("display_label") && categoriesJObj["display_label"].Type != JTokenType.Null) { categoryIns.DisplayLabel = (string)categoriesJObj["display_label"]; } if (categoriesJObj.ContainsKey("module") && categoriesJObj["module"].Type != JTokenType.Null) { categoryIns.Module = (string)categoriesJObj["module"]; } if (categoriesJObj.ContainsKey("permissions_details") && categoriesJObj["permissions_details"].Type != JTokenType.Null && categoriesJObj["permissions_details"].HasValues) { List <long> permissionsIds = new List <long>(); foreach (long id in categoriesJObj["permissions_details"]) { permissionsIds.Add(id); } categoryIns.PermissionIds = permissionsIds; } sectionIns.SetCategories(categoryIns); } } profile.SetProfileSection(sectionIns); } } return(profile); }
private JObject ConstructJSONForUser(ZCRMUser user) { JObject userJSON = new JObject(); ZCRMRole role = user.Role; if (role != null) { userJSON["role"] = role.Id.ToString(); } ZCRMProfile profile = user.Profile; if (profile != null) { userJSON["profile"] = profile.Id.ToString(); } if (user.Country != null) { userJSON["country"] = user.Country; } if (user.City != null) { userJSON["city"] = user.City; } if (user.Signature != null) { userJSON["signature"] = user.Signature; } if (user.NameFormat != null) { userJSON["name_format"] = user.NameFormat; } if (user.Language != null) { userJSON["language"] = user.Language; } if (user.Locale != null) { userJSON["locale"] = user.Locale; } if (user.DefaultTabGroup != null) { userJSON["default_tab_group"] = user.DefaultTabGroup; } if (user.Street != null) { userJSON["street"] = user.Street; } if (user.Alias != null) { userJSON["alias"] = user.Alias; } if (user.State != null) { userJSON["state"] = user.State; } if (user.CountryLocale != null) { userJSON["country_locale"] = user.CountryLocale; } if (user.Fax != null) { userJSON["fax"] = user.Fax; } if (user.FirstName != null) { userJSON["first_name"] = user.FirstName; } if (user.EmailId != null) { userJSON["email"] = user.EmailId; } if (user.Zip != null) { userJSON["zip"] = user.Zip; } if (user.DecimalSeparator != null) { userJSON["decimal_separator"] = user.DecimalSeparator; } if (user.Website != null) { userJSON["website"] = user.Website; } if (user.TimeFormat != null) { userJSON["time_format"] = user.TimeFormat; } if (user.Mobile != null) { userJSON["mobile"] = user.Mobile; } if (user.LastName != null) { userJSON["last_name"] = user.LastName; } if (user.TimeZone != null) { userJSON["time_zone"] = user.TimeZone; } if (user.Phone != null) { userJSON["phone"] = user.Phone; } if (user.DateOfBirth != null) { userJSON["dob"] = user.DateOfBirth; } if (user.DateFormat != null) { userJSON["date_format"] = user.DateFormat; } if (user.Status != null) { userJSON["status"] = user.Status; } foreach (KeyValuePair <string, object> token in user.Data) { userJSON[token.Key] = JToken.FromObject(token.Value); } userJSON["personal_account"] = user.IsPersonalAccount; return(userJSON); }
//public BulkAPIResponse<ZCRMRecord> InsertInvestor(InvestorModel investor) //{ // ZCRMRestClient.Initialize(config); // ZohoOAuthClient client = ZohoOAuthClient.GetInstance(); // string refreshToken = "1000.354c162c19b5da4fc4053bc4e38dd27f.1e548f961cc913acbacd82fbad0a3387"; // string userMailId = "*****@*****.**"; // ZohoOAuthTokens tokens = client.GenerateAccessTokenFromRefreshToken(refreshToken, userMailId); // List<ZCRMRecord> records = new List<ZCRMRecord>(); // ZCRMRecord record1 = new ZCRMRecord("accounts"); //module api name // record1.SetFieldValue("Account_Name", investor.UserName); // record1.SetFieldValue("Email", investor.UserName); // record1.SetFieldValue("Username", investor.UserName); // record1.SetFieldValue("Industry", "1"); // record1.SetFieldValue("Status", "1"); // record1.SetFieldValue("Phone", investor.MobileNumber); // record1.SetFieldValue("Fax", investor.MobileNumber); // record1.SetFieldValue("Employees", 1); // record1.SetFieldValue("Age", investor.Age); // record1.SetFieldValue("Gender", investor.Gender); // record1.SetFieldValue("NRIC_Number", investor.NRIC_Number); // record1.SetFieldValue("Passport_Number", investor.PassportNumber); // record1.SetFieldValue("Date_Of_Birth", investor.DateOfBirth.Value); // record1.SetFieldValue("Sign_Up_Date", investor.DateCreated.Value.Date.ToString()); // record1.SetFieldValue("Total_Invested", investor.TotalInvestedAmount); // record1.SetFieldValue("Admin_Verification", investor.AdminVerification); // record1.SetFieldValue("Number_Of_Delinquent_Off_Note", investor.numofdelinquent); // record1.SetFieldValue("Number_Of_Fully_Paid_Note", investor.NumberOfFullyPaidNotes); // record1.SetFieldValue("Number_of_Close_Off_Note", investor.NumOfCloseOff); // record1.SetFieldValue("Qualified_Date", investor.QualifiedDate.Value.Date.ToString()); // if (investor.LastLogin == null) // { // investor.LastLogin = investor.DateCreated; // } // record1.SetFieldValue("Last_Login", investor.LastLogin.Value.Date.ToString()); // record1.SetFieldValue("Number_Of_Deliquent_Note", investor.numofdelinquent); // record1.SetFieldValue("Sum_of_Number_Invested_Note", investor.NumberOfInvested); // record1.SetFieldValue("Current_in_Funding_Amount", investor.CurrentInFunding); // record1.SetFieldValue("Sum_of_Ledge_Amount", investor.ActualAmount); // record1.SetFieldValue("Total_Amount_Received", investor.TotalAmountReceived); // record1.SetFieldValue("Total_Delinquent_Amount", investor.outstandingPI); // record1.SetFieldValue("Outstanding_L", investor.outstanding_I); // record1.SetFieldValue("Outstanding_P", investor.outstanding_P); // record1.SetFieldValue("Principal_Received", investor.PaidP); // record1.SetFieldValue("Interest_Received", investor.PaidI); // record1.CreatedTime = DateTime.UtcNow.Ticks.ToString(); // records.Add(record1); // ZCRMModule moduleIns = ZCRMModule.GetInstance("accounts"); //module api name // BulkAPIResponse<ZCRMRecord> response = moduleIns.CreateRecords(records); //records - list of ZCRMRecord instances filled with required data for upsert. // List<ZCRMRecord> insertedRecords = response.BulkData; //upsertedRecords - list of ZCRMRecord instance // foreach (var entityID in response.BulkData) // { // var newID = new tbl_CheckID // { // IDZoho = entityID.EntityId, // EmailMS = investor.UserName // }; // dbzoho.tbl_CheckID.Add(newID); // dbzoho.SaveChanges(); // } // List<EntityResponse> entityResponses = response.BulkEntitiesResponse; //entityResponses - list of EntityResponses instance // return response; //} public void UpdateIssuer(IssuerModel issuer) { var id = dbzoho.tbl_CheckID.FirstOrDefault(p => p.EmailMS == issuer.UserName); ZCRMRestClient.Initialize(config); ZohoOAuthClient client = ZohoOAuthClient.GetInstance(); string refreshToken = "1000.354c162c19b5da4fc4053bc4e38dd27f.1e548f961cc913acbacd82fbad0a3387"; string userMailId = "*****@*****.**"; ZohoOAuthTokens tokens = client.GenerateAccessTokenFromRefreshToken(refreshToken, userMailId); List <ZCRMRecord> records = new List <ZCRMRecord>(); ZCRMRecord record1 = new ZCRMRecord("accounts"); //module api name record1.EntityId = id.IDZoho; record1.SetFieldValue("id", id.IDZoho); record1.SetFieldValue("Account_Name", issuer.UserName); record1.SetFieldValue("Full_Name", issuer.FullName); record1.SetFieldValue("Username", issuer.UserName); record1.SetFieldValue("Industry", "1"); record1.SetFieldValue("Company_Name", issuer.BusinessName.ToString()); record1.SetFieldValue("Phone", issuer.MobileNumber); record1.SetFieldValue("Fax", issuer.MobileNumber); record1.SetFieldValue("Employees", 1); record1.SetFieldValue("Total_Amount_Disbursed", issuer.totaldisbursed); record1.SetFieldValue("Last_Repayment_Date", issuer.LastRepaymentDate.Value.ToString()); record1.SetFieldValue("Days_Overdue", issuer.daysoverdue); record1.SetFieldValue("Issuer_Account_Balance", issuer.ActualAmount); record1.SetFieldValue("Outstanding_Amount_with_Late_Fee", issuer.outamountwithlf); record1.SetFieldValue("Outstanding_Amount_no_Late_Fee", issuer.outamountwithoutlf); record1.SetFieldValue("Outstanding_Late_Fee", issuer.outstandinglf); record1.SetFieldValue("Total_Amount_Overdue", issuer.overdueamount); record1.SetFieldValue("Total_Principle_Paid", issuer.totalpaidprincipal); record1.SetFieldValue("Total_Interest_Paid", issuer.totalpaidinterest); record1.SetFieldValue("Total_Late_Fee_Paid", issuer.paidlatefees); record1.SetFieldValue("Total_Late_Interest_Paid", issuer.totalpaidlateinterest); record1.SetFieldValue("Total_Paid_Amount", issuer.TotalPaidAmount); records.Add(record1); ZCRMModule moduleIns = ZCRMModule.GetInstance("accounts"); //module api name BulkAPIResponse <ZCRMRecord> responseIns = moduleIns.UpdateRecords(records); //To call the Update record method Console.WriteLine("HTTP Status Code:" + responseIns.HttpStatusCode); //To get Update record http response code foreach (EntityResponse response in responseIns.BulkEntitiesResponse) { Console.WriteLine("Status:" + response.Status); //To get Update record response status Console.WriteLine("Message:" + response.Message); //To get Update record response message Console.WriteLine("Details:" + response.ResponseJSON); //To get Update record response details ZCRMRecord record11 = (ZCRMRecord)response.Data; Console.WriteLine(record11.EntityId); //To get inserted record id Console.WriteLine(record11.CreatedTime); Console.WriteLine(record11.ModifiedTime); ZCRMUser CreatedBy = record11.CreatedBy; if (CreatedBy != null) { Console.WriteLine(CreatedBy.Id); Console.WriteLine(CreatedBy.FullName); } ZCRMUser ModifiedBy = record1.ModifiedBy; if (ModifiedBy != null) { Console.WriteLine(ModifiedBy.Id); Console.WriteLine(ModifiedBy.FullName); } } }
public void UpdateInvestor(InvestorModel investor) { var id = dbzoho.tbl_CheckID.FirstOrDefault(p => p.EmailMS == investor.UserName); ZCRMRestClient.Initialize(config); ZohoOAuthClient client = ZohoOAuthClient.GetInstance(); string refreshToken = "1000.354c162c19b5da4fc4053bc4e38dd27f.1e548f961cc913acbacd82fbad0a3387"; string userMailId = "*****@*****.**"; ZohoOAuthTokens tokens = client.GenerateAccessTokenFromRefreshToken(refreshToken, userMailId); List <ZCRMRecord> records = new List <ZCRMRecord>(); ZCRMRecord record1 = new ZCRMRecord("accounts"); //module api name record1.EntityId = id.IDZoho; record1.SetFieldValue("id", id.IDZoho); record1.SetFieldValue("Account_Name", investor.UserName); record1.SetFieldValue("Email", investor.UserName); record1.SetFieldValue("Username", investor.UserName); record1.SetFieldValue("Industry", "1"); record1.SetFieldValue("Status", "1"); record1.SetFieldValue("Phone", investor.MobileNumber); record1.SetFieldValue("Fax", investor.MobileNumber); record1.SetFieldValue("Employees", 1); record1.SetFieldValue("Age", investor.Age); record1.SetFieldValue("Gender", investor.Gender); record1.SetFieldValue("NRIC_Number", investor.NRIC_Number); record1.SetFieldValue("Passport_Number", investor.PassportNumber); record1.SetFieldValue("Date_Of_Birth", investor.DateOfBirth.Value); record1.SetFieldValue("Sign_Up_Date", investor.DateCreated.Value.Date.ToString()); record1.SetFieldValue("Total_Invested", investor.TotalInvestedAmount); record1.SetFieldValue("Admin_Verification", investor.AdminVerification); record1.SetFieldValue("Number_Of_Delinquent_Off_Note", investor.numofdelinquent); record1.SetFieldValue("Number_Of_Fully_Paid_Note", investor.NumberOfFullyPaidNotes); record1.SetFieldValue("Number_of_Close_Off_Note", investor.NumOfCloseOff); record1.SetFieldValue("Qualified_Date", investor.QualifiedDate.Value.Date.ToString()); if (investor.LastLogin == null) { investor.LastLogin = investor.DateCreated; } record1.SetFieldValue("Number_Of_Deliquent_Note", investor.numofdelinquent); record1.SetFieldValue("Last_Login", investor.LastLogin.Value.Date.ToString()); record1.SetFieldValue("Sum_of_Number_Invested_Note", investor.NumberOfInvested); record1.SetFieldValue("Current_in_Funding_Amount", investor.CurrentInFunding); record1.SetFieldValue("Sum_of_Ledge_Amount", investor.ActualAmount); record1.SetFieldValue("Total_Amount_Received", investor.TotalAmountReceived); record1.SetFieldValue("Total_Delinquent_Amount", investor.outstandingPI); record1.SetFieldValue("Outstanding_L", investor.outstanding_I); record1.SetFieldValue("Outstanding_P", investor.outstanding_P); record1.SetFieldValue("Principal_Received", investor.PaidP); record1.SetFieldValue("Interest_Received", investor.PaidI); records.Add(record1); ZCRMModule moduleIns = ZCRMModule.GetInstance("accounts"); //module api name BulkAPIResponse <ZCRMRecord> responseIns = moduleIns.UpdateRecords(records); //To call the Update record method Console.WriteLine("HTTP Status Code:" + responseIns.HttpStatusCode); //To get Update record http response code foreach (EntityResponse response in responseIns.BulkEntitiesResponse) { Console.WriteLine("Status:" + response.Status); //To get Update record response status Console.WriteLine("Message:" + response.Message); //To get Update record response message Console.WriteLine("Details:" + response.ResponseJSON); //To get Update record response details ZCRMRecord record11 = (ZCRMRecord)response.Data; Console.WriteLine(record11.EntityId); //To get inserted record id Console.WriteLine(record11.CreatedTime); Console.WriteLine(record11.ModifiedTime); ZCRMUser CreatedBy = record11.CreatedBy; if (CreatedBy != null) { Console.WriteLine(CreatedBy.Id); Console.WriteLine(CreatedBy.FullName); } ZCRMUser ModifiedBy = record1.ModifiedBy; if (ModifiedBy != null) { Console.WriteLine(ModifiedBy.Id); Console.WriteLine(ModifiedBy.FullName); } } }