public async Task <IActionResult> HuyDangKy(long id) { var DeTai = await _service.GetById(id); if (DeTai != null && DeTai.Loai == LoaiDeTai.CoSan) { var nhomSV = await _serviceNhomSV.GetAll(x => x.IddeTai == DeTai.Id); var nhom = nhomSV.First().IdnhomNavigation; if (nhomSV.Count() > 1) { foreach (var item in nhomSV) { await _serviceNhomSV.Delete(item); } await _serviceNhom.Delete(nhom); } else { await _serviceNhomSV.Delete(nhomSV.First()); await _serviceNhom.Delete(nhom); } DeTai.NgayDangKy = null; DeTai.TinhTrangDangKy = (int)StatusDangKyDeTai.Con; DeTai.TinhTrangDeTai = (int)StatusDeTai.DaDuyet; DeTai.IdNguoiDangKy = null; await _service.Update(DeTai); return(Ok(new { status = true, mess = MessageResult.UpdateSuccess })); } else { var nhomSV = await _serviceNhomSV.GetAll(x => x.IddeTai == DeTai.Id); var nhom = nhomSV.First().IdnhomNavigation; if (nhomSV.Count() > 1) { foreach (var item in nhomSV) { await _serviceNhomSV.Delete(item); } await _serviceNhom.Delete(nhom); } else { await _serviceNhomSV.Delete(nhomSV.First()); await _serviceNhom.Delete(nhom); } await _service.Delete(DeTai); return(Ok(new { status = true, mess = MessageResult.UpdateSuccess })); } }