/// <summary> /// Returns a list of conferences within an account. The list includes paging information and is sorted by DateUpdated, with most recent conferences first. /// </summary> /// <param name="options">List filter options. Only properties with values are included in request.</param> /// <param name="callback">Method to call upon successful completion</param> public virtual void ListConferences(ConferenceListRequest options, Action<ConferenceResult> callback) { var request = new RestRequest(); request.Resource = "Accounts/{AccountSid}/Conferences.json"; AddConferenceListOptions(options, request); ExecuteAsync<ConferenceResult>(request, (response) => callback(response)); }
/// <summary> /// Returns a list of conferences within an account. /// The list includes paging information. /// Makes a POST request to the Conferences List resource. /// </summary> /// <param name="options">List filter options. Only properties with values are included in request.</param> public virtual async Task<ConferenceResult> ListConferencesAsync(ConferenceListRequest options) { var request = new RestRequest(); request.Resource = "Accounts/{AccountSid}/Conferences.json"; AddConferenceListOptions(options, request); return await Execute<ConferenceResult>(request); }
private async Task<ConferenceResult> ListConferencesAsyncInternal(ConferenceListRequest options) { var request = new RestRequest(); request.Resource = "Accounts/{AccountSid}/Conferences.json"; AddConferenceListOptions(options, request); var result = await ExecuteAsync(request, typeof(ConferenceResult)); return (ConferenceResult)result; }
private void AddConferenceListOptions(ConferenceListRequest options, RestRequest request) { if (options.Status.HasValue()) request.AddParameter("Status", options.Status); if (options.FriendlyName.HasValue()) request.AddParameter("FriendlyName", options.FriendlyName); var dateCreatedParameterName = GetParameterNameWithEquality(options.DateCreatedComparison, "DateCreated"); var dateUpdatedParameterName = GetParameterNameWithEquality(options.DateUpdatedComparison, "DateUpdated"); if (options.DateCreated.HasValue) request.AddParameter(dateCreatedParameterName, options.DateCreated.Value.ToString("yyyy-MM-dd")); if (options.DateUpdated.HasValue) request.AddParameter(dateUpdatedParameterName, options.DateUpdated.Value.ToString("yyyy-MM-dd")); if (options.Count.HasValue) request.AddParameter("PageSize", options.Count.Value); if (options.PageNumber.HasValue) request.AddParameter("Page", options.PageNumber.Value); }
static void Main(string[] args) { // Find your Account Sid and Auth Token at twilio.com/user/account string AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; string AuthToken = "your_auth_token"; var twilio = new TwilioRestClient(AccountSid, AuthToken); var request = new ConferenceListRequest(); var conferences = twilio.ListConferences(request); foreach (var conference in conferences.Conferences) { Console.WriteLine(conference.Status); } }
static void Main(string[] args) { // Find your Account Sid and Auth Token at twilio.com/user/account string AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; string AuthToken = "your_auth_token"; var twilio = new TwilioRestClient(AccountSid, AuthToken); var request = new ConferenceListRequest(); request.Status = "in-progress"; request.DateCreatedComparison = ComparisonType.GreaterThanOrEqualTo; request.DateCreated = new DateTime(2009, 07, 06); var conferences = twilio.ListConferences(request); foreach (var conference in conferences.Conferences) { Console.WriteLine(conference.Status); } }
/// <summary> /// Returns a list of conferences within an account. /// The list includes paging information and is sorted by DateUpdated, with most recent conferences first. /// Makes a POST request to the Conferences List resource. /// </summary> /// <param name="options">List filter options. Only properties with values are included in request.</param> public IAsyncOperation<ConferenceResult> ListConferencesAsync(ConferenceListRequest options) { return (IAsyncOperation<ConferenceResult>)AsyncInfo.Run((System.Threading.CancellationToken ct) => ListConferencesAsyncInternal(options)); }
/// <summary> /// Returns a list of conferences within an account. /// The list includes paging information and is sorted by DateUpdated, with most recent conferences first. /// Makes a POST request to the Conferences List resource. /// </summary> /// <param name="options">List filter options. Only properties with values are included in request.</param> public ConferenceResult ListConferences(ConferenceListRequest options) { var request = new RestRequest(); request.Resource = "Accounts/{AccountSid}/Conferences.json"; AddConferenceListOptions(options, request); return Execute<ConferenceResult>(request); }
/// <summary> /// End conference /// </summary> /// <param name="conferenceName"></param> /// <param name="callId"></param> public void EndConference(string conferenceName, Guid callId) { // Get call info var call = Get(callId); // Update end time UpdateConferenceTime(callId, false); // Get conference by conference friendly name var request = new ConferenceListRequest(); request.Status = CallStatus.InProgress; request.FriendlyName = conferenceName; var conferences = Client.ListConferences(request); foreach (var conference in conferences.Conferences) { if (conferenceName.Equals(conference.FriendlyName)) { // Kick caller and reciever Client.KickConferenceParticipant(conference.Sid, call.CallerSid); Client.KickConferenceParticipant(conference.Sid, call.ReceiverSid); } } }
/// <summary> /// Returns a list of conferences within an account. /// The list includes paging information and is sorted by DateUpdated, with most recent conferences first. /// Makes a POST request to the Conferences List resource. /// </summary> /// <param name="options">List filter options. Only properties with values are included in request.</param> public IAsyncOperation <ConferenceResult> ListConferencesAsync(ConferenceListRequest options) { return((IAsyncOperation <ConferenceResult>)AsyncInfo.Run((System.Threading.CancellationToken ct) => ListConferencesAsyncInternal(options))); }