Exemplo n.º 1
0
        public IHttpActionResult PheDuyetDangKiThanhVien(ThemXoaThanhVienDonViDto pheDuyetDto)
        {
            //Check quyền
            var userSinhVienId         = User.Identity.GetSinhVienId();
            var coQuyenQuanLyThanhVien = _context.DanhSachChucVuDonVi
                                         .Any(cvdv => cvdv.SinhVienId == userSinhVienId &&
                                              cvdv.DonViId == pheDuyetDto.DonViId &&
                                              (cvdv.QuanLyThanhVien || cvdv.ChucVuId == 10));

            if (!coQuyenQuanLyThanhVien && !User.IsInRole("Admin") && !User.IsInRole("QuanLyDonVi"))
            {
                return(BadRequest());
            }
            //Tìm thành viên
            var thanhVien = _context.DanhSachThanhVienDonVi
                            .SingleOrDefault(tv => tv.SinhVienId == pheDuyetDto.SinhVienId &&
                                             tv.DonViId == pheDuyetDto.DonViId &&
                                             !tv.DuocPheDuyet);

            if (thanhVien == null)
            {
                return(NotFound());
            }

            thanhVien.PheDuyetDangKi();
            _context.SaveChanges();
            return(Ok());
        }
Exemplo n.º 2
0
        public IHttpActionResult XoaThanhVien(ThemXoaThanhVienDonViDto xoaThanhVienDto)
        {
            //Check quyền
            var userSinhVienId         = User.Identity.GetSinhVienId();
            var coQuyenQuanLyThanhVien = _context.DanhSachChucVuDonVi.Any(cvdv => cvdv.SinhVienId == userSinhVienId &&
                                                                          cvdv.DonViId == xoaThanhVienDto.DonViId &&
                                                                          (cvdv.QuanLyThanhVien || cvdv.ChucVuId == 10));

            if (!coQuyenQuanLyThanhVien && !User.IsInRole("Admin") && !User.IsInRole("QuanLyDonVi"))
            {
                return(BadRequest());
            }
            //Tìm thành viên
            var thanhVien = _context.DanhSachThanhVienDonVi
                            .Include(tv => tv.DanhSachChucVuDonVi)
                            .SingleOrDefault(tv => tv.SinhVienId == xoaThanhVienDto.SinhVienId &&
                                             tv.DonViId == xoaThanhVienDto.DonViId);

            if (thanhVien == null)
            {
                return(NotFound());
            }
            //Nếu có chức vụ thì không thể xóa
            if (thanhVien.DanhSachChucVuDonVi.Count > 0)
            {
                return(BadRequest("Hãy bỏ tất cả các chức vụ của sinh viên này trước khi xóa khỏi danh sách thành viên ban"));
            }
            //Xóa thành viên này
            _context.DanhSachThanhVienDonVi.Remove(thanhVien);
            _context.SaveChanges();
            return(Ok());
        }
Exemplo n.º 3
0
        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());
        }