示例#1
0
 public async Task<GroupTicketExportResponse> GetInrementalTicketExportAsync(DateTimeOffset startTime, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     return await GenericPagedGetAsync<GroupTicketExportResponse>(_incremental_export + startTime.UtcDateTime.GetEpoch());
 }
示例#2
0
 public GroupTicketResponse GetAllTickets(int? perPage = null, int? page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(_tickets + ".json", sideLoadOptions);
     return GenericPagedGet<GroupTicketResponse>(resource, perPage, page);
 }
示例#3
0
 public IndividualTicketResponse GetTicket(long id, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}.json", _tickets, id), sideLoadOptions);
     return GenericGet<IndividualTicketResponse>(string.Format("{0}/{1}.json", _tickets, id));
 }
示例#4
0
        /// <summary>
        /// Gets the tickets that have changed since a certain time.
        /// </summary>
        /// <param name="startTime">Return tickets that have changed since this time.</param>
        /// <param name="sideLoadOptions">Retrieve related records as part of this request.</param>
        /// <returns>Tickets that have changed since the given startTime.</returns>
        /// <remarks>
        /// The incremental api will return a maximum of 1000 items.  If the ticket count in the
        /// result is 1000, use the nextPage value of the result to request the next set of items.
        /// Keep repeating the request using the nextPage value until the number of tickets in the
        /// response is less than 1000.
        /// </remarks>
        public GroupTicketExportResponse GetIncrementalTicketExport(DateTimeOffset startTime, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            var resource =
                GetResourceStringWithSideLoadOptionsParam(
                    _incremental_export + startTime.UtcDateTime.GetEpoch(),
                    sideLoadOptions);

            return GenericGet<GroupTicketExportResponse>(resource);
        }
示例#5
0
 public async Task<GroupTicketResponse> GetTicketsByExternalIdAsync(string externalId, int? perPage = null, int? page = null, string sortCol = null, bool? sortAscending = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(_tickets + ".json?external_id=" + externalId, sideLoadOptions);
     return await GenericPagedSortedGetAsync<GroupTicketResponse>(resource, perPage, page, sortCol, sortAscending);
 }
示例#6
0
        public async Task <GroupTicketResponse> GetMultipleTicketsAsync(IEnumerable <long> ids, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/show_many.json?ids={1}", _tickets, ids.ToCsv()), sideLoadOptions);

            return(await GenericGetAsync <GroupTicketResponse>(resource));
        }
示例#7
0
 public GroupTicketExportResponse __TestOnly__GetIncrementalTicketExport(DateTimeOffset startTime, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     return(GenericGet <GroupTicketExportResponse>("incremental/tickets/sample.json?start_time=" + startTime.UtcDateTime.GetEpoch()));
 }
示例#8
0
 public async Task<GroupTicketResponse> GetTicketsWhereUserIsCopiedAsync(long userId, int? perPage = null, int? page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("users/{0}/tickets/ccd.json", userId), sideLoadOptions);
     return await GenericPagedGetAsync<GroupTicketResponse>(resource, perPage, page);
 }
示例#9
0
 public GroupTicketExportResponse GetInrementalTicketExport(DateTimeOffset startTime, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     return(GenericGet <GroupTicketExportResponse>(_incremental_export + startTime.UtcDateTime.GetEpoch()));
 }
示例#10
0
        /// <summary>
        /// Gets the tickets that have changed since a certain time.
        /// </summary>
        /// <param name="startTime">Return tickets that have changed since this time.</param>
        /// <param name="sideLoadOptions">Retrieve related records as part of this request.</param>
        /// <returns>Tickets that have changed since the given startTime.</returns>
        /// <remarks>
        /// The incremental api will return a maximum of 1000 items.  If the ticket count in the
        /// result is 1000, use the nextPage value of the result to request the next set of items.
        /// Keep repeating the request using the nextPage value until the number of tickets in the
        /// response is less than 1000.
        /// </remarks>
        public GroupTicketExportResponse GetIncrementalTicketExport(DateTimeOffset startTime, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            var resource =
                GetResourceStringWithSideLoadOptionsParam(
                    _incremental_export + startTime.UtcDateTime.GetEpoch(),
                    sideLoadOptions);

            return(GenericGet <GroupTicketExportResponse>(resource));
        }
示例#11
0
        public GroupTicketResponse GetMultipleTickets(IEnumerable <long> ids, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam($"{_tickets}/show_many.json?ids={ids.ToCsv()}", sideLoadOptions);

            return(GenericGet <GroupTicketResponse>(resource));
        }
示例#12
0
        public GroupCommentResponse GetTicketComments(long ticketId, int?perPage = null, int?page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam($"{_tickets}/{ticketId}/comments.json", sideLoadOptions);

            return(GenericPagedGet <GroupCommentResponse>(resource, perPage, page));
        }
