示例#1
0
 /// <summary>
 /// To get all records of the module based on custom view Id, sortByField, sortOrder, page, perPage, modifiedSince(Header) and selected fields information.
 /// </summary>
 /// <returns>BulkAPIResponse&lt;ZCRMRecord&gt; class instance.</returns>
 /// <param name="cvId">Custom view Id (Long) of the module. Records only from the given custom view will be fetched</param>
 /// <param name="sortByField">To sort the records based on this field (String)</param>
 /// <param name="sortOrder">Order preference - CommonUtil.SortOrder {asc/desc} <example>CommonUtil.SortOrder.asc</example></param>
 /// <param name="page">Starting page index (Integer)</param>
 /// <param name="perPage">Number of records per page (Integer)</param>
 /// <param name="modifiedSince">DateTime(ISO8601 format) to display records which are modified after the given input datetime (String)</param>
 /// <param name="fields">List of field API names (String)</param>
 public BulkAPIResponse <ZCRMRecord> GetRecords(long?cvId,
                                                string sortByField,
                                                CommonUtil.SortOrder?sortOrder,
                                                int page,
                                                int perPage,
                                                string modifiedSince,
                                                List <string> fields)
 {
     return(MassEntityAPIHandler.GetInstance(this).GetRecords(cvId, sortByField, sortOrder, page, perPage, modifiedSince, null, null, fields));
 }
        public BulkAPIResponse <ZCRMRecord> GetRecords(string sortByField, CommonUtil.SortOrder?sortOrder, int page, int perPage, string modifiedSince)
        {
            try
            {
                requestMethod = APIConstants.RequestMethod.GET;
                urlPath       = parentRecord.ModuleAPIName + "/" + parentRecord.EntityId + "/" + relatedList.ApiName;
                if (sortByField != null)
                {
                    requestQueryParams.Add("sort_by", sortByField);
                }
                if (sortOrder != null)
                {
                    requestQueryParams.Add("sort_order", sortOrder.ToString());
                }
                requestQueryParams.Add(APIConstants.PAGE, page.ToString());
                requestQueryParams.Add(APIConstants.PER_PAGE, perPage.ToString());
                if (modifiedSince != null && modifiedSince != "")
                {
                    requestHeaders.Add("If-Modified-Since", modifiedSince);
                }

                BulkAPIResponse <ZCRMRecord> response = APIRequest.GetInstance(this).GetBulkAPIResponse <ZCRMRecord>();

                List <ZCRMRecord> recordsList  = new List <ZCRMRecord>();
                JObject           responseJSON = response.ResponseJSON;
                if (responseJSON.ContainsKey(APIConstants.DATA))
                {
                    JArray recordsArray = (JArray)responseJSON[APIConstants.DATA];
                    foreach (JObject recordDetails in recordsArray)
                    {
                        ZCRMRecord record = ZCRMRecord.GetInstance(relatedList.ApiName, Convert.ToInt64(recordDetails["id"]));
                        EntityAPIHandler.GetInstance(record).SetRecordProperties(recordDetails);
                        recordsList.Add(record);
                    }
                }
                response.BulkData = recordsList;
                return(response);
            }
            catch (Exception e) when(!(e is ZCRMException))
            {
                ZCRMLogger.LogError(e);
                throw new ZCRMException(APIConstants.SDK_ERROR, e);
            }
        }
        //TODO: Handle exceptions;
        public BulkAPIResponse <ZCRMRecord> GetRecords(string sortByField, CommonUtil.SortOrder?sortOrder, int page, int perPage, string modifiedSince)
        {
            try
            {
                requestMethod = APIConstants.RequestMethod.GET;
                urlPath       = $"{parentRecord.ModuleAPIName}/{parentRecord.EntityId}/{relatedList.ApiName}";
                requestQueryParams.Add("sort_by", sortByField);
                if (sortOrder != null)
                {
                    requestQueryParams.Add("sort_order", sortOrder.ToString());
                }
                requestQueryParams.Add("page", page.ToString());
                requestQueryParams.Add("per_page", perPage.ToString());
                requestHeaders.Add("If-Modified-Since", modifiedSince);

                BulkAPIResponse <ZCRMRecord> response = APIRequest.GetInstance(this).GetBulkAPIResponse <ZCRMRecord>();

                List <ZCRMRecord> recordsList  = new List <ZCRMRecord>();
                JObject           responseJSON = response.ResponseJSON;
                JArray            recordsArray = (JArray)responseJSON.GetValue("data");
                foreach (JObject recordDetails in recordsArray)
                {
                    ZCRMRecord record = ZCRMRecord.GetInstance(relatedList.ApiName, Convert.ToInt64(recordDetails.GetValue("id")));
                    EntityAPIHandler.GetInstance(record).SetRecordProperties(recordDetails);
                    recordsList.Add(record);
                }
                response.BulkData = recordsList;
                return(response);
            }
            catch (Exception e)
            {
                //TODO: Handle the exceptions;
                Console.WriteLine("Exception in GetRecords");
                Console.WriteLine(e);
                throw new ZCRMException("ZCRM_INTERNAL_ERROR");
            }
        }
