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); } }
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); } }
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")); } }
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); }
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 })); } } }