示例#13
0
        public IndividualTicketResponse GetTicket(long id, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam($"{_tickets}/{id}.json", sideLoadOptions);

            return(GenericGet <IndividualTicketResponse>(resource));
        }
示例#14
0
 public GroupTicketResponse GetTicketsByOrganizationID(long id, int pageNumber, int itemsPerPage, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}/{2}.json", _organizations, id, _tickets), sideLoadOptions);
     return GenericPagedGet<GroupTicketResponse>(resource, itemsPerPage, pageNumber);
 }
示例#15
0
        public async Task <GroupTicketResponse> GetTicketsByViewIDAsync(long viewId, int?perPage = null, int?page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam($"{_views}/{viewId}/{_tickets}.json", sideLoadOptions);

            return(await GenericPagedGetAsync <GroupTicketResponse>(resource, perPage, page));
        }
示例#16
0
 public async Task<GroupTicketResponse> GetTicketsByOrganizationIDAsync(long id, int? perPage = null, int? page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}/{2}.json", _organizations, id, _tickets), sideLoadOptions);
     return await GenericPagedGetAsync<GroupTicketResponse>(resource, perPage, page);
 }
示例#17
0
        public async Task <GroupTicketResponse> GetAssignedTicketsByUserIDAsync(long userId, int?perPage = null, int?page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam($"users/{userId}/tickets/assigned.json", sideLoadOptions);

            return(await GenericPagedGetAsync <GroupTicketResponse>(resource, perPage, page));
        }
示例#18
0
 public async Task<GroupCommentResponse> GetTicketCommentsAsync(long ticketId, int? perPage = null, int? page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}/comments.json", _tickets, ticketId), sideLoadOptions);
     return await GenericPagedGetAsync<GroupCommentResponse>(resource, perPage, page);
 }
示例#19
0
 public async Task <GroupTicketExportResponse> GetInrementalTicketExportAsync(DateTimeOffset startTime, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     return(await GenericPagedGetAsync <GroupTicketExportResponse>(_incremental_export + startTime.UtcDateTime.GetEpoch()));
 }
示例#20
0
        public GroupTicketResponse GetTicketsWhereUserIsCopied(long userId, int?perPage = null, int?page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam($"users/{userId}/tickets/ccd.json", sideLoadOptions);

            return(GenericPagedGet <GroupTicketResponse>(resource, perPage, page));
        }
示例#21
0
 /// <summary>
 /// Since the other method can only be called once every 5 minutes it is not sutable for Automated tests.
 /// </summary>
 /// <param name="startTime"></param>
 /// <param name="sideLoadOptions"></param>
 /// <returns></returns>
 public async Task <GroupTicketExportResponse> __TestOnly__GetInrementalTicketExportAsync(DateTimeOffset startTime, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     return(await GenericPagedGetAsync <GroupTicketExportResponse>("incremental/tickets/sample.json?start_time=" + startTime.UtcDateTime.GetEpoch()));
 }
示例#22
0
 public GroupTicketResponse GetTicketsByOrganizationID(long id, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}/{2}.json", _organizations, id, _tickets), sideLoadOptions);
     return GenericGet<GroupTicketResponse>(string.Format("{0}/{1}/{2}.json", _organizations, id, _tickets));
 }
示例#23
0
        public GroupTicketResponse GetAllTickets(int?perPage = null, int?page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam(_tickets + ".json", sideLoadOptions);

            return(GenericPagedGet <GroupTicketResponse>(resource, perPage, page));
        }
示例#24
0
 public GroupTicketExportResponse GetInrementalTicketExport(DateTimeOffset startTime, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     return GenericGet<GroupTicketExportResponse>(_incremental_export + startTime.UtcDateTime.GetEpoch());
 }
示例#25
0
        public GroupTicketResponse GetTicketsByViewID(long viewId, int?perPage = null, int?page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}/{2}.json", _views, viewId, _tickets), sideLoadOptions);

            return(GenericPagedGet <GroupTicketResponse>(resource, perPage, page));
        }
示例#26
0
 public GroupTicketExportResponse __TestOnly__GetIncrementalTicketExport(DateTimeOffset startTime, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     return GenericGet<GroupTicketExportResponse>("incremental/tickets/sample.json?start_time=" + startTime.UtcDateTime.GetEpoch());
 }
示例#27
0
        public GroupTicketResponse GetTicketsByOrganizationID(long id, int pageNumber, int itemsPerPage, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}/{2}.json", _organizations, id, _tickets), sideLoadOptions);

            return(GenericPagedGet <GroupTicketResponse>(resource, itemsPerPage, pageNumber));
        }