示例#4
0
        public BulkAPIResponse <ZCRMRecord> GetRecords(long?cvId, string sortByField, CommonUtil.SortOrder?sortOrder, int page, int perPage, string modifiedSince, string isConverted, string isApproved, List <string> fields)
        {
            try
            {
                requestMethod = APIConstants.RequestMethod.GET;

                urlPath = module.ApiName;

                if (cvId != null)
                {
                    requestQueryParams.Add("cvid", cvId.ToString());
                }

                if (sortByField != null)
                {
                    requestQueryParams.Add("sort_by", sortByField);
                }

                if (sortOrder != null)
                {
                    requestQueryParams.Add("sort_order", sortOrder.ToString());
                }

                requestQueryParams.Add(APIConstants.PAGE, page.ToString());

                requestQueryParams.Add(APIConstants.PER_PAGE, perPage.ToString());

                if (isApproved != null && isApproved != "")
                {
                    requestQueryParams.Add("approved", isApproved);
                }

                if (isConverted != null && isConverted != "")
                {
                    requestQueryParams.Add("converted", isConverted);
                }

                if (fields != null)
                {
                    requestQueryParams.Add("fields", CommonUtil.CollectionToCommaDelimitedString(fields));
                }

                if (modifiedSince != null && modifiedSince != "")
                {
                    requestHeaders.Add("If-Modified-Since", modifiedSince);
                }

                BulkAPIResponse <ZCRMRecord> response = APIRequest.GetInstance(this).GetBulkAPIResponse <ZCRMRecord>();

                List <ZCRMRecord> records = new List <ZCRMRecord>();

                JObject responseJSON = response.ResponseJSON;

                if (responseJSON.ContainsKey(APIConstants.DATA))
                {
                    JArray recordsArray = (JArray)responseJSON[APIConstants.DATA];

                    foreach (JObject recordDetails in recordsArray)
                    {
                        ZCRMRecord record = ZCRMRecord.GetInstance(module.ApiName, Convert.ToInt64(recordDetails["id"]));

                        EntityAPIHandler.GetInstance(record).SetRecordProperties(recordDetails);

                        records.Add(record);
                    }
                }

                response.BulkData = records;

                return(response);
            }
            catch (Exception e) when(!(e is ZCRMException))
            {
                ZCRMLogger.LogError(e);

                throw new ZCRMException(APIConstants.SDK_ERROR, e);
            }
        }
示例#5
0
 /// <summary>
 /// To get all records of the module based on custom view Id, sortByField, sortOrder, page, perPage and selected fields information.
 /// </summary>
 /// <returns>BulkAPIResponse&lt;ZCRMRecord&gt; class instance.</returns>
 /// <param name="cvId">Custom view Id (Long) of the module. Records only from the given custom view will be fetched</param>
 /// <param name="sortByField">To sort the records based on this field (String)</param>
 /// <param name="sortOrder">Order preference - CommonUtil.SortOrder {asc/desc} <example>CommonUtil.SortOrder.asc</example></param>
 /// <param name="page">Starting page index (Integer)</param>
 /// <param name="perPage">Number of records per page (Integer)</param>
 /// <param name="fields">List of field API names (String)</param>
 public BulkAPIResponse <ZCRMRecord> GetRecords(long?cvId, string sortByField, CommonUtil.SortOrder?sortOrder, int page, int perPage, List <string> fields)
 {
     return(GetRecords(cvId, sortByField, sortOrder, page, perPage, null, fields));
 }
示例#6
0
 /// <summary>
 /// To get all records of the module based on custom view Id, sortByField, sortOrder and selected fields information.
 /// </summary>
 /// <returns>BulkAPIResponse&lt;ZCRMRecord&gt; class instance.</returns>
 /// <param name="cvId">Custom view Id (Long) of the module. Records only from the given custom view will be fetched</param>
 /// <param name="sortByField">To sort the records based on this field (String)</param>
 /// <param name="sortOrder">Order preference - CommonUtil.SortOrder {asc/desc} <example>CommonUtil.SortOrder.asc</example></param>
 /// <param name="fields">List of field API names (String)</param>
 public BulkAPIResponse <ZCRMRecord> GetRecords(long?cvId, string sortByField, CommonUtil.SortOrder?sortOrder, List <string> fields)
 {
     return(GetRecords(cvId, sortByField, sortOrder, 1, 200, fields));
 }
