Ejemplo n.º 1
0
    /// <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&lt;IResponse&lt;Entity&gt;&gt;.</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;
    }
Ejemplo n.º 2
0
        /// <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&lt;IResponse&lt;Entity&gt;&gt;.</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);
        }
Ejemplo n.º 3
0
        /// <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));
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
 /// <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&lt;IResponse&lt;System.Boolean&gt;&gt;.</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();
 }
Ejemplo n.º 6
0
 /// <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&lt;IResponse&lt;System.Boolean&gt;&gt;.</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();
 }