public async Task <bool> UpLoadFileYCChinhSua(IFormFile file, YCChinhSuaDeTai 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/DeTaiNghienCuu"); string uniqueFileName = Guid.NewGuid().ToString() + "_" + file.FileName; string filePath = Path.Combine(UploadsFolder, uniqueFileName); await file.CopyToAsync(new FileStream(filePath, FileMode.Create)); model.TenTep = file.FileName; model.TepDinhKem = uniqueFileName; return(true); }
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 })); } }