示例#7
0
        public BulkAPIResponse <ZCRMRecord> GetRecords(long?cvId, string sortByField, CommonUtil.SortOrder?sortOrder, int page, int perPage, string modifiedSince, string isConverted, string isApproved, List <string> fields)
        {
            try{
                requestMethod = APIConstants.RequestMethod.GET;
                urlPath       = module.ApiName;
                if (cvId != null)
                {
                    requestQueryParams.Add("cvid", cvId.ToString());
                }
                requestQueryParams.Add("sort_by", sortByField);
                if (sortOrder != null)
                {
                    requestQueryParams.Add("sort_order", sortOrder.ToString());
                }
                requestQueryParams.Add("page", page.ToString());
                requestQueryParams.Add("per_page", perPage.ToString());
                requestQueryParams.Add("coneverted", isConverted);
                requestQueryParams.Add("approved", isApproved);
                if (fields != null)
                {
                    requestQueryParams.Add("fields", CommonUtil.CollectionToCommaDelimitedString(fields));
                }
                requestHeaders.Add("If-Modified-Since", modifiedSince);

                BulkAPIResponse <ZCRMRecord> response = APIRequest.GetInstance(this).GetBulkAPIResponse <ZCRMRecord>();

                List <ZCRMRecord> records      = new List <ZCRMRecord>();
                JObject           responseJSON = response.ResponseJSON;
                JArray            recordsArray = (JArray)responseJSON.GetValue("data");
                foreach (JObject recordDetails in recordsArray)
                {
                    ZCRMRecord record = ZCRMRecord.GetInstance(module.ApiName, Convert.ToInt64(recordDetails.GetValue("id")));
                    EntityAPIHandler.GetInstance(record).SetRecordProperties(recordDetails);
                    records.Add(record);
                }
                response.BulkData = records;
                return(response);
            }catch (Exception e)
            {
                //TODO: Log the info;
                Console.WriteLine("Exception in MassEntityAPIHandler.GetRecords");
                Console.WriteLine(e);
                throw new ZCRMException("ZCRM_INTERNA_ERROR", e.ToString());
            }
        }
示例#8
0
 /// <summary>
 /// To get all notes of the records based on sortByField, sortOrder, page, perPage and modifiedSince(Header).
 /// </summary>
 /// <returns>BulkAPIResponse class instance.</returns>
 /// <param name="sortByField">To sort the records based on this field (String)</param>
 /// <param name="sortOrder">Order preference - CommonUtil.SortOrder {asc/desc} <example>CommonUtil.SortOrder.asc</example></param>
 /// <param name="page">Starting page index (Integer)</param>
 /// <param name="perPage">Number of records per page (Integer)</param>
 /// <param name="modifiedSince">DateTime(ISO8601 format) to display notes which are modified after the given input datetime (String)</param>
 public BulkAPIResponse <ZCRMNote> GetNotes(string sortByField, CommonUtil.SortOrder?sortOrder, int page, int perPage, string modifiedSince)
 {
     return(ZCRMModuleRelation.GetInstance(this, "Notes").GetNotes(sortByField, sortOrder, page, perPage, modifiedSince));
 }
示例#9
0
 /// <summary>
 /// To get all notes of the records based on sortByField and sortOrder.
 /// </summary>
 /// <returns>BulkAPIResponse class instance.</returns>
 /// <param name="sortByField">To sort the records based on this field (String)</param>
 /// <param name="sortOrder">Order preference - CommonUtil.SortOrder {asc/desc} <example>CommonUtil.SortOrder.asc</example></param>
 public BulkAPIResponse <ZCRMNote> GetNotes(string sortByField, CommonUtil.SortOrder?sortOrder)
 {
     return(GetNotes(sortByField, sortOrder, 1, 20, null));
 }
