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); }
async Task <ServiceResponse <List <GetCompanyPostAdminDto> > > ICompanyPostService.CreateCompanyPost(CreateCompanyPostDto companyPostDto) { ServiceResponse <List <GetCompanyPostAdminDto> > response = new ServiceResponse <List <GetCompanyPostAdminDto> >(); Company companyOfPost = await _context.Companies.FirstOrDefaultAsync(a => a.companyId == companyPostDto.companyId); CompanyUser companyUserOfPost = await _context.CompanyUsers.FirstOrDefaultAsync(a => a.companyUserId == companyPostDto.companyUserId); if (companyOfPost == null) { response.Success = false; response.Message = "The company for this post does not exist"; return(response); } if (companyUserOfPost == null) { response.Success = false; response.Message = "The poster of the post does not exist"; return(response); } string finalString = new IDGenerator.IDGenerator().generate(); string lastUpdated = DateTime.Now.ToString(); CompanyPost newPost = new CompanyPost(finalString, companyPostDto.companyId, companyPostDto.companyUserId, companyOfPost.companyName, companyPostDto.postTitle, companyPostDto.postSubTitle, companyPostDto.postDescription, companyPostDto.videoUrl, companyPostDto.links, lastUpdated, companyPostDto.approvedBy, companyPostDto.validTill, true); await _context.CompanyPosts.AddAsync(newPost); 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); }
public Guid add(CompanyPost c) { var company = new Company() { ID = Guid.NewGuid(), Name = c.Name, CreateTime = DateTime.Now, UpdateTime = DateTime.Now }; var result = this._repository.Create(company); return((Guid)result); }
async Task <ServiceResponse <List <GetCompanyPostAdminDto> > > ICompanyPostService.DeleteCompanyPost(string postId) { ServiceResponse <List <GetCompanyPostAdminDto> > response = new ServiceResponse <List <GetCompanyPostAdminDto> >(); CompanyPost deletedPost = await _context.CompanyPosts.FirstOrDefaultAsync(async => async.companyPostId == postId); if (deletedPost == null) { response.Success = false; response.Message = "The post you want to delete does not exist"; return(response); } _context.CompanyPosts.RemoveRange(deletedPost); 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); }
async Task <ServiceResponse <GetCompanyPostAdminDto> > ICompanyPostService.UnarchiveCompanyPost(string postId) { ServiceResponse <GetCompanyPostAdminDto> response = new ServiceResponse <GetCompanyPostAdminDto>(); CompanyPost post = await _context.CompanyPosts.FirstOrDefaultAsync(async => async.companyPostId == postId); if (post == null) { response.Success = false; response.Message = "The post you wish to archive does not exist"; return(response); } post.unarchivePost(); _context.CompanyPosts.Update(post); await _context.SaveChangesAsync(); GetCompanyPostAdminDto companyPostAdminDto = new GetCompanyPostAdminDto(post.companyPostId, post.companyUserId, post.companyId, post.companyName, post.postTitle, post.postSubTitle, post.postDescription, post.videoUrl, post.links, post.lastUpdated, post.approvedBy, post.validTill, post.isActive); response.Data = companyPostAdminDto; return(response); }
public Guid Post([FromBody] CompanyPost company) { return(this._service.add(company)); }