Пример #1
0
        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));
        }
Пример #2
0
        /// <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);