示例#10
0
 /// <summary>
 /// To get all related list records based on related List APIName, sortByField, sortOrder, page, perPage and modifiedSince.
 /// </summary>
 /// <returns>BulkAPIResponse&lt;ZCRMRecord&gt; class instance.</returns>
 /// <param name="relatedListAPIName">APIName (String) of the record related list.</param>
 /// <param name="sortByField">To sort the records based on this field (String)</param>
 /// <param name="sortOrder">Order preference - CommonUtil.SortOrder {asc/desc} <example>CommonUtil.SortOrder.asc</example></param>
 /// <param name="page">Starting page index (Integer)</param>
 /// <param name="perPage">Number of records per page (Integer)</param>
 /// <param name="modifiedSince">DateTime to display records which are modified after the given input datetime (String)</param>
 public BulkAPIResponse <ZCRMRecord> GetRelatedListRecords(string relatedListAPIName, string sortByField, CommonUtil.SortOrder?sortOrder, int page, int perPage, string modifiedSince)
 {
     return(ZCRMModuleRelation.GetInstance(this, relatedListAPIName).GetRecords(sortByField, sortOrder, page, perPage, modifiedSince));
 }
示例#11
0
 /// <summary>
 /// To get all related list records based on related List APIName, sortByField and sortOrder
 /// </summary>
 /// <returns>BulkAPIResponse&lt;ZCRMRecord&gt; class instance.</returns>
 /// <param name="relatedListAPIName">APIName (String) of the record related list.</param>
 /// <param name="sortByField">To sort the records based on this field (String)</param>
 /// <param name="sortOrder">Order preference - CommonUtil.SortOrder {asc/desc} <example>CommonUtil.SortOrder.asc</example></param>
 public BulkAPIResponse <ZCRMRecord> GetRelatedListRecords(string relatedListAPIName, string sortByField, CommonUtil.SortOrder?sortOrder)
 {
     return(GetRelatedListRecords(relatedListAPIName, sortByField, sortOrder, 1, 20, null));
 }
示例#12
0
 /// <summary>
 /// To get records of the custom view based on sortByField, sortOrderField,page, perPage, modifiedSince(Header) and selected fields information.
 /// </summary>
 /// <returns>BulkAPIResponse&lt;ZCRMRecord&gt; class instance.</returns>
 /// <param name="sortByField">To sort the records based on this field (String)</param>
 /// <param name="sortOrder">Order preference - CommonUtil.SortOrder {asc/desc} <example>CommonUtil.SortOrder.asc</example></param>
 /// <param name="page">Starting page index (Integer)</param>
 /// <param name="perPage">Number of records per page (Integer)</param>
 /// <param name="modifiedSince">DateTime(ISO8601 format) to display records which are modified after the given input datetime (String)</param>
 /// <param name="recordFields">List of field API names (String)</param>
 public BulkAPIResponse <ZCRMRecord> GetRecords(string sortByField, CommonUtil.SortOrder?sortOrder, int page, int perPage, string modifiedSince, List <string> recordFields)
 {
     return(ZCRMModule.GetInstance(moduleAPIName).GetRecords(Convert.ToInt64(Id), sortByField, sortOrder, page, perPage, modifiedSince, recordFields));
 }
示例#13
0
 /// <summary>
 /// To get records of the custom view based on sortByField, sortOrder and selected fields information.
 /// </summary>
 /// <returns>BulkAPIResponse&lt;ZCRMRecord&gt; class instance.</returns>
 /// <param name="sortByField">To sort the records based on this field (String)</param>
 /// <param name="sortOrder">Order preference - CommonUtil.SortOrder {asc/desc} <example>CommonUtil.SortOrder.asc</example></param>
 /// <param name="recordFields">List of field API names (String)</param>
 public BulkAPIResponse <ZCRMRecord> GetRecords(string sortByField, CommonUtil.SortOrder?sortOrder, List <string> recordFields)
 {
     return(GetRecords(sortByField, sortOrder, 1, 200, null, recordFields));
 }
示例#14
0
 /// <summary>
 /// To get all notes of the module relation records based on sortByField, sortOrder, page, perPage and modifiedSince(Header).
 /// </summary>
 /// <returns>BulkAPIResponse&lt;ZCRMRecord&gt; class instance.</returns>
 /// <param name="sortByField">To sort the records based on this field (String)</param>
 /// <param name="sortOrder">Order preference - CommonUtil.SortOrder {asc/desc} <example>CommonUtil.SortOrder.asc</example></param>
 /// <param name="page">Starting page index (Integer)</param>
 /// <param name="perPage">Number of records per page (Integer)</param>
 /// <param name="modifiedSince">DateTime(ISO8601 format) to display notes which are modified after the given input datetime (String)</param>
 public BulkAPIResponse <ZCRMNote> GetNotes(String sortByField, CommonUtil.SortOrder?sortOrder, int page, int perPage, String modifiedSince)
 {
     return(RelatedListAPIHandler.GetInstance(parentRecord, this).GetNotes(sortByField, sortOrder, page, perPage, modifiedSince));
 }