public async Task <bool> BaoCaoTreHan(DeTaiNghienCuu deTai)
        {
            var baoCao = deTai.BaoCaoTienDo;
            int week   = ((DateTime.Now - deTai.NgayThucHien.Value).Days) / 7 + 1;

            if (!baoCao.Any())
            {
                if (week == 1)
                {
                    BaoCaoTienDo entity = new BaoCaoTienDo
                    {
                        TuanDaNop = 1,
                        NgayNop   = DateTime.Now,
                        Status    = (int)StatusBaoCao.TreHan
                    };
                    deTai.BaoCaoTienDo.Add(entity);
                }
                else
                {
                    for (int i = 1; i < week; i++)
                    {
                        BaoCaoTienDo entity = new BaoCaoTienDo
                        {
                            TuanDaNop = i,
                            NgayNop   = DateTime.Now,
                            Status    = (int)StatusBaoCao.TreHan
                        };
                        deTai.BaoCaoTienDo.Add(entity);
                    }
                }
                await _service.Update(deTai);

                return(true);
            }
            else
            {
                int tuanDaNop = baoCao.LastOrDefault().TuanDaNop;
                if (tuanDaNop == week || week == tuanDaNop + 1)
                {
                    return(true);
                }
                for (int i = tuanDaNop + 1; i < week; i++)
                {
                    BaoCaoTienDo entity = new BaoCaoTienDo
                    {
                        TuanDaNop = i,
                        NgayNop   = DateTime.Now,
                        Status    = (int)StatusBaoCao.TreHan
                    };
                    deTai.BaoCaoTienDo.Add(entity);
                }
                await _service.Update(deTai);

                return(true);
            }
        }
Exemple #2
0
        public async Task <IActionResult> Create(MoDot moDot)
        {
            var allXDDG = await _serviceXDDG.GetAll();

            if (allXDDG.Any())
            {
                foreach (var item in allXDDG)
                {
                    item.Status = 0;
                    await _serviceXDDG.Update(item);
                }
            }
            var HoiDong = await _serviceHoiDong.GetAll();

            if (HoiDong.Any())
            {
                foreach (var item in HoiDong)
                {
                    item.StatusPhanCong = (int)StatusPhanCong.ChuaPhanCong;
                    await _serviceHoiDong.Update(item);
                }
            }
            var DeTai = await _serviceDeTai.GetAll();

            if (DeTai.Any())
            {
                foreach (var item in DeTai)
                {
                    item.TinhTrangPhanCong = (int)StatusPhanCong.ChuaPhanCong;
                    await _serviceDeTai.Update(item);
                }
            }
            if (moDot.Loai == (int)MoDotLoai.DangKy)
            {
                var Nhom = await _serviceNhom.GetAll();

                if (Nhom.Any())
                {
                    foreach (var item in Nhom)
                    {
                        item.Status = (int)BaseStatus.Disable;
                        await _serviceNhom.Update(item);
                    }
                }
            }
            moDot.Status   = 1;
            moDot.IdquanLy = long.Parse(User.Identity.Name);
            await _service.Add(moDot);

            return(RedirectToAction("Index", new { mess = "Mở đợt thành công" }));
        }
