Пример #1
0
        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());
        }
Пример #2
0
        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());
        }