public IHttpActionResult DangKiTheoDoi(int hoatDongId) { var hoatDong = _context.DanhSachHoatDong.Include(hd => hd.DanhSachSinhVienTheoDoi) .SingleOrDefault(hd => hd.Id == hoatDongId); if (hoatDong == null) { return(NotFound()); } var sinhVienId = User.Identity.GetSinhVienId(); if (sinhVienId == 0) { return(NotFound()); } var daCoTheoDoi = hoatDong.DanhSachSinhVienTheoDoi.Any(tghd => tghd.SinhVienId == sinhVienId); if (daCoTheoDoi) { return(BadRequest("Bạn đã theo dõi hoạt động này.")); } var luotTheoDoi = new TheoDoiHoatDong(hoatDongId, sinhVienId); hoatDong.ThemLuotTheoDoi(luotTheoDoi); _context.SaveChanges(); return(Ok()); }
public IHttpActionResult DangKiThamGia(int hoatDongId) { var hoatDong = _context.DanhSachHoatDong.Include(hd => hd.DanhSachSinhVienThamGia) .Include(hd => hd.DanhSachSinhVienTheoDoi) .SingleOrDefault(hd => hd.Id == hoatDongId); if (hoatDong == null) { return(NotFound()); } if (hoatDong.BiHuy) { return(BadRequest("Hoạt động đã bị hủy, không thể đăng kí tham gia.")); } if (!hoatDong.DuocPheDuyet) { return(BadRequest("Hoạt động chưa được duyệt, không thể đăng kí tham gia.")); } var userId = User.Identity.GetUserId(); var sinhVien = _context.SinhVien.SingleOrDefault(sv => sv.ApplicationUserId == userId); if (sinhVien == null) { return(NotFound()); } if (sinhVien.LopDangHocId == null) { return(BadRequest("Sinh viên phải đăng kí lớp trước khi đăng kí tham gia hoạt động")); } var daCoLuotDangKi = hoatDong.DanhSachSinhVienThamGia.Any(tghd => tghd.SinhVienId == sinhVien.Id); if (daCoLuotDangKi) { return(BadRequest("Bạn đã đăng kí, hãy chờ xác nhận")); } var daCoTheoDoi = hoatDong.DanhSachSinhVienTheoDoi.Any(tghd => tghd.SinhVienId == sinhVien.Id); if (!daCoTheoDoi) { var luotTheoDoi = new TheoDoiHoatDong(hoatDongId, sinhVien.Id); hoatDong.ThemLuotTheoDoi(luotTheoDoi); } var luotDangKi = new ThamGiaHoatDong(hoatDongId, sinhVien, true); hoatDong.ThemLuotDangKi(luotDangKi); _context.SaveChanges(); return(Ok()); }