public async Task UpdateCompanyAsync([FromForm] CompanyRequest input) { var user = await GetCurrentUserAsync(); bool checkExits = await WorkScope.GetAll <Company>() .AnyAsync(x => x.Name == input.Name && x.Id != input.Id); if (checkExits) { throw new UserFriendlyException("Tên công ty đã tồn tại!"); } var company = await WorkScope.GetAll <Company>() .WhereIf(user.UserType == UserType.Hr, x => x.UserId == user.Id) .Include(x => x.Posts) .FirstOrDefaultAsync(x => x.Id == input.Id); if (company == default) { throw new UserFriendlyException("Công ty không thể sửa"); } ObjectMapper.Map(input, company); company.CompanyUrl = company.Name.RemoveSign4VietnameseString().ToIdentifier(); foreach (var item in company.Posts) { item.PostUrl = $"{item.Title.RemoveSign4VietnameseString().ToIdentifier()}-{company.CompanyUrl}"; } await WorkScope.UpdateRangeAsync(company.Posts); await WorkScope.UpdateAsync(company); if (input.HashtagDeletes != null) { await DeleteHashtags(company.Id, input.HashtagDeletes); } if (input.BranchJobCompanyDeletes != null) { await DeleteBranchJobCompanies(company.Id, input.BranchJobCompanyDeletes); } if (input.ImageDeletes != null) { await DeleteImages(company.Id, input.ImageDeletes); } await SaveImageHashtagAndCompanyJob(input.Id.Value, input.Files, input.Thumbnail, input.HashtagIds, input.BranchJobCompanyIds); }