/// <summary> /// Create the room /// </summary> /// <param name="name">The name.</param> /// <param name="owner">The owner.</param> /// <param name="privacy">The privacy.</param> /// <param name="guestAccess">if set to <c>true</c> [guest access].</param> /// <returns>Task<IResponse<Entity>>.</returns> /// <exception cref="System.NotImplementedException"></exception> public async Task<IResponse<bool>> CreateAsync(string name, string owner, RoomPrivacy privacy = RoomPrivacy.Public, bool guestAccess = false) { Validate.Length(name, 100, "Room Name"); Validate.Mention(owner, "Owner"); var room = new CreateRoom { Name = name, OwnerUserId = owner, GuestAccess = guestAccess, Privacy = privacy }; var json = JsonConvert.SerializeObject(room, Formatting.None, _jsonSettings); var payload = new StringContent(json, Encoding.UTF8, "application/json"); var result = await ApiConnection.Client.PostAsync("room", payload); var rawResponse = await result.Content.ReadAsStringAsync(); var response = new Response<bool>(true) { Code = result.StatusCode, Body = rawResponse, ContentType = result.Content.Headers.ContentType.MediaType }; return response; }
/// <summary> /// Create the room /// </summary> /// <param name="name">The name.</param> /// <param name="owner">The owner.</param> /// <param name="privacy">The privacy.</param> /// <param name="guestAccess">if set to <c>true</c> [guest access].</param> /// <returns>Task<IResponse<Entity>>.</returns> /// <exception cref="System.NotImplementedException"></exception> public async Task <IResponse <bool> > CreateAsync(string name, string owner, RoomPrivacy privacy = RoomPrivacy.Public, bool guestAccess = false) { Validate.Length(name, 100, "Room Name"); Validate.Mention(owner, "Owner"); var room = new CreateRoom { Name = name, OwnerUserId = owner, GuestAccess = guestAccess, Privacy = privacy }; var json = JsonConvert.SerializeObject(room, Formatting.None, _jsonSettings); var payload = new StringContent(json, Encoding.UTF8, "application/json"); var result = await ApiConnection.Client.PostAsync("room", payload); var rawResponse = await result.Content.ReadAsStringAsync(); var response = new Response <bool>(true) { Code = result.StatusCode, Body = rawResponse, ContentType = result.Content.Headers.ContentType.MediaType }; return(response); }
/// <summary> /// Creates a new room /// </summary> /// <param name="nameOfRoom">Name of the room. Valid Length 1-50</param> /// <param name="guestAccess">Whether or not to enable guest access for this room</param> /// <param name="ownerUserId">The id, email address, or mention name (beginning with an '@') of /// the room's owner. Defaults to the current user.</param> /// <param name="privacy">Whether the room is available for access by other users or not</param> /// <returns>response containing id and link of the created room</returns> /// <remarks> /// Auth required with scope 'manage_rooms'. https://api.hipchat.com/v2/room /// </remarks> public HipchatCreateRoomResponse CreateRoom(string nameOfRoom, bool guestAccess = false, string ownerUserId = null, RoomPrivacy privacy = RoomPrivacy.Public) { using (JsonSerializerConfigScope()) { var request = new CreateRoomRequest { GuestAccess = guestAccess, Name = nameOfRoom, OwnerUserId = ownerUserId, Privacy = privacy }; return(CreateRoom(request)); } }
public HipchatCreateRoomResponse CreateRoom(string nameOfRoom, bool guestAccess = false, string ownerUserId = null, RoomPrivacy privacy = RoomPrivacy.Public) { using (JsonSerializerConfigScope()) { var request = new CreateRoomRequest { GuestAccess = guestAccess, Name = nameOfRoom, OwnerUserId = ownerUserId, Privacy = privacy }; return CreateRoom(request); } }
/// <summary> /// Update the room /// </summary> /// <param name="name">The name.</param> /// <param name="privacy">The privacy.</param> /// <param name="isArchived">if set to <c>true</c> [is archived].</param> /// <param name="guestAccess">if set to <c>true</c> [guest access].</param> /// <param name="owner">The owner.</param> /// <returns>Task<IResponse<System.Boolean>>.</returns> /// <exception cref="System.NotImplementedException"></exception> public async Task<IResponse<bool>> UpdateAsync(string name, RoomPrivacy privacy = RoomPrivacy.Public, bool isArchived = false, bool guestAccess = false, string owner = null) { throw new NotImplementedException(); }
/// <summary> /// Update the room /// </summary> /// <param name="name">The name.</param> /// <param name="privacy">The privacy.</param> /// <param name="isArchived">if set to <c>true</c> [is archived].</param> /// <param name="guestAccess">if set to <c>true</c> [guest access].</param> /// <param name="owner">The owner.</param> /// <returns>Task<IResponse<System.Boolean>>.</returns> /// <exception cref="System.NotImplementedException"></exception> public async Task <IResponse <bool> > UpdateAsync(string name, RoomPrivacy privacy = RoomPrivacy.Public, bool isArchived = false, bool guestAccess = false, string owner = null) { throw new NotImplementedException(); }