async public Task <IActionResult> createRequest(ApproveCompanyPostRequestDto dto) { ServiceResponse <List <GetCompanyPostAdminDto> > response = await _companyPostRequestService.ApproveCompanyPost(dto); if (response.Success) { return(Ok(response.Data)); } else { return(NotFound(response.Message)); } }
async Task <ServiceResponse <List <GetCompanyPostAdminDto> > > ICompanyPostRequestService.ApproveCompanyPost(ApproveCompanyPostRequestDto toApprove) { ServiceResponse <List <GetCompanyPostAdminDto> > response = new ServiceResponse <List <GetCompanyPostAdminDto> >(); CompanyPostRequest req = await _context.CompanyPostRequests.FirstOrDefaultAsync(a => toApprove.companyPostRequestId == a.companyPostRequestId); Admin admin = await _context.Admins.FirstOrDefaultAsync(a => toApprove.approvedby == a.nusNetId); if (req == null) { response.Success = false; response.Message = "This request does not exist"; return(response); } string companyName = _context.Companies.FirstAsync(a => a.companyId == req.companyId).Result.companyName; string approvedBy = toApprove.approvedby; CompanyPost post = new CompanyPost(req.companyUserId, new ApprovalDto(req, companyName, approvedBy)); _context.CompanyPostRequests.Remove(req); await _context.CompanyPosts.AddAsync(post); await _context.SaveChangesAsync(); List <GetCompanyPostAdminDto> postList = await _context.CompanyPosts.Select(a => new GetCompanyPostAdminDto(a.companyPostId, a.companyUserId, a.companyId, a.companyName, a.postTitle, a.postSubTitle, a.postDescription, a.videoUrl, a.links, a.lastUpdated, a.approvedBy, a.validTill, a.isActive)).ToListAsync(); response.Data = postList; return(response); }