Exemple #1
0
        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());
        }
Exemple #2
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());
        }