//[ValidateAntiForgeryToken] //public ActionResult UpdateThongTinChung(TD_HoSoDuAn tD_HoSoDuAn, List<TD_FileHoSoDinhKem> listFile, HttpPostedFileBase upload_0, HttpPostedFileBase upload_1, HttpPostedFileBase upload_2) public ActionResult UpdateThongTinChung(TD_HoSoDuAn tD_HoSoDuAn, List<TD_FileHoSoDinhKem> listFile, List<HttpPostedFileBase> listFileUp) { var user = S4T_HaTinhBase.GetUserSession(); if (user == null) return RedirectToAction("Login", "Account", new { returnUrl = Request.Url.PathAndQuery }); // Kiểm tra quyền truy cập và cập nhật var per = CheckPermission(user); if (!per.isEdit) return Content("Bạn không có quyền thực hiện chức năng này"); var obj = db.TD_HoSoDuAn.FirstOrDefault(o => o.HoSoDuAn_ID == tD_HoSoDuAn.HoSoDuAn_ID); ModelState.Remove("TenDuAn"); if (ModelState.IsValid) { using (TransactionScope scope = new TransactionScope()) { try { // Mapping obj in db obj.str1 = tD_HoSoDuAn.str1; obj.NhaThau = tD_HoSoDuAn.NhaThau; obj.MucTieu = obj.MucTieu; obj.QuyMo = tD_HoSoDuAn.QuyMo; obj.DiaDiem = tD_HoSoDuAn.DiaDiem; obj.NguonVon = tD_HoSoDuAn.NguonVon; obj.HinhThucQuanLy_ID = tD_HoSoDuAn.HinhThucQuanLy_ID; obj.HinhThucQuanLyKhac = tD_HoSoDuAn.HinhThucQuanLyKhac; obj.int1 = tD_HoSoDuAn.int1; obj.int2 = tD_HoSoDuAn.int2; obj.QuyTrinhQuanLy = tD_HoSoDuAn.QuyTrinhQuanLy; obj.NhomDuAn_ID = tD_HoSoDuAn.NhomDuAn_ID; obj.LoaiDuAn_ID = tD_HoSoDuAn.LoaiDuAn_ID; obj.TinhChatDuAn_ID = tD_HoSoDuAn.TinhChatDuAn_ID; obj.TinhTrangThucHien = tD_HoSoDuAn.TinhTrangThucHien; obj.TongMucDauTu = tD_HoSoDuAn.TongMucDauTu; obj.ChiPhiXayLap = tD_HoSoDuAn.ChiPhiXayLap; obj.ChiPhiThietBi = tD_HoSoDuAn.ChiPhiThietBi; obj.ChiPhiQuanLy = tD_HoSoDuAn.ChiPhiQuanLy; obj.ChiPhiTuVan = tD_HoSoDuAn.ChiPhiTuVan; obj.ChiPhiKhac = tD_HoSoDuAn.ChiPhiKhac; obj.ChiPhiDuPhong = tD_HoSoDuAn.ChiPhiDuPhong; obj.NganSachTrungUong = tD_HoSoDuAn.NganSachTrungUong; obj.NganSachTinh = tD_HoSoDuAn.NganSachTinh; obj.NganSachDonVi = tD_HoSoDuAn.NganSachDonVi; obj.NguonKhac = tD_HoSoDuAn.NguonKhac; obj.HangMucTrienKhai = tD_HoSoDuAn.HangMucTrienKhai; obj.ThoiGianHoanThanh = tD_HoSoDuAn.ThoiGianHoanThanh; obj.SanPhamHangMuc = tD_HoSoDuAn.SanPhamHangMuc; obj.KinhPhiThucHienHangMuc = tD_HoSoDuAn.KinhPhiThucHienHangMuc; obj.KetQuaDauTu = tD_HoSoDuAn.KetQuaDauTu; db.Entry(obj).State = EntityState.Modified; db.SaveChanges(); // Lưu file vào hệ thống List<TD_FileHoSoDinhKem> list = (List<TD_FileHoSoDinhKem>)TempData["TD_FileHoSoDinhKem_" + user.Id]; if (list.Any()) { TempData["TD_FileHoSoDinhKem_" + user.Id] = list; string duongDanVatLy = pathSource + "/TD_HoSoDuAn"; string phuLucHoSoKhac = ConfigurationManager.AppSettings["PhuLucHoSoKhac"]; int intPhuLucHoSoKhac = string.IsNullOrEmpty(phuLucHoSoKhac) ? 0 : Convert.ToInt32(phuLucHoSoKhac); if (!Directory.Exists(duongDanVatLy)) Directory.CreateDirectory(duongDanVatLy); var listFileInDb = db.TD_FileHoSoDinhKem.Where(o => o.TrangThai == TrangThai.HoatDong && o.MaHoSo == obj.MaHoSo && o.VanBan_ID == intPhuLucHoSoKhac); for (var i = 0; i < list.Count; i++) { // Insert if (list[i].FileHoSoDinhKem_ID == 0) { string path = Path.Combine(duongDanVatLy, list[i].TenFile); // To copy a file to another location and // overwrite the destination file if it already exists. System.IO.File.Copy(list[i].DuongDan, path, true); // đổi đường dẫn file list[i].DuongDan = path; // Lưu obj file vào db db.TD_FileHoSoDinhKem.Add(list[i]); db.SaveChanges(); } //Update else { } } } // Lưu các file quyết định phê duyệt (nếu có đính kèm) if(Request.Files.Count > 0) { if (string.IsNullOrEmpty(pathSource)) return Content("Không tìm thấy đường dẫn file"); //var duongDan = pathSource + "/TD_HoSoDuAn/NewUpload/" + User.Identity.GetUserId(); //if (!Directory.Exists(duongDan)) // Directory.CreateDirectory(duongDan); var duongDanVatLy = pathSource + "/TD_HoSoDuAn"; if (!Directory.Exists(duongDanVatLy)) Directory.CreateDirectory(duongDanVatLy); var indexFile = 0; var stt = db.TD_FileHoSoDinhKem.Where(o => o.TrangThai == TrangThai.HoatDong && o.MaHoSo == tD_HoSoDuAn.MaHoSo).Max(o => o.STT); if (stt == null || stt == 0) stt = 1; for (int i = 0; i < Request.Files.Count; i++) { var file = Request.Files[i]; if (file.ContentLength > 0) { // Tạo tên file lưu trên hệ thống var fileName = tD_HoSoDuAn.HoSoDuAn_ID + "_" + tD_HoSoDuAn.LoaiDuAn_ID + "_" + Guid.NewGuid().ToString() + "_" + Path.GetFileName(file.FileName); // Lưu file lên hệ thống var path = Path.Combine(duongDanVatLy, fileName); file.SaveAs(path); // Tạo object TD_FileHoSoDinhKem var objFileDinhKem = new TD_FileHoSoDinhKem { DuongDan = path, SoKyHieu = listFile[indexFile].SoKyHieu, MaHoSo = tD_HoSoDuAn.MaHoSo, STT = stt, TenFile = fileName, TenHienThi = Path.GetFileName(file.FileName), TrichYeu = listFile[indexFile].TrichYeu, VanBan_ID = listFile[indexFile].VanBan_ID, TrangThai = TrangThai.HoatDong }; // Lưu thông tin file vào db db.TD_FileHoSoDinhKem.Add(objFileDinhKem); stt++; // Cộng số thứ tự file thêm 1 nếu đã lưu 1 file thành công } indexFile++; } } db.SaveChanges(); scope.Complete(); // Xóa file đã đính kèm trước đó đi trong thư mục if (Directory.Exists(pathSource + "/TD_HoSoDuAn/Upload/" + User.Identity.GetUserId())) { string[] filesPath = Directory.GetFiles(pathSource + "/TD_HoSoDuAn/Upload/" + User.Identity.GetUserId()); if (filesPath.Length > 0) { foreach (string item in filesPath) { if (!string.IsNullOrEmpty(item)) System.IO.File.Delete(item); } } } return RedirectToAction("ThongTinChung"); } catch (DbEntityValidationException ex) { scope.Dispose(); var exc = new ExceptionViewer(); exc.GetError(ex); } } } GetModelStateError(ViewData); ViewBag.TenDuAn = obj.TenDuAn; ViewBag.ChuDauTu = obj.ChuDauTu; var listVBQuyetDinh = db.View_Loai_Nhom_VanBan.Where(o => o.TrangThai == TrangThai.HoatDong && o.MaNhomVanBan == "QuyetDinhPheDuyet"); ViewBag.ListVBQuyetDinh = listVBQuyetDinh.Any() ? listVBQuyetDinh.ToList() : new List<View_Loai_Nhom_VanBan>(); var _listFile = db.TD_FileHoSoDinhKem.Where(o => o.TrangThai == TrangThai.HoatDong && o.MaHoSo == tD_HoSoDuAn.MaHoSo); if (_listFile.Any()) tD_HoSoDuAn.ListFile = _listFile.ToList(); else tD_HoSoDuAn.ListFile = new List<TD_FileHoSoDinhKem>(); GetViewBag(ViewReport.Edit); return View(tD_HoSoDuAn); }
public ActionResult _CreateOrUpdateFile(int? id, string tenFile, string maHoSo, int? vanBan_ID) { ViewBag.HideMenu = true; var user = S4T_HaTinhBase.GetUserSession(); if (user == null) return RedirectToAction("Login", "Account", new { returnUrl = Request.Url.PathAndQuery }); var per = S4T_HaTinhBase.CheckPermission(Request.RequestContext.RouteData.GetRequiredString("controller")); if (per != PermissionType.Write) return Content(ExceptionViewer.GetMessage("UPDATE_NOT_PERMISSION")); TD_FileHoSoDinhKem obj = new TD_FileHoSoDinhKem { MaHoSo = maHoSo, VanBan_ID = (vanBan_ID == null || vanBan_ID == 0) ? 0 : vanBan_ID.Value }; if ((id != null && id != 0) || !string.IsNullOrEmpty(tenFile)) { List<TD_FileHoSoDinhKem> list = (List<TD_FileHoSoDinhKem>)TempData["TD_FileHoSoDinhKem_" + user.Id]; TempData["TD_FileHoSoDinhKem_" + user.Id] = list; obj = list.FirstOrDefault(o => o.FileHoSoDinhKem_ID == id); if (obj == null) { obj = list.FirstOrDefault(o => o.TenFile == tenFile); if (obj == null) return HttpNotFound(); } } else { int phuLuc = string.IsNullOrEmpty(phuLucHoSoKhac) ? 0 : Convert.ToInt32(phuLucHoSoKhac); if (obj.VanBan_ID != phuLuc && string.IsNullOrEmpty(obj.TrichYeu)) { List<View_Loai_Nhom_VanBan> list = GetListVBQuyetDinhPheDuyet(); var objVB = list.FirstOrDefault(o => o.VanBan_ID == obj.VanBan_ID); obj.TrichYeu = objVB == null ? "" : objVB.TenVanBan; } } return View(obj); }
public ActionResult _CreateOrUpdateFile(TD_FileHoSoDinhKem obj) { var user = S4T_HaTinhBase.GetUserSession(); if (user == null) return RedirectToAction("Login", "Account", new { returnUrl = Request.Url.PathAndQuery }); var per = S4T_HaTinhBase.CheckPermission(Request.RequestContext.RouteData.GetRequiredString("controller")); if (per != PermissionType.Write) return Content(ExceptionViewer.GetMessage("UPDATE_NOT_PERMISSION")); List<TD_FileHoSoDinhKem> list = (List<TD_FileHoSoDinhKem>)TempData["TD_FileHoSoDinhKem_" + user.Id]; if (list == null) list = new List<TD_FileHoSoDinhKem>(); using (TransactionScope scope = new TransactionScope()) { try { if (Request.Files.Count > 0) { var file = Request.Files[0]; if (file.ContentLength > 0) { var maxSize = 16384 * 1024; // in Byte // Kiểm tra giới hạn dung lượng file upload cho phép if (file.ContentLength > maxSize) { ModelState.AddModelError("", "Dung lượng file vượt quá dung lượng cho phép tải lên"); return View(obj); } if (string.IsNullOrEmpty(pathSource)) return Content("Không tìm thấy đường dẫn file"); // Xóa file tạm trong db if (!string.IsNullOrEmpty(obj.TenFile)) { TD_FileHoSoDinhKem objRemove = list.FirstOrDefault(o => o.TenFile == obj.TenFile); list.Remove(objRemove); System.IO.File.Delete(objRemove.DuongDan); } // Lưu đường dẫn file theo mã hồ sơ string duongDan = pathSource + "/TD_HoSoDuAn/Upload/" + User.Identity.GetUserId(); if (!Directory.Exists(duongDan)) Directory.CreateDirectory(duongDan); string fileName = obj.MaHoSo + "_" + Guid.NewGuid().ToString() + "_" + User.Identity.GetUserId() + "_" + Path.GetFileName(file.FileName); // Lưu file vào thư mục tạm của hệ thống string path = Path.Combine(duongDan, fileName); file.SaveAs(path); #region Lưu đường dẫn, thông tin file vào db obj.DuongDan = path; obj.TenFile = fileName; obj.TenHienThi = Path.GetFileName(file.FileName); obj.TrangThai = TrangThai.HoatDong; if (obj.VanBan_ID == 0) { ViewBag.btnId = "btnRefreshListFile"; string phuLucHoSoKhac = ConfigurationManager.AppSettings["PhuLucHoSoKhac"]; obj.VanBan_ID = string.IsNullOrEmpty(phuLucHoSoKhac) ? 0 : Convert.ToInt32(phuLucHoSoKhac); } else { ViewBag.btnId = "btnRefreshListFileQuyetDinh"; } list.Add(obj); TempData["TD_FileHoSoDinhKem_" + user.Id] = list; scope.Complete(); #endregion Lưu đường dẫn, thông tin file vào db } else { ViewBag.Mess = "<span style=\"color:red;\">Chưa chọn file</span>"; return View(obj); } } else { ViewBag.Mess = "<span style=\"color:red;\">Chưa chọn file</span>"; return View(obj); } // Close popup và refresh form main ViewBag.RefreshPage = true; } catch (DbEntityValidationException ex) { var exc = new ExceptionViewer(); ViewBag.Mess = exc.GetError(ex); scope.Dispose(); } } return View(obj); }
/// <summary> /// Lưu tên file cần up và số thứ tự vào TempData để chuyển sang View Up /// </summary> /// <param name="tenFile">tên file cần up</param> /// <param name="stt">số thứ tự</param> public ActionResult SaveTempData(string tenVanBan, int stt, string ghiChu, int? fileID) { var objFile = new TD_FileHoSoDinhKem(); if (fileID != null) { var id = Convert.ToInt32(fileID); objFile = db.TD_FileHoSoDinhKem.FirstOrDefault(o => o.FileHoSoDinhKem_ID == id); } else { objFile.TenVanBan = tenVanBan; objFile.STT = stt; objFile.GhiChu = ghiChu; } TempData["FileDinhKem_" + User.Identity.GetUserId()] = objFile; return Json(new { msg = "ok" }); }
//[MultipleButton(Name = "action", Argument = "UploadFile")] public ActionResult Up(TD_FileHoSoDinhKem objFile) { var user = S4T_HaTinhBase.GetUserSession(); if (user == null) { return RedirectToAction("Login", "Account", new { returnUrl = Request.Url.PathAndQuery }); } else { // Kiểm tra đã submit file lên if (Request.Files.Count > 0) { var file = Request.Files[0]; var pathSource = ConfigurationManager.AppSettings["FolderUploadPath"]; if (string.IsNullOrEmpty(pathSource)) return Content("Không tìm thấy đường dẫn file"); var duongDan = pathSource + "/TD_HoSoDuAn/NewUpload/" + User.Identity.GetUserId() + "/" + objFile.STT; if (!Directory.Exists(duongDan)) Directory.CreateDirectory(duongDan); // lấy tên file var fileName = Path.GetFileName(file.FileName); // Xóa file đã đính kèm trước đó đi trong thư mục string[] filesPath = System.IO.Directory.GetFiles(duongDan); if (filesPath.Length > 0) { foreach (string item in filesPath) { if (!string.IsNullOrEmpty(item)) System.IO.File.Delete(item); } } // Lưu file vào thư mục tạm của hệ thống var path = Path.Combine(duongDan, fileName); file.SaveAs(path); ViewBag.FileName = fileName; // truyền lại tên file ra ngoài view #region Lưu đường dẫn, thông tin file vào TempData objFile.TrangThai = TrangThai.HoatDong; objFile.TenHienThi = fileName; var list = new List<TD_FileHoSoDinhKem>(); if (Session["TD_HoSoDuAn_" + User.Identity.GetUserId()] == null) { list.Add(objFile); } else { list = (List<TD_FileHoSoDinhKem>)Session["TD_HoSoDuAn_" + User.Identity.GetUserId()]; // Nếu đã có thì xóa trong list và tạo mới var obj = list.Find(o => o.STT == objFile.STT); if (obj != null) list.Remove(obj); list.Add(objFile); } Session["TD_HoSoDuAn_" + User.Identity.GetUserId()] = list; #endregion Lưu đường dẫn, thông tin file vào TempData } // redirect back to the index action to show the form once again ViewBag.Status = "status=\"OK\";"; } //return Json(new { msg = "ok" }); return View(); }
public ActionResult Up(int? id, int stt) { //ViewBag.TenFile = TempData["TenVanBan_" + User.Identity.GetUserId()]; //ViewBag.STT = TempData["STT_" + User.Identity.GetUserId()]; var obj = new TD_FileHoSoDinhKem(); if (id != null) obj = db.TD_FileHoSoDinhKem.FirstOrDefault(o => o.FileHoSoDinhKem_ID == id); if (obj.STT == null) obj.STT = stt; return View(obj); }
//[ValidateAntiForgeryToken] public ActionResult Edit(TD_HoSoDuAn tD_HoSoDuAn, List<TD_FileHoSoDinhKem> listFile) { var user = S4T_HaTinhBase.GetUserSession(); if (user == null) return RedirectToAction("Login", "Account", new { returnUrl = Request.Url.PathAndQuery }); // Kiểm tra quyền truy cập và cập nhật var per = CheckPermission(user); if (!per.isEdit) return Content("Bạn không có quyền thực hiện chức năng này"); if (ModelState.IsValid) { using (var dbContextTransaction = db.Database.BeginTransaction()) { try { db.Entry(tD_HoSoDuAn).State = EntityState.Modified; tD_HoSoDuAn.TuNgay = DateTime.Now; tD_HoSoDuAn.DenNgay = DateTime.Now; //db.SaveChanges(); // Lưu file vào hệ thống //if (Request.Files.Count > 0) if (listFile.Any()) { var pathSource = ConfigurationManager.AppSettings["FolderUploadPath"]; if (string.IsNullOrEmpty(pathSource)) return Content("Không tìm thấy đường dẫn file"); var maxSTT = db.TD_FileHoSoDinhKem.Where(o => o.TrangThai == TrangThai.HoatDong && o.MaHoSo == tD_HoSoDuAn.MaHoSo).Max(o => o.STT); var duongDanVatLy = pathSource + "/TD_HoSoDuAn"; if (!Directory.Exists(duongDanVatLy)) Directory.CreateDirectory(duongDanVatLy); var listFileInDb = db.TD_FileHoSoDinhKem.Where(o => o.TrangThai == TrangThai.HoatDong && o.MaHoSo == tD_HoSoDuAn.MaHoSo); var count = Request.Files.Count; for (var i = 0; i < listFile.Count; i++) { var id = listFile[i].FileHoSoDinhKem_ID; // File chưa được lưu trong database if (id <= 0 || id == null) { // Nếu có file thì sẽ tạo mới if (count > 0) { var file = Request.Files["file_" + i]; if (file != null) { // Tạo tên file lưu trên hệ thống var fileName = tD_HoSoDuAn.HoSoDuAn_ID + "_" + tD_HoSoDuAn.LoaiDuAn_ID + "_" + Guid.NewGuid().ToString() + "_" + Path.GetFileName(file.FileName); // Tạo đường dẫn vật lý cho file var path = Path.Combine(duongDanVatLy, fileName); // Tạo object TD_FileHoSoDinhKem var objFileDinhKem = new TD_FileHoSoDinhKem { DuongDan = path, GhiChu = listFile[i].GhiChu, MaHoSo = tD_HoSoDuAn.MaHoSo, VanBan_ID = listFile[i].VanBan_ID, TenFile = fileName, TenHienThi = Path.GetFileName(file.FileName), TenVanBan = listFile[i].TenVanBan, TrangThai = TrangThai.HoatDong }; // Lưu thông tin file vào db db.TD_FileHoSoDinhKem.Add(objFileDinhKem); //db.SaveChanges(); // Lưu file lên hệ thống file.SaveAs(path); } } else { // Không có file thì ko làm gì } } // Có file đã được lưu trong database else { var objFileOld = listFileInDb.FirstOrDefault(o => o.FileHoSoDinhKem_ID == id); if (objFileOld != null) { // Không up file khác lên thay thì cập nhật lại thông tin Tên văn bản, Ghi chú if (count == 0) { objFileOld.TenVanBan = !string.IsNullOrEmpty(listFile[i].TenVanBan) ? listFile[i].TenVanBan.Trim() : ""; objFileOld.GhiChu = !string.IsNullOrEmpty(listFile[i].GhiChu) ? listFile[i].GhiChu.Trim() : ""; db.Entry(objFileOld).State = EntityState.Modified; } else { var file = Request.Files["file_" + i]; // Up file khác lên thay thế file cũ if (file != null) { // Tạo tên file lưu trên hệ thống var fileName = tD_HoSoDuAn.HoSoDuAn_ID + "_" + tD_HoSoDuAn.LoaiDuAn_ID + "_" + Guid.NewGuid().ToString() + "_" + Path.GetFileName(file.FileName); // Tạo đường dẫn vật lý cho file var path = Path.Combine(duongDanVatLy, fileName); // Tạo object TD_FileHoSoDinhKem var objFileDinhKem = new TD_FileHoSoDinhKem { DuongDan = path, GhiChu = listFile[i].GhiChu, MaHoSo = tD_HoSoDuAn.MaHoSo, //STT = stt, TenFile = fileName, TenHienThi = Path.GetFileName(file.FileName), TenVanBan = listFile[i].TenVanBan, TrangThai = TrangThai.HoatDong }; // Nếu đổi file khác thì đổi trạng thái của file cũ, và tạo 1 object mới if (listFile[i].FileHoSoDinhKem_ID != -1) { //var id = listFile[i].FileHoSoDinhKem_ID; //var objFileOld = db.TD_FileHoSoDinhKem.FirstOrDefault(o => o.FileHoSoDinhKem_ID == id); objFileOld.TrangThai = TrangThai.KhongHoatDong; db.Entry(objFileOld).State = EntityState.Modified; //db.SaveChanges(); objFileDinhKem.STT = objFileOld.STT; } // Nếu lưu thêm file lên hệ thống else { maxSTT++; objFileDinhKem.STT = maxSTT; } // Lưu thông tin file vào db db.TD_FileHoSoDinhKem.Add(objFileDinhKem); //db.SaveChanges(); // Lưu file lên hệ thống file.SaveAs(path); } // Không up file khác lên thay thì cập nhật lại thông tin Tên văn bản, Ghi chú else { objFileOld.TenVanBan = !string.IsNullOrEmpty(listFile[i].TenVanBan) ? listFile[i].TenVanBan.Trim() : ""; objFileOld.GhiChu = !string.IsNullOrEmpty(listFile[i].GhiChu) ? listFile[i].GhiChu.Trim() : ""; db.Entry(objFileOld).State = EntityState.Modified; } } } else { // Không tìm thấy file trong database } } } } db.SaveChanges(); dbContextTransaction.Commit(); return RedirectToAction("Index"); //return Json(new { ok = "ok" }); //return View(); } catch (DbEntityValidationException ex) { dbContextTransaction.Rollback(); var exc = new ExceptionViewer(); exc.GetError(ex); } } } GetViewBag(ViewReport.Edit); GetModelStateError(ViewData); return View(tD_HoSoDuAn); }
//[ValidateAntiForgeryToken] public ActionResult Create(TD_HoSoDuAn tD_HoSoDuAn, List<TD_FileHoSoDinhKem> listFile) { var user = S4T_HaTinhBase.GetUserSession(); if (user == null) return RedirectToAction("Login", "Account", new { returnUrl = Request.Url.PathAndQuery }); // Kiểm tra quyền truy cập và cập nhật var per = CheckPermission(user); if (!per.isEdit) return Content("Bạn không có quyền thực hiện chức năng này"); ModelState.Remove("MaHoSo"); ModelState.Remove("TuNgay"); ModelState.Remove("DenNgay"); tD_HoSoDuAn.TuNgay = DateTime.Now; tD_HoSoDuAn.DenNgay = DateTime.Now; if (ModelState.IsValid) { using (var dbContextTransaction = db.Database.BeginTransaction()) { try { // Lưu tạm để tạo số biên nhận db.TD_HoSoDuAn.Add(tD_HoSoDuAn); db.SaveChanges(); // update lại số biên nhận var maHoSo = DateTime.Now.ToString("yyyy") + DateTime.Now.ToString("MM") + tD_HoSoDuAn.LoaiDuAn_ID + tD_HoSoDuAn.HoSoDuAn_ID; tD_HoSoDuAn.MaHoSo = maHoSo; db.Entry(tD_HoSoDuAn).State = EntityState.Modified; // Tạo luồng công việc đầu tiên là tạo mới var objLuongCV = new TD_LuongCongViec { Cap_ID = STTCapXuLy.CapNhatHoSo, MaHoSo = maHoSo, NgayGui = DateTime.Now, NgayHenTra = DateTime.Now, NguoiGui = user.UserName, NguoiNhan = user.UserName, NoiDung = "Tạo mới", STT = 1, TrangThai = TrangThai.HoatDong }; db.TD_LuongCongViec.Add(objLuongCV); // lưu file từ thư mục tạm vào thư mục chính if (Request.Files.Count == 0) { //return Content("Không có file"); } else { var pathSource = ConfigurationManager.AppSettings["FolderUploadPath"]; if (string.IsNullOrEmpty(pathSource)) return Content("Không tìm thấy đường dẫn file"); //var duongDan = pathSource + "/TD_HoSoDuAn/NewUpload/" + User.Identity.GetUserId(); //if (!Directory.Exists(duongDan)) // Directory.CreateDirectory(duongDan); var duongDanVatLy = pathSource + "/TD_HoSoDuAn"; if (!Directory.Exists(duongDanVatLy)) Directory.CreateDirectory(duongDanVatLy); var indexFile = 0; var stt = 1; for (int i = 0; i < Request.Files.Count; i++) { var file = Request.Files[i]; if (file.ContentLength > 0) { // Tạo tên file lưu trên hệ thống var fileName = tD_HoSoDuAn.HoSoDuAn_ID + "_" + tD_HoSoDuAn.LoaiDuAn_ID + "_" + Guid.NewGuid().ToString() + "_" + Path.GetFileName(file.FileName); // Lưu file lên hệ thống var path = Path.Combine(duongDanVatLy, fileName); file.SaveAs(path); // Tạo object TD_FileHoSoDinhKem var objFileDinhKem = new TD_FileHoSoDinhKem { DuongDan = path, SoKyHieu = listFile[indexFile].SoKyHieu, MaHoSo = maHoSo, STT = stt, TenFile = fileName, TenHienThi = Path.GetFileName(file.FileName), TrichYeu = listFile[indexFile].TrichYeu, VanBan_ID = listFile[indexFile].VanBan_ID, TrangThai = TrangThai.HoatDong }; // Lưu thông tin file vào db db.TD_FileHoSoDinhKem.Add(objFileDinhKem); stt++; // Cộng số thứ tự file thêm 1 nếu đã lưu 1 file thành công } indexFile++; } } db.SaveChanges(); dbContextTransaction.Commit(); return RedirectToAction("Index"); } catch (DbEntityValidationException ex) { dbContextTransaction.Rollback(); var exc = new ExceptionViewer(); exc.GetError(ex); } } } tD_HoSoDuAn.ListFile = listFile; GetViewBag(ViewReport.Create); GetModelStateError(ViewData); return View(tD_HoSoDuAn); }