// Issue Related Functions // public List <IssueGetResponse> GetIssues(IssueGetFilters Filters) { using (var connection = new SqlConnection(_connectionString)) { connection.Open(); var issueDictionary = new Dictionary <int, IssueGetResponse>(); return(connection .Query <IssueGetResponse, NoteGetResponse, IssueGetResponse>( "EXEC [dbo].[SP_Get_Issues_Filtered] @Id = @Id, @Subject = @Subject, @Priority = @Priority, @Category = @Category, @Department = @Department, @Status = @Status, @Author = @Author, @Assignee = @Assignee", map: (I, N) => { IssueGetResponse issue; if (!issueDictionary.TryGetValue(I.Id, out issue)) { issue = I; issue.Notes = new List <NoteGetResponse>(); issueDictionary.Add(issue.Id, issue); } issue.Notes.Add(N); return issue; }, param: new { Id = Filters.Id, Subject = Filters.Subject, Priority = Filters.Priority, Category = Filters.Category, Department = Filters.Department, Status = Filters.Status, Author = Filters.Author, Assignee = Filters.Assignee }, splitOn: "Id") .Distinct() .ToList()); } }
public IActionResult GetIssues([FromQuery] IssueGetFilters Filters) { if (_userManager.CurrentUser == null) { return(Unauthorized()); } Filters.Author = _userManager.CurrentUser.UUID; List <IssueGetResponse> Data = _dataRepository.GetIssues(Filters); return(Ok(Data)); }