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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
 public Guid Post([FromBody] CompanyPost company)
 {
     return(this._service.add(company));
 }