public async Task <IHttpActionResult> GetDocument(string Id) { Guid GId; if (!Guid.TryParse(Id, out GId)) { return(Ok(Id)); } string filename = ""; DocumentMasterDTO omodel = await _documentmasterService.GetById(GId); if (omodel == null) { return(NotFound()); } else { filename = GId.ToString().Replace("-", "").Replace(" ", "") + "_" + omodel.FileName.Replace("-", "").Replace(" ", ""); if (!File.Exists(ConfigurationManager.AppSettings["DownloadPath"].ToString() + filename)) { System.IO.File.WriteAllBytes(ConfigurationManager.AppSettings["DownloadPath"].ToString() + filename, omodel.FileData); } } filename = "Download\\" + filename; return(Ok(filename)); }
/// <summary> /// Converts string to ID. /// </summary> /// <param name="reader">Reader</param> /// <param name="objectType">Type of the object</param> /// <param name="existingValue">Previous property value</param> /// <param name="serializer">Serializer</param> /// <returns>GLongId or GId</returns> public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { string str = (string)reader.Value; if (objectType == id) { return(GId.Parse(str)); } else if (objectType == guid) { return(Guid.Parse(str)); } else { return(reader.Value); } }
/// <summary> /// Gets team with given ID. Sync version of <see cref="GetTeamAsync"/>. /// </summary> /// <param name="id">Team ID</param> /// <returns>Team</returns> public Team GetTeam(GId id) => GetTeamAsync(id).GetAwaiter().GetResult();
/// <summary> /// Gets team with given ID. /// </summary> /// <param name="id">Team ID</param> /// <returns>Team</returns> public async Task <Team> GetTeamAsync(GId id) => JObject.Parse((await ExecuteRequest <object>(new Endpoint($"/teams/{id}", Method.GET))).Content)["team"].ToObject <Team>(GuildedSerializer);
/// <summary> /// Gets user with given ID. Sync version of <see cref="GetUserAsync"/>. /// </summary> /// <param name="id">User ID</param> /// <returns>User</returns> public User GetUser(GId id) => GetUserAsync(id).GetAwaiter().GetResult();
/// <summary> /// Gets user with given ID. /// </summary> /// <param name="id">User ID</param> /// <returns>User</returns> public async Task <User> GetUserAsync(GId id) => JObject.Parse((await ExecuteRequest <object>(new Endpoint($"/users/{id}", Method.GET))).Content)["user"].ToObject <User>(GuildedSerializer);
/// <summary> /// Leaves a specific team. Sync version of <see cref="JoinTeamAsync"/>. /// </summary> /// <param name="team">Team to leave</param> public void LeaveTeam(GId team) => LeaveTeamAsync(team).GetAwaiter().GetResult();
/// <summary> /// List of groups in given team. Sync version of <see cref="GetGroupsAsync"/>. /// </summary> /// <param name="teamId">ID of the team</param> /// <returns>List of groups</returns> public IList <Group> GetGroups(GId teamId) => GetGroupsAsync(teamId).GetAwaiter().GetResult();
/// <summary> /// Joins a specific team. /// </summary> /// <param name="team">Team to join</param> /// <returns>Async task</returns> public async Task JoinTeamAsync(GId team) => await ExecuteRequest <object>(new Endpoint($"teams/{team}/members/{CurrentUser.Id}/join", Method.PUT), new JsonBody("{}"));
/// <summary> /// Deletes a channel in a specific team and group. Sync version of <see cref="DeleteChannelAsync"/>. /// </summary> /// <param name="team">Team to delete channel in</param> /// <param name="group">Group to delete channel in</param> /// <param name="channel">Channel to be deleted</param> public void DeleteChannel(GId team, GId group, Guid channel) => DeleteChannelAsync(team, group, channel).GetAwaiter().GetResult();
/// <summary> /// Deletes a channel in a specific team and group. /// </summary> /// <param name="team">Team to delete channel in</param> /// <param name="group">Group to delete channel in</param> /// <param name="channel">Channel to be deleted</param> /// <returns>Async task</returns> public async Task DeleteChannelAsync(GId team, GId group, Guid channel) => await ExecuteRequest <object>(new Endpoint($"teams/{team}/groups/{group}/channels/{channel}", Method.DELETE));
/// <summary> /// Creates a new channel in a specific team and group. Sync version of <see cref="CreateChannelAsync"/>. /// </summary> /// <param name="team">Team to create channel in</param> /// <param name="group">Group to create channel in</param> /// <param name="type">Channel type</param> /// <param name="public">If channel should be public</param> public void CreateChannel(GId team, GId group, ChannelType type, bool @public, string name) => CreateChannelAsync(team, group, type, @public, name).GetAwaiter().GetResult();
/// <summary> /// Creates a new channel in a specific team and group. /// </summary> /// <param name="team">Team to create channel in</param> /// <param name="group">Group to create channel in</param> /// <param name="type">Channel type</param> /// <param name="public">If channel should be public</param> /// <returns>Async task</returns> public async Task CreateChannelAsync(GId team, GId group, ChannelType type, bool @public, string name) => await ExecuteRequest <object>(new Endpoint($"teams/{team}/groups/{group}/channels", Method.POST), new JsonBody($"{{\"name\": {name}, \"contentType\": {EnumConverter.ConvertTo(type, type.GetType())}, \"isPublic\": {@public}}}"));
/// <summary> /// Accepts an invite. /// </summary> /// <param name="id">ID of the invite to accept</param> public void AcceptInvite(GId id) => AcceptInviteAsync(id).GetAwaiter().GetResult();
/// <summary> /// Accepts an invite. /// </summary> /// <param name="id">ID of the invite to accept</param> /// <returns>Async task</returns> public async Task AcceptInviteAsync(GId id) => await ExecuteRequest <object>(new Endpoint($"/invites/{id}", Method.POST), new JsonBody("{\"type\": \"consume\"}"));
/// <summary> /// List of channels and categories in given team. /// </summary> /// <param name="teamId">ID of the team</param> /// <returns>Channel list</returns> public async Task <Channels> GetChannelsAsync(GId teamId) => JsonConvert.DeserializeObject <Channels>((await ExecuteRequest <object>(new Endpoint($"/teams/{teamId}/channels", Method.GET))).Content, Converters);
/// <summary> /// List of channels and categories in given team. Sync version of <see cref="GetChannelsAsync"/>. /// </summary> /// <param name="teamId">ID of the team</param> /// <returns>Channel list</returns> public Channels GetChannels(GId teamId) => GetChannelsAsync(teamId).GetAwaiter().GetResult();
/// <summary> /// Joins a specific team. Sync version of <see cref="JoinTeamAsync"/>. /// </summary> /// <param name="team">Team to join</param> public void JoinTeam(GId team) => JoinTeamAsync(team).GetAwaiter().GetResult();
/// <summary> /// Leaves a specific team. /// </summary> /// <param name="team">Team to leave</param> /// <returns>Async task</returns> public async Task LeaveTeamAsync(GId team) => await ExecuteRequest <object>(new Endpoint($"teams/{team}/members/{CurrentUser.Id}", Method.DELETE));
/// <summary> /// List of groups in given team. /// </summary> /// <param name="teamId">ID of the team</param> /// <returns>List of groups</returns> public async Task <IList <Group> > GetGroupsAsync(GId teamId) => JArray.Parse((await ExecuteRequest <object>(new Endpoint($"/teams/{teamId}/groups", Method.GET))).Content)["groups"].ToObject <IList <Group> >(GuildedSerializer);