Exemple #3
0
        public async Task <IActionResult> PhanCongGiangVien(long IdGiangVien, long IdDeTai)
        {
            DeTaiNghienCuu deTaiNghienCuu = await _service.GetById(IdDeTai);

            if (deTaiNghienCuu != null)
            {
                deTaiNghienCuu.IdgiangVien = IdGiangVien;
                await _service.Update(deTaiNghienCuu);

                return(RedirectToAction("Index", new { mess = "Phân công thành công" }));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
Exemple #4
0
        public async Task <IActionResult> LoadNoiDung(long idDeTai, int tab)
        {
            var deTai = await _serviceDeTai.GetById(idDeTai);

            ViewBag.TenDeTai = deTai.TenDeTai;
            ViewBag.NhomSV   = deTai.NhomSinhVien.Select(x => x.IdsinhVienNavigation);
            var xetDuyetVaDanhGia = deTai.XetDuyetVaDanhGia.SingleOrDefault(x => x.Status == 1);

            if (Dot == 2 && tab == 1)
            {
                xetDuyetVaDanhGia = deTai.XetDuyetVaDanhGia.SingleOrDefault(x => x.Status == 0);
            }
            ViewBag.XDDG = xetDuyetVaDanhGia;
            var    ct     = xetDuyetVaDanhGia.CtxetDuyetVaDanhGia;
            double diemtb = 0;
            int    chia   = 0;

            foreach (var item in ct)
            {
                if (item.Diem.HasValue)
                {
                    if (item.VaiTro == (int)LoaiVaiTro.PhanBien)
                    {
                        diemtb = diemtb + (2 * item.Diem.Value);
                        chia   = chia + 2;
                    }
                    else
                    {
                        diemtb = diemtb + item.Diem.Value;
                        chia++;
                    }
                }
            }
            if (chia == 0)
            {
                ViewBag.DiemTB = 0;
            }
            else
            {
                ViewBag.DiemTB = diemtb / chia * 1.0;
            }
            if (Dot == 1)
            {
                if (ViewBag.DiemTB < DotHienTai.DiemToiThieu)
                {
                    deTai.TinhTrangDeTai = (int)StatusDeTai.Huy;
                }
                else if (ViewBag.DiemTB > DotHienTai.DiemToiDa && DotHienTai.Loai == (int)MoDotLoai.XetDuyetDeTai)
                {
                    deTai.TinhTrangDeTai = (int)StatusDeTai.DaDangKy;
                }
                else if (ViewBag.DiemTB > DotHienTai.DiemToiDa && DotHienTai.Loai == (int)MoDotLoai.NghiemThuDeTai)
                {
                    deTai.TinhTrangDeTai = (int)StatusDeTai.HoanThanh;
                }
                else
                {
                    deTai.TinhTrangDeTai = (int)StatusDeTai.DanhGiaLai;
                }
            }
            else
            {
                if (ViewBag.DiemTB < DotHienTai.DiemToiThieu)
                {
                    deTai.TinhTrangDeTai = (int)StatusDeTai.Huy;
                }
                else if (ViewBag.DiemTB > DotHienTai.DiemToiDa && DotHienTai.Loai == (int)MoDotLoai.XetDuyetDeTai)
                {
                    deTai.TinhTrangDeTai = (int)StatusDeTai.DaDangKy;
                }
                else if (ViewBag.DiemTB > DotHienTai.DiemToiDa && DotHienTai.Loai == (int)MoDotLoai.NghiemThuDeTai)
                {
                    deTai.TinhTrangDeTai = (int)StatusDeTai.HoanThanh;
                }
                else
                {
                    deTai.TinhTrangDeTai = (int)StatusDeTai.Huy;
                }
            }
            await _serviceDeTai.Update(deTai);

            ViewBag.ctUSer = ct.SingleOrDefault(x => x.IdgiangVien == long.Parse(User.Identity.Name) && x.Status == 1);
            //foreach()
            ViewBag.Tab = tab;
            ViewBag.Dot = Dot;
            return(PartialView("_NoiDungXetDuyetGV", ct));
        }
Exemple #5
0
        public async Task <ActionResult> DeXuatDeTai(DeTaiNghienCuuViewModel vmodel)
        {
            var SV = await _serviceSV.GetById(long.Parse(User.Identity.Name));

            if (SV == null)
            {
                return(Ok(new
                {
                    status = false,
                    mess = MessageResult.NotFoundSV
                }));
            }
            if (vmodel.IdgiangVien == 0)
            {
                vmodel.IdgiangVien = null;
            }
            //Update DeTai
            if (vmodel.Id > 0)
            {
                var DeTai = await _service.GetById(vmodel.Id);

                DeTai.IdgiangVien = vmodel.IdgiangVien;
                DeTai.MoTa        = vmodel.MoTa;
                DeTai.TenDeTai    = vmodel.TenDeTai;
                if (await UpLoadFile(vmodel.Files, DeTai) == false)
                {
                    return(Json(new { status = false, mess = MessageResult.UpLoadFileFail }));
                }
                await _service.Update(DeTai);

                return(Ok(new { status = true, mess = MessageResult.UpdateSuccess }));
            }
            //Kiểm tra SV đã có đề tài?
            var nhomSV = SV.NhomSinhVien.SingleOrDefault(x => x.IdnhomNavigation.Status == (int)BaseStatus.Active);

            if (nhomSV != null)
            {
                return(Ok(new
                {
                    status = false,
                    mess = MessageResult.ExistDeTai
                }));
            }
            IEnumerable <DeTaiNghienCuu> list = await _service.GetAll();

            if (list.Count() != 0)
            {
                DeTaiNghienCuu LastE = list.OrderBy(x => x.Id).LastOrDefault();
                vmodel.Id = _service.KhoiTaoMa(LastE);
            }
            else
            {
                vmodel.Id = long.Parse(DateTime.Now.Year.ToString() + "001");
            }

            var model = new DeTaiNghienCuu()
            {
                Id              = vmodel.Id,
                TenDeTai        = vmodel.TenDeTai,
                MoTa            = vmodel.MoTa,
                NgayDangKy      = DateTime.Now,
                IdNguoiDangKy   = long.Parse(User.Identity.Name),
                IdgiangVien     = vmodel.IdgiangVien,
                NgayLap         = DateTime.Now,
                TinhTrangDangKy = (int)StatusDangKyDeTai.Het,
                TinhTrangDeTai  = (int)StatusDeTai.DaDangKy,
                Loai            = LoaiDeTai.DeXuat
            };

            if (await UpLoadFile(vmodel.Files, model) == false)
            {
                return(Json(new { status = false, mess = MessageResult.UpLoadFileFail }));
            }
            try
            {
                Nhom nhom = new Nhom();
                await _serviceNhom.Add(nhom);

                NhomSinhVien nhomSinhVien = new NhomSinhVien {
                    Idnhom = nhom.Id, IdsinhVien = SV.Mssv
                };
                model.NhomSinhVien.Add(nhomSinhVien);
                await _service.Add(model);

                return(Json(new { status = true, create = true, data = model, mess = MessageResult.CreateSuccess }));
            }
            catch
            {
                return(Json(new { status = false, mess = MessageResult.Fail }));
            }
        }
Exemple #6
0
        public async Task <ActionResult> Edit(DeTaiNghienCuuViewModel model)
        {
            if (ModelState.IsValid)
            {
                var entity = await _service.GetById(model.Id);

                if (entity == null)
                {
                    return(Ok(new
                    {
                        status = false,
                        toastr = MessageResult.NotFoundObject
                    }));
                }
                var isAuthorize = await _authorizationService.AuthorizeAsync(User, entity, DeTaiNghienCuuOperation.Update);

                if (!isAuthorize.Succeeded)
                {
                    return(Ok(new
                    {
                        status = false,
                        toastr = MessageResult.AccessDenied
                    }));
                }
                else
                {
                    if (entity.TinhTrangDeTai == (int)StatusDeTai.MoiTao)
                    {
                        if (await UpLoadFile(model.Files, entity) == false)
                        {
                            return(Ok(new
                            {
                                status = false,
                                mess = MessageResult.UpLoadFileFail
                            }));
                        }
                        entity.TenDeTai = model.TenDeTai;
                        entity.MoTa     = model.MoTa;
                        await _service.Update(entity);

                        return(Ok(new { status = true, mess = MessageResult.UpdateSuccess }));
                    }
                    else
                    {
                        YCChinhSuaDeTai yCChinhSua = new YCChinhSuaDeTai
                        {
                            MoTa     = model.MoTa,
                            TenDeTai = model.TenDeTai,
                        };
                        YeuCauPheDuyet yeuCau = new YeuCauPheDuyet
                        {
                            LoaiYeuCau = (int)LoaiYeuCauPheDuyet.ChinhSua,
                            NgayTao    = DateTime.Now,
                        };
                        if (await UpLoadFileYCChinhSua(model.Files, yCChinhSua) == false)
                        {
                            return(Ok(new
                            {
                                status = false,
                                mess = MessageResult.UpLoadFileFail
                            }));
                        }
                        var yeuCauHT     = entity.YeuCauPheDuyet.FirstOrDefault(x => x.LoaiYeuCau == (int)LoaiYeuCauPheDuyet.ChinhSua && x.Status == 0);
                        var yCChinhSuaHT = entity.YCChinhSuaDeTai.FirstOrDefault(x => x.Status == 0);

                        entity.YeuCauPheDuyet.Remove(yeuCauHT);
                        entity.YCChinhSuaDeTai.Remove(yCChinhSuaHT);
                        entity.YeuCauPheDuyet.Add(yeuCau);
                        entity.YCChinhSuaDeTai.Add(yCChinhSua);

                        entity.TinhTrangPheDuyet = (int)StatusPheDuyet.GuiChinhSua;
                        await _service.Update(entity);

                        return(Ok(new { status = true, mess = "Gửi yêu cầu chỉnh sửa thành công" }));
                    }
                }
            }
            else
            {
                return(Ok(new { status = false, mess = MessageResult.Fail }));
            }
        }