Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        public bool CheckTuanNop(DateTime ngayThucHien, int tuanDaNop, BaoCaoTienDo baoCao)
        {
            int week = ((baoCao.NgayNop.Value - ngayThucHien).Days) / 7 + 1;

            if (tuanDaNop < week)
            {
                baoCao.Status    = (int)StatusBaoCao.DaNop;
                baoCao.TuanDaNop = week;
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> CreateEdit(int?Id)
        {
            if (Id > 0)
            {
                BaoCaoTienDo baoCao = await _serviceBaoCao.GetById(Id.Value);

                BaoCaoTienDoViewModel vmodal = new BaoCaoTienDoViewModel
                {
                    Id      = baoCao.Id,
                    NoiDung = baoCao.NoiDung,
                    TienDo  = baoCao.TienDo,
                    TenTep  = baoCao.TenTep,
                };
                return(PartialView("_CreateEditPopup", vmodal));
            }
            else
            {
                return(PartialView("_CreateEditPopup"));
            }
        }
Ejemplo n.º 4
0
        public async Task <bool> UpLoadFile(IFormFile file, BaoCaoTienDo model)
        {
            if (file == null)
            {
                return(true);
            }
            string[] permittedExtensions = { ".txt", ".pdf", ".doc", ".docx", ".xlsx", ".xls" };

            var ext = Path.GetExtension(file.FileName).ToLowerInvariant();

            if (string.IsNullOrEmpty(ext) || !permittedExtensions.Contains(ext))
            {
                return(false);
            }

            string UploadsFolder  = Path.Combine(_hostingEnvironment.WebRootPath, "FileUpload/BaoCaoTienDo");
            string uniqueFileName = Guid.NewGuid().ToString() + "_" + file.FileName;
            string filePath       = Path.Combine(UploadsFolder, uniqueFileName);
            await file.CopyToAsync(new FileStream(filePath, FileMode.Create));

            model.TepDinhKem = uniqueFileName;
            model.TenTep     = file.FileName;
            return(true);
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> CreateEdit(BaoCaoTienDoViewModel vmodel)
        {
            var DeTai = await _service.GetById(vmodel.IddeTai);

            var now = DateTime.Now;

            if (!DeTai.NgayThucHien.HasValue || now < DeTai.NgayThucHien.Value)
            {
                return(Ok(new
                {
                    status = false,
                    toastr = MessageResult.ChuaDenTGThucHien
                }));
            }
            if (vmodel.Id == 0)
            {
                BaoCaoTienDo baoCao     = new BaoCaoTienDo();
                int          tuanDaNop  = 0;
                var          LastBaoCao = DeTai.BaoCaoTienDo.LastOrDefault();
                if (LastBaoCao != null)
                {
                    tuanDaNop = LastBaoCao.TuanDaNop;
                }
                baoCao.NoiDung = vmodel.NoiDung;
                baoCao.TienDo  = vmodel.TienDo;
                baoCao.NgayNop = DateTime.Now;
                if (CheckTuanNop(DeTai.NgayThucHien.Value, tuanDaNop, baoCao))
                {
                    if (await UpLoadFile(vmodel.File, baoCao))
                    {
                        DeTai.BaoCaoTienDo.Add(baoCao);
                        await _service.Update(DeTai);

                        return(Ok(new { status = true, mess = MessageResult.CreateSuccess }));
                    }
                    else
                    {
                        return(Ok(new { status = false, mess = MessageResult.UpLoadFileFail }));
                    }
                }
                else
                {
                    return(Ok(new
                    {
                        status = false,
                        toastr = MessageResult.DaNopBaoCao + tuanDaNop,
                    }));
                }
            }
            else
            {
                BaoCaoTienDo baoCao = await _serviceBaoCao.GetById(vmodel.Id);

                baoCao.NoiDung = vmodel.NoiDung;
                baoCao.TienDo  = vmodel.TienDo;
                baoCao.NgayNop = DateTime.Now;
                if (await UpLoadFile(vmodel.File, baoCao))
                {
                    await _serviceBaoCao.Update(baoCao);

                    return(Ok(new { status = true, mess = MessageResult.UpdateSuccess }));
                }
                else
                {
                    return(Ok(new { status = false, mess = MessageResult.UpLoadFileFail }));
                }
            }
        }