public IHttpActionResult DangKiThanhVien(DangKiThanhVienDto dangKiDto) { var userSinhVienId = User.Identity.GetSinhVienId(); var thanhVien = _context.DanhSachThanhVienDonVi.SingleOrDefault(tv => tv.DonViId == dangKiDto.DonViId && tv.SinhVienId == userSinhVienId); if (thanhVien != null) { return(BadRequest("Đã đăng kí/là thành viên của đơn vị.")); } thanhVien = new ThanhVienDonVi(); thanhVien.DangKiThanhVien(dangKiDto, userSinhVienId); _context.DanhSachThanhVienDonVi.Add(thanhVien); _context.SaveChanges(); return(Ok()); }
public IHttpActionResult ThemThanhVien(ThemXoaThanhVienDonViDto themThanhVienDto) { //Check quyền var userSinhVienId = User.Identity.GetSinhVienId(); var coQuyenQuanLyThanhVien = _context.DanhSachChucVuDonVi.Any(cvdv => cvdv.SinhVienId == userSinhVienId && cvdv.DonViId == themThanhVienDto.DonViId && (cvdv.QuanLyThanhVien || cvdv.ChucVuId == 10)); if (!coQuyenQuanLyThanhVien && !User.IsInRole("Admin") && !User.IsInRole("QuanLyDonVi")) { return(BadRequest()); } //Tìm sinh viên var sinhVien = _context.SinhVien .Include(sv => sv.DanhSachDonViThamGia) .SingleOrDefault(sv => sv.Id == themThanhVienDto.SinhVienId); if (sinhVien == null) { return(NotFound()); } //Tìm xem có là thành viên không var thanhVien = sinhVien.DanhSachDonViThamGia.SingleOrDefault(tv => tv.DonViId == themThanhVienDto.DonViId); if (thanhVien != null) { //Nếu đã là thành viên được phê duyệt if (thanhVien.DuocPheDuyet) { return(BadRequest("Sinh viên này đã có trong danh sách thành viên đơn vị.")); } //Nếu chưa được phê duyệt thì phê duyệt thanhVien.PheDuyetDangKi(); } else { //Nếu sinh viên chưa đăng kí thì thêm vào thanhVien = new ThanhVienDonVi(); thanhVien.ThemThanhVien(themThanhVienDto); sinhVien.DanhSachDonViThamGia.Add(thanhVien); } _context.SaveChanges(); return(Ok()); }