示例#28
0
 /// <summary>
 /// Since the other method can only be called once every 5 minutes it is not sutable for Automated tests.
 /// </summary>
 /// <param name="startTime"></param>
 /// <param name="sideLoadOptions"></param>
 /// <returns></returns>
 public async Task<GroupTicketExportResponse> __TestOnly__GetInrementalTicketExportAsync(DateTimeOffset startTime, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     return await GenericPagedGetAsync<GroupTicketExportResponse>("incremental/tickets/sample.json?start_time=" + startTime.UtcDateTime.GetEpoch());
 }
示例#29
0
        public GroupTicketResponse GetTicketsByUserID(long userId, int?perPage = null, int?page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("users/{0}/tickets/requested.json", userId), sideLoadOptions);

            return(GenericPagedGet <GroupTicketResponse>(resource, perPage, page));
        }
示例#30
0
 public GroupTicketResponse GetTicketsByViewID(long viewId, int? perPage = null, int? page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}/{2}.json", _views, viewId, _tickets), sideLoadOptions);
     return GenericPagedGet<GroupTicketResponse>(resource, perPage, page);
 }
示例#31
0
        public async Task <GroupTicketResponse> GetTicketsByOrganizationIDAsync(long id, int?perPage = null, int?page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}/{2}.json", _organizations, id, _tickets), sideLoadOptions);

            return(await GenericPagedGetAsync <GroupTicketResponse>(resource, perPage, page));
        }
示例#32
0
 public GroupTicketResponse GetTicketsByUserID(long userId, int? perPage = null, int? page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("users/{0}/tickets/requested.json", userId), sideLoadOptions);
     return GenericPagedGet<GroupTicketResponse>(resource, perPage, page);
 }
示例#33
0
        public async Task <GroupTicketResponse> GetRecentTicketsAsync(int?perPage = null, int?page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam("tickets/recent.json", sideLoadOptions);

            return(await GenericPagedGetAsync <GroupTicketResponse>(resource, perPage, page));
        }
示例#34
0
 public async Task<GroupTicketResponse> GetRecentTicketsAsync(int? perPage = null, int? page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam("tickets/recent.json", sideLoadOptions);
     return await GenericPagedGetAsync<GroupTicketResponse>(resource, perPage, page);
 }
示例#35
0
        public async Task <GroupTicketResponse> GetTicketsWhereUserIsCopiedAsync(long userId, int?perPage = null, int?page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("users/{0}/tickets/ccd.json", userId), sideLoadOptions);

            return(await GenericPagedGetAsync <GroupTicketResponse>(resource, perPage, page));
        }
示例#36
0
 public async Task<IndividualTicketResponse> GetTicketAsync(long id, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}.json", _tickets, id), sideLoadOptions);
     return await GenericGetAsync<IndividualTicketResponse>(resource);
 }
示例#37
0
        public async Task <IndividualTicketResponse> GetTicketAsync(long id, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}.json", _tickets, id), sideLoadOptions);

            return(await GenericGetAsync <IndividualTicketResponse>(resource));
        }
示例#38
0
 public async Task<GroupTicketResponse> GetMultipleTicketsAsync(IEnumerable<long> ids, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
 {
     string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/show_many.json?ids={1}", _tickets, ids.ToCsv()), sideLoadOptions);
     return await GenericGetAsync<GroupTicketResponse>(resource);
 }
示例#39
0
        public async Task <GroupCommentResponse> GetTicketCommentsAsync(long ticketId, int?perPage = null, int?page = null, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam(string.Format("{0}/{1}/comments.json", _tickets, ticketId), sideLoadOptions);

            return(await GenericPagedGetAsync <GroupCommentResponse>(resource, perPage, page));
        }
示例#40
0
        private string GetResourceStringWithSideLoadOptionsParam(string resource, TicketSideLoadOptionsEnum sideLoadOptions)
        {
            if (sideLoadOptions != TicketSideLoadOptionsEnum.None)
            {
                if (sideLoadOptions.HasFlag(TicketSideLoadOptionsEnum.None))
                    sideLoadOptions &= ~TicketSideLoadOptionsEnum.None;

                string sideLoads = sideLoadOptions.ToString().ToLower().Replace(" ", "");
                resource += (resource.Contains("?") ? "&" : "?") + "include=" + sideLoads;
                return resource;
            }

            return resource;
        }
示例#41
0
        public GroupTicketResponse GetTicketsByOrganizationID(long id, TicketSideLoadOptionsEnum sideLoadOptions = TicketSideLoadOptionsEnum.None)
        {
            string resource = GetResourceStringWithSideLoadOptionsParam($"{_organizations}/{id}/{_tickets}.json", sideLoadOptions);

            return(GenericGet <GroupTicketResponse>(resource));
        }