//currently supports updating archived posts, seek clarification async Task <ServiceResponse <List <GetCompanyAdminDto> > > ICompanyService.UpdateCompany(string companyId, UpdateCompanyDto updatedCompanyDto) { ServiceResponse <List <GetCompanyAdminDto> > response = new ServiceResponse <List <GetCompanyAdminDto> >(); Company update = await _context.Companies.FirstOrDefaultAsync(a => a.companyId == companyId); if (update == null) { response.Success = false; response.Message = "This company does not exist"; return(response); } string oldname = update.companyName; update.companyName = updatedCompanyDto.companyName; update.companyTier = updatedCompanyDto.companyTier; update.companyDescription = updatedCompanyDto.companyDescription; if (oldname != update.companyName) { List <CompanyPost> posts = await _context.CompanyPosts.Where(a => a.companyId == companyId).ToListAsync(); if (posts.Count != 0) { posts.ForEach(a => a.companyUpdated(updatedCompanyDto.companyName)); _context.CompanyPosts.UpdateRange(posts); } List <CompanyPostRequest> requests = await _context.CompanyPostRequests.Where(a => a.companyId == companyId).ToListAsync(); if (requests.Count != 0) { requests.ForEach(a => a.companyUpdated(updatedCompanyDto.companyName)); _context.CompanyPostRequests.UpdateRange(requests); } } _context.Companies.Update(update); await _context.SaveChangesAsync(); List <Company> comps = await _context.Companies.ToListAsync(); List <GetCompanyAdminDto> dataList = comps.Select(a => _mapper.Map <GetCompanyAdminDto>(a)).ToList(); response.Data = dataList; return(response); }
public async Task <IActionResult> UpdateCompany([FromBody] UpdateCompanyDto updateCompany) { await _companyService.UpdateCompany(updateCompany); return(Ok()); }