public PartialViewResult FormVanBan(long?id = 0, long?HoSoID = 0)
        {
            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            QuanLyVanBanBusiness    = Get <QuanLyVanBanBusiness>();
            QuanLyHoSoBusiness      = Get <QuanLyHoSoBusiness>();
            TaiLieuDinhKemBusiness  = Get <TAILIEUDINHKEMBusiness>();

            FormVanBanModel model  = new FormVanBanModel();
            var             VanBan = new QUANLY_VANBAN();

            if (id > 0)
            {
                VanBan = QuanLyVanBanBusiness.Find(id);
            }
            model.VanBan             = VanBan;
            model.HOSO_ID            = HoSoID;
            model.ListCoQuanBanHanh  = DM_DANHMUC_DATABusiness.GetDropDow(DMLOAI_CONSTANT.QLHS_CO_QUAN_BAN_HANH, VanBan.COQUAN_BANHANH_ID);
            model.ListDoMat          = DM_DANHMUC_DATABusiness.GetDropDow(DMLOAI_CONSTANT.DOMAT, VanBan.DOMAT_ID);
            model.ListHoSo           = QuanLyHoSoBusiness.GetDropDow(HoSoID);
            model.ListLinhVuc        = DM_DANHMUC_DATABusiness.GetDropDow(DMLOAI_CONSTANT.LINHVUCVANBAN, VanBan.LINHVUC_ID);
            model.ListLoaiVanBan     = DM_DANHMUC_DATABusiness.GetDropDow(DMLOAI_CONSTANT.LOAI_VANBAN, VanBan.LOAI_VANBAN_ID);
            model.ListMucDoTruyCap   = DM_DANHMUC_DATABusiness.GetDropDow(DMLOAI_CONSTANT.QLHS_MUC_DO_TRUY_CAP, VanBan.MUCDO_TRUYCAP);
            model.ListNgonNgu        = DM_DANHMUC_DATABusiness.GetDropDow(DMLOAI_CONSTANT.QLHS_NGON_NGU, VanBan.NGONNGU_ID);
            model.ListTaiLieu        = TaiLieuDinhKemBusiness.GetDataByItemID(VanBan.ID, LOAITAILIEU.VANBAN);
            model.ListTinhTrangVatLy = DM_DANHMUC_DATABusiness.GetDropDow(DMLOAI_CONSTANT.QLHS_TINH_TRANG_VAT_LY, VanBan.TINHTRANG_VATLY);
            return(PartialView("_FormVanBan", model));
        }
Пример #2
0
        public ActionResult Edit(long id)
        {
            HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();
            var VanBan = HSCV_VANBANDENBusiness.Find(id);

            AssignUserInfo();
            if (VanBan == null || currentUser.ID != VanBan.NGUOITAO)
            {
                return(RedirectToAction("NotFound", "Home", new { area = "" }));
            }
            HscvVanBanPhatHanhModel model = new HscvVanBanPhatHanhModel();

            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            TAILIEUDINHKEMBusiness  = Get <TAILIEUDINHKEMBusiness>();
            //model.ListDoMat = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOMAT);
            model.ListDoKhan                 = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOKHAN);
            model.ListDoUuTien               = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOUUTIEN);
            model.ListLoaiVanBan             = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.LOAI_VANBAN);
            model.ListLinhVucVanBan          = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.LINHVUCVANBAN);
            model.Extension                  = VbDenExtension;
            model.MaxSize                    = VbDenSize;
            model.ListTaiLieu                = TAILIEUDINHKEMBusiness.GetDataByItemID(id, LOAITAILIEU.VANBANDEN);
            model.VanBan                     = VanBan;
            CCTC_THANHPHANBusiness           = Get <CCTC_THANHPHANBusiness>();
            model.TreeDonVi                  = CCTC_THANHPHANBusiness.GetTree(0);
            HSCV_VANBANDEN_DONVINHANBusiness = Get <HSCV_VANBANDEN_DONVINHANBusiness>();
            var ListDonViId = HSCV_VANBANDEN_DONVINHANBusiness.GetData(id);

            model.ListDonVi = model.ListDonVi = CCTC_THANHPHANBusiness.GetDataByIds(ListDonViId.Where(o => o.DONVI_ID.HasValue).Select(x => x.DONVI_ID.Value).ToList());
            return(View("Create", model));
        }
        public ActionResult EditVanBanDen(long id, int type = VANBANDEN_CONSTANT.CHUA_XULY)
        {
            AssignUserInfo();
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();
            attachmentBusiness    = Get <TAILIEUDINHKEMBusiness>();

            HSCV_VANBANDEN entityVanBanDen = hscvVanBanDenBusiness.Find(id);

            if (entityVanBanDen != null)
            {
                EditVanBanDenModel model = new EditVanBanDenModel(entityVanBanDen);
                model.typeOfVanBanDen      = type;
                model.groupDonViGuis       = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DONVIGUI_VANBAN, currentUser.ID, entityVanBanDen.DONVI_ID.GetValueOrDefault());
                model.groupDoKhans         = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DOKHAN, currentUser.ID, entityVanBanDen.DOKHAN_ID.GetValueOrDefault());
                model.groupDoUuTiens       = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DOUUTIEN, currentUser.ID, entityVanBanDen.DOMAT_ID.GetValueOrDefault());
                model.groupLoaiVanBans     = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.LOAI_VANBAN, currentUser.ID, entityVanBanDen.LOAIVANBAN_ID.GetValueOrDefault());
                model.groupLinhVucVanBans  = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.LINHVUCVANBAN, currentUser.ID, entityVanBanDen.LINHVUCVANBAN_ID.GetValueOrDefault());
                model.groupSoVanBanDens    = dmDanhMucDataBusiness.DsByMaNhomByDept(DMLOAI_CONSTANT.SOVANBANDEN, currentUser.ID, currentUser.DeptParentID.Value, entityVanBanDen.SOVANBANDEN_ID.GetValueOrDefault());
                model.groupTaiLieuDinhKems = attachmentBusiness.GetDataByItemID(entityVanBanDen.ID, LOAITAILIEU.VANBANDEN);
                model.entityVanBanDen      = entityVanBanDen;
                model.fileExtension        = extensionOfVanBanDen;
                model.fileMaxSize          = maxSizeOfVanBanDen;

                model.UsersReceived = entityVanBanDen.NGUOINHAN_TRUCTIEP_IDS != null?entityVanBanDen.NGUOINHAN_TRUCTIEP_IDS.ToListLong(',') : new List <long>();

                //model.Recipients = recipientBusiness.GetRecipientGroups(currentUser.DM_PHONGBAN_ID.GetValueOrDefault());

                model.GroupDeptTypes     = dmDanhMucDataBusiness.DsByMaNhom(VanBanConstant.LOAI_COQUAN, currentUser.ID, entityVanBanDen.LOAI_COQUAN_ID.GetValueOrDefault());
                model.GroupDocTypes      = dmDanhMucDataBusiness.DsByMaNhom(VanBanConstant.PHANLOAI_VANBAN, currentUser.ID, entityVanBanDen.THONGTIN_LOAI_ID.GetValueOrDefault());
                model.GroupDispatchTypes = dmDanhMucDataBusiness.DsByMaNhom(VanBanConstant.CONGVANDEN, currentUser.ID, entityVanBanDen.CONGVAN_DEN_ID.GetValueOrDefault());
                return(View("CreateVanBanDen", model));
            }
            return(Redirect("/Home/UnAuthor"));
        }
        public PartialViewResult Detail(long?id = 0)
        {
            QuanLyVanBanBusiness   = Get <QuanLyVanBanBusiness>();
            TaiLieuDinhKemBusiness = Get <TAILIEUDINHKEMBusiness>();
            VanBanDetailViewModel model = new VanBanDetailViewModel();

            model.VanBan      = QuanLyVanBanBusiness.GetDetail(id);
            model.ListTaiLieu = TaiLieuDinhKemBusiness.GetDataByItemID(id.Value, LOAITAILIEU.VANBAN);
            return(PartialView("_Detail", model));
        }
Пример #5
0
        public JsonResult Edit(FormCollection collection, string[] FOLDER_ID, string[] filename, IEnumerable <HttpPostedFileBase> filebase)
        {
            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            var result = new JsonResultBO(true);

            AssignUserInfo();
            try
            {
                var id    = collection["ID"].ToIntOrZero();
                var myobj = DM_DANHMUC_DATABusiness.Find(id);
                myobj.DATA   = collection["DATA"].ToIntOrZero();
                myobj.TEXT   = collection["TEXT"].ToString();
                myobj.CODE   = collection["CODE"];
                myobj.GHICHU = collection["GHICHU"].ToString();
                myobj.COLOR  = collection["COLOR"].ToString();
                myobj.DEPTID = collection["DEPTID"].ToIntOrNULL();
                if (filebase != null && filebase.FirstOrDefault() != null)
                {
                    FileUltilities file = new FileUltilities();
                    TAILIEUDINHKEMBusiness = Get <TAILIEUDINHKEMBusiness>();
                    List <TAILIEUDINHKEM> ListTaiLieu = TAILIEUDINHKEMBusiness.GetDataByItemID(myobj.ID, LOAITAILIEU.MST_DIVISION);
                    foreach (var item in ListTaiLieu)
                    {
                        file.RemoveFile(UPLOADFOLDER + "/" + item.DUONGDAN_FILE);
                        TAILIEUDINHKEMBusiness.repository.Delete(item.TAILIEU_ID);
                    }
                    TAILIEUDINHKEMBusiness.Save();
                    if (filename == null)
                    {
                        filename = new string[filebase.Count()];
                    }
                    UploadFileTool tool     = new UploadFileTool();
                    List <string>  FileName = new List <string>();
                    List <string>  FilePath = new List <string>();
                    List <long>    FileId   = new List <long>();
                    tool.UploadCustomFileAndOutPath(filebase, false, MstDivisionExtension, UPLOADFOLDER,
                                                    int.Parse(MstDivisionSize), FOLDER_ID, filename, myobj.ID,
                                                    out FilePath, out FileName, out FileName, out FileId, LOAITAILIEU.MST_DIVISION,
                                                    "Danh mục dùng chung");
                    if (FilePath.Any())
                    {
                        myobj.ICON = FilePath[0];
                    }
                }
                DM_DANHMUC_DATABusiness.Save(myobj);
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = "Không cập nhật được";
            }
            return(Json(result));
        }
Пример #6
0
        public JsonResult SaveVanBan(FormCollection form, List <HttpPostedFileBase> filebase, string[] FOLDER_ID, string[] filename)
        {
            QuanLyVanBanBusiness   = Get <QuanLyVanBanBusiness>();
            TaiLieuDinhKemBusiness = Get <TAILIEUDINHKEMBusiness>();

            var    SaveVanBan = new QUANLY_VANBAN();
            string title      = "Thêm mới văn bản thành công";

            if (!string.IsNullOrEmpty(form["ID"]) && Convert.ToInt32(form["ID"]) > 0)
            {
                SaveVanBan = QuanLyVanBanBusiness.Find(Convert.ToInt32(form["ID"]));
                title      = "Cập nhật văn bản thành công";
            }
            SaveVanBan.COQUAN_BANHANH_ID = form["COQUAN_BANHANH_ID"].ToIntOrNULL();
            SaveVanBan.DOMAT_ID          = form["DOMAT_ID"].ToIntOrNULL();
            SaveVanBan.GHICHU            = form["GHICHU"];
            SaveVanBan.HOSO_ID           = form["HOSO_ID"].ToIntOrNULL();
            SaveVanBan.LINHVUC_ID        = form["LINHVUC_ID"].ToIntOrNULL();
            SaveVanBan.LOAI_VANBAN_ID    = form["LOAI_VANBAN_ID"].ToIntOrNULL();
            SaveVanBan.MUCDO_TRUYCAP     = form["MUCDO_TRUYCAP"].ToIntOrNULL();
            SaveVanBan.NGAYBANHANH       = form["NGAYBANHANH"].ToDateTime();
            SaveVanBan.NGONNGU_ID        = form["NGONNGU_ID"].ToIntOrNULL();
            SaveVanBan.SO_KYHIEU         = form["SO_KYHIEU"];
            SaveVanBan.TIEUDE            = form["TIEUDE"];
            SaveVanBan.TINHTRANG_VATLY   = form["TINHTRANG_VATLY"].ToIntOrNULL();
            SaveVanBan.TOSO            = form["TOSO"].ToIntOrNULL();
            SaveVanBan.TRICHYEU_VANBAN = form["TRICHYEU_VANBAN"];
            QuanLyVanBanBusiness.Save(SaveVanBan);
            //Lưu file đính kèm
            if (filebase != null && filebase.Count() > 0)
            {
                if (!string.IsNullOrEmpty(form["ID"]) && Convert.ToInt32(form["ID"]) > 0 && filebase[0] != null)
                {
                    #region Xóa tài liệu đi kèm

                    List <TAILIEUDINHKEM> ListTaiLieu = TaiLieuDinhKemBusiness.GetDataByItemID(SaveVanBan.ID, LOAITAILIEU.VANBAN);
                    FileUltilities        file        = new FileUltilities();
                    foreach (var item in ListTaiLieu)
                    {
                        file.RemoveFile(URLPath + "\\" + item.DUONGDAN_FILE);
                        TaiLieuDinhKemBusiness.Delete(item.TAILIEU_ID);
                    }
                    TaiLieuDinhKemBusiness.Save();

                    #endregion Xóa tài liệu đi kèm
                }
                UploadFileTool tool   = new UploadFileTool();
                var            exited = tool.UploadCustomFile(filebase, true, FileAllowUpload, URLPath, MaxFileSizeUpload.ToIntOrZero(), FOLDER_ID, filename, SaveVanBan.ID, LOAITAILIEU.VANBAN, "Văn Bản");
            }
            return(Json(new { VanBan = QuanLyVanBanBusiness.GetByHoSo(SaveVanBan.HOSO_ID), message = title }, JsonRequestBehavior.AllowGet));
        }
Пример #7
0
        public JsonResult DeleteHoSo(long id)
        {
            QuanLyHoSoBusiness     = Get <QuanLyHoSoBusiness>();
            QuanLyVanBanBusiness   = Get <QuanLyVanBanBusiness>();
            TaiLieuDinhKemBusiness = Get <TAILIEUDINHKEMBusiness>();
            QUANLY_HOSO HoSo = QuanLyHoSoBusiness.Find(id);

            if (HoSo == null)
            {
                return(Json(new { Type = "ERROR", Message = "Không tìm thấy hồ sơ cần xóa" }));
            }

            #region Xóa các văn bản đi kèm

            List <QUANLY_VANBAN> ListVanBan = QuanLyVanBanBusiness.GetData(id);
            foreach (var item in ListVanBan)
            {
                QuanLyVanBanBusiness.Delete(item.ID);
            }
            QuanLyVanBanBusiness.Save();

            #endregion Xóa các văn bản đi kèm

            #region Xóa tài liệu đi kèm

            List <TAILIEUDINHKEM> ListTaiLieu = TaiLieuDinhKemBusiness.GetDataByItemID(id, LOAITAILIEU.QUANLY_HOSO);
            ListTaiLieu.AddRange(TaiLieuDinhKemBusiness.GetDataByItemID(ListVanBan.Select(x => x.ID).ToList(), LOAITAILIEU.QUANLY_VANBAN));
            FileUltilities file = new FileUltilities();
            foreach (var item in ListTaiLieu)
            {
                file.RemoveFile(UrlPath + "\\" + item.DUONGDAN_FILE);
                TaiLieuDinhKemBusiness.Delete(item.TAILIEU_ID);
            }
            TaiLieuDinhKemBusiness.Save();

            #endregion Xóa tài liệu đi kèm

            #region Xóa người nhận

            QuanLyHoSoNguoiNhapBusiness = Get <QuanLyHoSoNguoiNhapBusiness>();
            QuanLyHoSoNguoiNhapBusiness.DeleteByHoSo(id);
            QuanLyHoSoNguoiNhapBusiness.Save();

            #endregion Xóa người nhận

            QuanLyHoSoBusiness.Delete(id);
            QuanLyHoSoBusiness.Save();
            return(Json(new { Status = true, Message = "Xóa hồ sơ thành công" }));
        }
Пример #8
0
        public JsonResult Delete(long id)
        {
            HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();
            HSCV_VANBANDEN VanBan = HSCV_VANBANDENBusiness.Find(id);

            AssignUserInfo();
            if (VanBan == null || currentUser.ID != VanBan.NGUOITAO)
            {
                return(Json(new { Type = "ERROR", Message = "Không tìm thấy văn bản phát hành cần xóa" }));
            }
            TAILIEUDINHKEMBusiness = Get <TAILIEUDINHKEMBusiness>();
            FileUltilities        file        = new FileUltilities();
            List <TAILIEUDINHKEM> ListTaiLieu = TAILIEUDINHKEMBusiness.GetDataByItemID(id, LOAITAILIEU.VANBANDEN);

            foreach (var item in ListTaiLieu)
            {
                TAILIEUDINHKEMBusiness.repository.Delete(item.TAILIEU_ID);
                file.RemoveFile(URL_FOLDER + item.DUONGDAN_FILE);
                if (!string.IsNullOrEmpty(item.PDF_VERSION))
                {
                    file.RemoveFile(URL_FOLDER + item.PDF_VERSION);
                }
            }
            THUMUC_LUUTRUBusiness = Get <THUMUC_LUUTRUBusiness>();
            THUMUC_LUUTRU ThuMuc = THUMUC_LUUTRUBusiness.GetDataByNam(id.ToString(), ThuMucLuuTruConstant.DefaultVbDen);

            if (ThuMuc != null)
            {
                ThuMuc.IS_DELETE = true;
                THUMUC_LUUTRUBusiness.Save(ThuMuc);
            }
            TAILIEUDINHKEMBusiness.Save();
            HSCV_VANBANDENBusiness.repository.Delete(id);
            HSCV_VANBANDENBusiness.Save();
            #region Xóa đơn vị nhận văn bản
            HSCV_VANBANDEN_DONVINHANBusiness = Get <HSCV_VANBANDEN_DONVINHANBusiness>();
            var ListDonVi = HSCV_VANBANDEN_DONVINHANBusiness.GetData(id);
            if (ListDonVi.Any())
            {
                foreach (var item in ListDonVi)
                {
                    HSCV_VANBANDEN_DONVINHANBusiness.repository.Delete(item.ID);
                }
                HSCV_VANBANDEN_DONVINHANBusiness.Save();
            }
            #endregion
            return(Json(new { Type = "SUCCESS", Message = "Xóa văn bản phát hành thành công" }));
        }
 public JsonResult DeleteVanBan(long?id = 0)
 {
     QuanLyVanBanBusiness   = Get <QuanLyVanBanBusiness>();
     TaiLieuDinhKemBusiness = Get <TAILIEUDINHKEMBusiness>();
     QuanLyVanBanBusiness.Delete(id);
     QuanLyVanBanBusiness.Save();
     #region Xóa tài liệu đi kèm
     List <TAILIEUDINHKEM> ListTaiLieu = TaiLieuDinhKemBusiness.GetDataByItemID(id.Value, LOAITAILIEU.VANBAN);
     FileUltilities        file        = new FileUltilities();
     foreach (var item in ListTaiLieu)
     {
         file.RemoveFile(URLPath + "\\" + item.DUONGDAN_FILE);
         TaiLieuDinhKemBusiness.Delete(item.TAILIEU_ID);
     }
     TaiLieuDinhKemBusiness.Save();
     #endregion
     return(Json(new { message = "Xóa văn bản thành công" }, JsonRequestBehavior.AllowGet));
 }
Пример #10
0
        public string GetChild(string pid, string sort)
        {
            UserInfoBO user = GetUserInfo();
            List <THUMUC_LUUTRU_BO>  subMenu    = new List <THUMUC_LUUTRU_BO>();
            List <TAILIEUDINHKEM_BO> lstTaiLieu = new List <TAILIEUDINHKEM_BO>();

            TAILIEUDINHKEMBusiness = Get <TAILIEUDINHKEMBusiness>();
            CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>();
            int pID = pid.ToIntOrZero();

            THUMUC_LUUTRUBusiness = Get <THUMUC_LUUTRUBusiness>();
            EFILE_CHIASEBusiness  = Get <EFILE_CHIASEBusiness>();
            THUMUC_LUUTRU THUMUC = THUMUC_LUUTRUBusiness.Find(pID);

            if (THUMUC != null)
            {
                if (THUMUC.PERMISSION.HasValue && THUMUC.PERMISSION.Value == FolderPermission.CAN_WRITE)
                {
                    subMenu = new List <THUMUC_LUUTRU_BO>();
                }
                else
                {
                    CCTC_THANHPHAN DONVI = new CCTC_THANHPHAN();
                    if (THUMUC != null)
                    {
                        DONVI = CCTC_THANHPHANBusiness.Find(THUMUC.DONVI_ID);
                    }
                    else
                    {
                        DONVI = CCTC_THANHPHANBusiness.Find(user.DM_PHONGBAN_ID);
                    }
                    List <int> Ids = new List <int>();
                    #region Lấy tài liệu + thư mục con
                    subMenu = TAILIEUDINHKEMBusiness.getListFileByFolder(pID, LOAITAILIEU.TM_UPLOAD, 0, DONVI.NAME, THUMUC);
                    CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>();
                    subMenu.AddRange(THUMUC_LUUTRUBusiness.GetThuMucByParent(pID, 0, Ids));
                    #endregion
                }
            }
            return(JsonConvert.SerializeObject(subMenu));
        }
Пример #11
0
        public JsonResult deleteIcon(int id)
        {
            TAILIEUDINHKEMBusiness = Get <TAILIEUDINHKEMBusiness>();
            var tailieu = TAILIEUDINHKEMBusiness.repository.All()
                          .Where(x => x.ITEM_ID == id && x.LOAI_TAILIEU == LOAITAILIEU.MST_DIVISION).FirstOrDefault();

            if (tailieu != null)
            {
                TAILIEUDINHKEMBusiness.repository.Delete(tailieu.TAILIEU_ID);
            }
            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            var dataObj = DM_DANHMUC_DATABusiness.Find(id);

            if (dataObj != null)
            {
                dataObj.ICON = null;
                DM_DANHMUC_DATABusiness.Save(dataObj);
            }
            var result = new JsonResultBO(true);

            return(Json(result));
        }
        public JsonResult Delete(long id)
        {
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            HSCV_VANBANDEN entityVanBanDen = hscvVanBanDenBusiness.Find(id);

            AssignUserInfo();
            if (entityVanBanDen == null || currentUser.ID != entityVanBanDen.NGUOITAO)
            {
                return(Json(new { Type = "ERROR", Message = "Bạn không có quyền xóa văn bản trình ký này" }));
            }
            attachmentBusiness = Get <TAILIEUDINHKEMBusiness>();
            FileUltilities        file        = new FileUltilities();
            List <TAILIEUDINHKEM> ListTaiLieu = attachmentBusiness.GetDataByItemID(id, LOAITAILIEU.VANBANDEN);

            foreach (var item in ListTaiLieu)
            {
                attachmentBusiness.repository.Delete(item.TAILIEU_ID);
                file.RemoveFile(uploadFolder + item.DUONGDAN_FILE);
                if (!string.IsNullOrEmpty(item.PDF_VERSION))
                {
                    file.RemoveFile(uploadFolder + item.PDF_VERSION);
                }
            }
            storeFolderBusiness = Get <THUMUC_LUUTRUBusiness>();
            THUMUC_LUUTRU ThuMuc = storeFolderBusiness.GetDataByNam(id.ToString(), ThuMucLuuTruConstant.DefaultVanban);

            if (ThuMuc != null)
            {
                ThuMuc.IS_DELETE = true;
                storeFolderBusiness.Save(ThuMuc);
            }
            attachmentBusiness.Save();
            hscvVanBanDenBusiness.repository.Delete(id);
            #region xóa văn bản đến trong elastic

            ElasticSearch.deleteDocument(id.ToString(), ElasticType.VanBanDen);
            #endregion
            return(Json(new { Type = "SUCCESS", Message = "Xóa văn bản đến thành công" }));
        }
Пример #13
0
        public ActionResult Update(long id)
        {
            AssignUserInfo();
            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            HSCV_CONGVIECBusiness   = Get <HSCV_CONGVIECBusiness>();
            CongViecViewModel model = new CongViecViewModel();

            model.UserInfo = currentUser;
            var CongViec = HSCV_CONGVIECBusiness.Find(id);

            if (CongViec == null || currentUser.ID != CongViec.NGUOIGIAOVIEC_ID)
            {
                CongViec = new HSCV_CONGVIEC();
            }
            model.ListDoKhan       = DM_DANHMUC_DATABusiness.DsByMaNhom(DMLOAI_CONSTANT.DOKHAN, currentUser.ID, CongViec.DOKHAN.HasValue ? CongViec.DOKHAN.Value : 0);
            model.ListDoUuTien     = DM_DANHMUC_DATABusiness.DsByMaNhom(DMLOAI_CONSTANT.DOUUTIEN, currentUser.ID, CongViec.DOUU_TIEN.HasValue ? CongViec.DOUU_TIEN.Value : 0);
            TAILIEUDINHKEMBusiness = Get <TAILIEUDINHKEMBusiness>();
            model.ListTaiLieu      = TAILIEUDINHKEMBusiness.GetDataByItemID(id, LOAITAILIEU.CONGVIEC);
            model.CongViec         = CongViec;
            model.userInfo         = currentUser;
            return(View(model));
        }
Пример #14
0
        public JsonResult SavePhatHanhVanBan(FormCollection col)
        {
            AssignUserInfo();
            SMSDAL.SendSMSDAL sms = new SMSDAL.SendSMSDAL();
            SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>();
            LogSMSBusiness      = Get <LogSMSBusiness>();

            HSCV_VANBANDIBusiness  = Get <HSCV_VANBANDIBusiness>();
            HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();

            DM_NHOMDANHMUCBusiness  = Get <DM_NHOMDANHMUCBusiness>();
            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            TAILIEUDINHKEMBusiness  = Get <TAILIEUDINHKEMBusiness>();
            DM_NGUOIDUNGBusiness    = Get <DM_NGUOIDUNGBusiness>();


            WF_MODULEBusiness  = Get <WF_MODULEBusiness>();
            WF_PROCESSBusiness = Get <WF_PROCESSBusiness>();

            WF_STATE_FUNCTIONBusiness = Get <WF_STATE_FUNCTIONBusiness>();
            WF_STATEBusiness          = Get <WF_STATEBusiness>();
            WF_STREAMBusiness         = Get <WF_STREAMBusiness>();

            WF_FUNCTION_DONEBusiness     = Get <WF_FUNCTION_DONEBusiness>();
            WF_LOGBusiness               = Get <WF_LOGBusiness>();
            WF_ITEM_USER_PROCESSBusiness = Get <WF_ITEM_USER_PROCESSBusiness>();

            CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>();

            string selectedDept = col["department-choose"];
            long?  ID           = col["ID"].ToLongOrNULL();

            if (0 >= ID)
            {
                return(Json(new { Type = "ERROR", Message = "Không tìm thấy văn bản cần lưu sổ và phát hành" }));
            }

            #region cập nhật thông tin văn bản đi
            HSCV_VANBANDI VanBanDi = HSCV_VANBANDIBusiness.Find(ID);
            if (VanBanDi == null)
            {
                return(Json(new { Type = "ERROR", Message = "Không tìm thấy văn bản cần lưu sổ và phát hành" }));
            }

            if (!string.IsNullOrEmpty(col["SOHIEU"]))
            {
                VanBanDi.SOHIEU = col["SOHIEU"];
            }
            VanBanDi.USER_RECEIVE_DIRECTLY = col["USERS_RECEIVE_SPECIAL"];
            VanBanDi.DONVINHAN_INTERNAL_ID = selectedDept;
            VanBanDi.SOTHEOSO    = col["SOTHEOSO"];
            VanBanDi.SOVANBAN_ID = col["SOVANBAN_ID"].ToIntOrNULL();
            if (!string.IsNullOrEmpty(col["TRICHYEU"]))
            {
                VanBanDi.TRICHYEU = col["TRICHYEU"].Trim();
            }
            if (!string.IsNullOrEmpty(col["NGAY_HIEULUC"]))
            {
                try
                {
                    VanBanDi.NGAYCOHIEULUC = col["NGAY_HIEULUC"].ToDateTime();
                }
                catch (Exception e)
                {
                }
            }
            if (!string.IsNullOrEmpty(col["NGAYHET_HIEULUC"]))
            {
                try
                {
                    VanBanDi.NGAYHETHIEULUC = col["NGAYHET_HIEULUC"].ToDateTime();
                }
                catch (Exception e)
                {
                }
            }
            if (!string.IsNullOrEmpty(col["NGAYBANHANH"]))
            {
                try
                {
                    VanBanDi.NGAYBANHANH = col["NGAYBANHANH"].ToDateTime();
                }
                catch (Exception e)
                {
                }
            }
            HSCV_VANBANDIBusiness.Save(VanBanDi);
            #endregion

            //cập nhật số đi theo văn bản vào số văn bản hiện tại
            int numbSoDiTheoSo = VanBanDi.SOTHEOSO.GetPrefixNumber();
            DM_DANHMUC_DATABusiness.UpdateSoVanBan(VanBanDi.SOVANBAN_ID.GetValueOrDefault(), numbSoDiTheoSo);

            #region Convert Văn bản
            List <int> ListDonVi       = selectedDept.ToListInt(',');
            DateTime?  NGAY_HIEULUC    = col["NGAY_HIEULUC"].ToDateTime();
            DateTime?  NGAYHET_HIEULUC = col["NGAYHET_HIEULUC"].ToDateTime();
            string     TRICHYEU        = col["TRICHYEU"];
            string     SOHIEU          = col["SOHIEU"];
            if (!string.IsNullOrEmpty(SOHIEU))
            {
                SOHIEU = SOHIEU.Trim();
            }
            if (!string.IsNullOrEmpty(TRICHYEU))
            {
                TRICHYEU = TRICHYEU.Trim();
            }

            List <TAILIEUDINHKEM> ListTaiLieu = TAILIEUDINHKEMBusiness.GetDataByItemID(ID.HasValue ? ID.Value : 0, LOAITAILIEU.VANBAN);
            DM_NGUOIDUNG          NguoiDung   = DM_NGUOIDUNGBusiness.Find(VanBanDi.NGUOIKY_ID);

            #endregion
            #region cập nhật wf function done

            var process = WF_PROCESSBusiness.GetProcess(VanBanDi.ID, MODULE_CONSTANT.VANBANTRINHKY);

            var function     = WF_STATE_FUNCTIONBusiness.GetStateFunction((int)process.CURRENT_STATE);
            var functionDone = new WF_FUNCTION_DONE();
            functionDone.ITEM_TYPE      = MODULE_CONSTANT.VANBANTRINHKY;
            functionDone.ITEM_ID        = VanBanDi.ID;
            functionDone.STATE          = process.CURRENT_STATE;
            functionDone.FUNCTION_STATE = function.ID;
            functionDone.create_at      = DateTime.Now;
            functionDone.create_by      = currentUser.ID;
            WF_FUNCTION_DONEBusiness.Save(functionDone);
            var log = new WF_LOG();
            log.ITEM_ID      = VanBanDi.ID;
            log.ITEM_TYPE    = MODULE_CONSTANT.VANBANTRINHKY;
            log.MESSAGE      = "<div class='label label-info'>Đã phát hành</div>";
            log.WF_ID        = process.WF_ID;
            log.create_at    = DateTime.Now;
            log.create_by    = currentUser.ID;
            log.NGUOIXULY_ID = currentUser.ID;
            WF_LOGBusiness.Save(log);
            //Ghi nhận luồng đã xử lý xong
            var state = WF_STATEBusiness.Find(process.CURRENT_STATE);
            if (state != null && state.IS_KETTHUC == true)
            {
                process.IS_END = true;
                WF_PROCESSBusiness.Save(process);
            }

            var itemprocess = WF_ITEM_USER_PROCESSBusiness.repository.All().Where(x =>
                                                                                  x.ITEM_ID == process.ITEM_ID && x.ITEM_TYPE == process.ITEM_TYPE &&
                                                                                  x.STEP_ID == process.CURRENT_STATE)
                              .FirstOrDefault();
            if (itemprocess != null)
            {
                itemprocess.DAXULY = true;
                WF_ITEM_USER_PROCESSBusiness.Save(itemprocess);
            }
            #endregion

            //gửi văn bản đi cho đơn vị
            SaveVanBanPhatHanhToDonVi(VanBanDi, sms);

            //gửi văn bản đi cho cá nhân
            SaveVanBanPhatHanhToCaNhan(VanBanDi, sms);

            return(Json(new { Type = "SUCCESS", Message = "Lưu sổ và phát hành văn bản thành công" }));
        }
        public ActionResult DetailVanBanDen(long id, int type = VANBANDEN_CONSTANT.CHUA_XULY)
        {
            AssignUserInfo();
            wfItemUserProcess     = Get <WF_ITEM_USER_PROCESSBusiness>();
            wfReviewUserBusiness  = Get <WF_REVIEW_USERBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            attachmentBusiness    = Get <TAILIEUDINHKEMBusiness>();
            var            HSCVREADVANBANBusiness = Get <HSCVREADVANBANBusiness>();
            HSCV_VANBANDEN entityVanBanDen        = hscvVanBanDenBusiness.Find(id);
            bool           canAccess = wfItemUserProcess.CheckPermissionProcess(id, true == entityVanBanDen.IS_NOIBO ? MODULE_CONSTANT.VANBANDENNOIBO : MODULE_CONSTANT.VANBANDEN, currentUser.ID);
            bool           canReview = wfReviewUserBusiness.CheckPermissionReview(id, true == entityVanBanDen.IS_NOIBO ? MODULE_CONSTANT.VANBANDENNOIBO : MODULE_CONSTANT.VANBANDEN, currentUser.ID);

            if ((!canAccess && !canReview) || entityVanBanDen == null)
            {
                return(Redirect("/Home/UnAuthor"));
            }

            var checkread = HSCVREADVANBANBusiness.repository.All()
                            .Where(x => x.USER_ID == currentUser.ID && x.TYPE == 1 && x.VANBAN_ID == id).FirstOrDefault();

            if (checkread == null)
            {
                HSCV_READVANBAN readObj = new HSCV_READVANBAN();
                readObj.TYPE      = 1;
                readObj.USER_ID   = currentUser.ID;
                readObj.VANBAN_ID = id;
                HSCVREADVANBANBusiness.Save(readObj);
            }

            DetailVanBanDenViewModel model                    = new DetailVanBanDenViewModel();
            DM_DANHMUC_DATA          entityDonViGui           = dmDanhMucDataBusiness.Find(entityVanBanDen.DONVI_ID);
            DM_DANHMUC_DATA          entityDoKhan             = dmDanhMucDataBusiness.Find(entityVanBanDen.DOKHAN_ID);
            DM_DANHMUC_DATA          entityDoUuTien           = dmDanhMucDataBusiness.Find(entityVanBanDen.DOMAT_ID);
            DM_DANHMUC_DATA          entityLinhVucVanBan      = dmDanhMucDataBusiness.Find(entityVanBanDen.LINHVUCVANBAN_ID);
            DM_DANHMUC_DATA          entityLoaiVanBan         = dmDanhMucDataBusiness.Find(entityVanBanDen.LOAIVANBAN_ID);
            DM_DANHMUC_DATA          entityLoaiCoQuan         = dmDanhMucDataBusiness.Find(entityVanBanDen.LOAI_COQUAN_ID);
            DM_DANHMUC_DATA          entityThongTinLoaiVanBan = dmDanhMucDataBusiness.Find(entityVanBanDen.THONGTIN_LOAI_ID);
            DM_DANHMUC_DATA          entityCongVanDen         = dmDanhMucDataBusiness.Find(entityVanBanDen.CONGVAN_DEN_ID);

            model.currentUserId         = currentUser.ID;
            model.entityVanBanDen       = entityVanBanDen;
            model.nameOfDonViGui        = entityDonViGui != null ? entityDonViGui.TEXT : string.Empty;
            model.nameOfDoKhan          = entityDoKhan != null ? entityDoKhan.TEXT : string.Empty;
            model.nameOfDoUuTien        = entityDoUuTien != null ? entityDoUuTien.TEXT : string.Empty;
            model.nameOfLinhVucVanBan   = entityLinhVucVanBan != null ? entityLinhVucVanBan.TEXT : string.Empty;
            model.nameOfLoaiVanBan      = entityLoaiVanBan != null ? entityLoaiVanBan.TEXT : string.Empty;
            model.nameOfLoaiCoQuan      = entityLoaiCoQuan != null ? entityLoaiCoQuan.TEXT : string.Empty;
            model.nameOfThongTinLoaiBan = entityThongTinLoaiVanBan != null ? entityThongTinLoaiVanBan.TEXT : string.Empty;
            model.nameOfCongVanDen      = entityCongVanDen != null ? entityCongVanDen.TEXT : string.Empty;

            model.groupOfTaiLieuDinhKems = attachmentBusiness.GetDataByItemID(entityVanBanDen.ID, LOAITAILIEU.VANBANDEN);
            model.typeOfVanBanDen        = type;

            bool isFinish = hscvVanBanDenBusiness.CheckIsFinish(id);

            model.canCreateCalendar = (entityVanBanDen.NGUOITAO == currentUser.ID && isFinish);
            if (isFinish == false && entityVanBanDen.NGAYCONGTAC != null)
            {
                //kiểm tra người dùng có bước xử lý hay không?
                bool hasSteps = false;
                wfProcessBusiness       = Get <WF_PROCESSBusiness>();
                wfReviewUserBusiness    = Get <WF_REVIEW_USERBusiness>();
                wfReviewBusiness        = Get <WF_REVIEWBusiness>();
                wfStateBusiness         = Get <WF_STATEBusiness>();
                wfStepBusiness          = Get <WF_STEPBusiness>();
                wfStateFunctionBusiness = Get <WF_STATE_FUNCTIONBusiness>();

                WF_PROCESS process = wfProcessBusiness.repository.All()
                                     .Where(x => x.ITEM_ID == id && x.ITEM_TYPE == MODULE_CONSTANT.VANBANDEN &&
                                            x.USER_ID == currentUser.ID).FirstOrDefault();

                WF_REVIEW reviewReject = wfReviewBusiness.repository.All()
                                         .Where(x => x.ITEMID == id && x.ITEMTYPE == MODULE_CONSTANT.VANBANDEN && x.IS_REJECT == true)
                                         .OrderByDescending(x => x.ID).FirstOrDefault();

                WF_FUNCTION       function      = null;
                bool              requireReview = false;
                List <WF_STEP>    nextSteps     = new List <WF_STEP>();
                List <StepBackBO> stepsBack     = new List <StepBackBO>();

                if (process != null)
                {
                    if (process != null || reviewReject != null)
                    {
                        WF_STATE startState = wfStateBusiness.Find(process.CURRENT_STATE);
                        if (startState != null)
                        {
                            if (startState.IS_KETTHUC != true)
                            {
                                nextSteps = wfStepBusiness.GetListNextStep(process.WF_ID.GetValueOrDefault(), startState.ID);
                                stepsBack = wfStepBusiness.GetListNextStepBack(process);
                            }

                            function = wfStateFunctionBusiness.CheckGetFunction(startState.ID, entityVanBanDen.ID, MODULE_CONSTANT.VANBANDEN);
                        }
                    }
                    else if (process.IS_PENDING == true)
                    {
                        WF_REVIEW reviewFinish = wfReviewBusiness.repository.All()
                                                 .Where(x => x.ITEMID == id && x.ITEMTYPE == MODULE_CONSTANT.VANBANDEN && x.IS_FINISH != true)
                                                 .OrderByDescending(x => x.ID).FirstOrDefault();
                        if (reviewFinish != null)
                        {
                            requireReview = wfReviewUserBusiness.CheckReviewing(reviewFinish.ID, currentUser.ID);
                        }
                    }

                    hasSteps = (nextSteps.Any() || stepsBack.Any() || function != null || requireReview == true);
                }
                model.hasSteps = hasSteps;
                if (hasSteps)
                {
                    entityVanBanDen.NGAYCONGTAC = new DateTime(entityVanBanDen.NGAYCONGTAC.Value.Year, entityVanBanDen.NGAYCONGTAC.Value.Month, entityVanBanDen.NGAYCONGTAC.Value.Day);
                    lichCongTacBusiness         = Get <LICHCONGTACBusiness>();
                    model.isDuplicateCalendar   = lichCongTacBusiness.repository.All()
                                                  .Where(x => x.LANHDAO_ID == currentUser.ID &&
                                                         x.NGAY_CONGTAC.Equals(entityVanBanDen.NGAYCONGTAC.Value)).Count() > 0;
                }
            }

            return(View(model));
        }
 public ActionResult DetailVanBan(long ID)
 {
     AssignUserInfo();
     #region check quyền truy cập của người dùng đến văn bản hiện tại
     WF_ITEM_USER_PROCESSBusiness = Get <WF_ITEM_USER_PROCESSBusiness>();
     WF_PROCESSBusiness           = Get <WF_PROCESSBusiness>();
     HSCV_VANBANDIBusiness        = Get <HSCV_VANBANDIBusiness>();
     DM_NGUOIDUNGBusiness         = Get <DM_NGUOIDUNGBusiness>();
     var WF_REVIEW_USERBusiness = Get <WF_REVIEW_USERBusiness>();
     DM_DANHMUC_DATABusiness DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
     // check quyền truy cập theo workflow
     bool HasPermissionAccess = WF_ITEM_USER_PROCESSBusiness.CheckPermissionProcess(ID, MODULE_CONSTANT.VANBANTRINHKY, currentUser.ID);
     // check quyền truy cập với quyền review
     bool HasPermissionReview      = WF_REVIEW_USERBusiness.CheckPermissionReview(ID, MODULE_CONSTANT.VANBANTRINHKY, currentUser.ID);
     bool HasPermissionMainProcess = WF_PROCESSBusiness.CheckPermissionProcess(ID, MODULE_CONSTANT.VANBANTRINHKY, currentUser.ID);
     if (!HasPermissionAccess && !HasPermissionReview)
     {
         return(Redirect("/Home/UnAuthor"));
     }
     ThongTinVanBanDiVM myModel = new ThongTinVanBanDiVM();
     myModel.VanBanTrinhKy            = HSCV_VANBANDIBusiness.Find(ID);
     myModel.HasPermissionMainProcess = HasPermissionMainProcess;
     if (myModel.VanBanTrinhKy == null)
     {
         return(Redirect("/Home/UnAuthor"));
     }
     #region lấy tên danh mục - do dữ liệu văn bản rất lớn cho nên không join với bảng danh mục mà thực hiện 3,4 câu sub-query, tốc độ nhanh hơn
     // chỉ áp dụng kiểu truy vấn này với màn hình chi tiết 1 văn bản
     // ở màn hình danh sách tuyệt đối không áp dụng query ntn
     var DanhMucDoKhan = DM_DANHMUC_DATABusiness.Find(myModel.VanBanTrinhKy.DOKHAN_ID);
     if (DanhMucDoKhan != null)
     {
         myModel.STR_DOKHAN = DanhMucDoKhan.TEXT;
     }
     var DanhMucDoUuTien = DM_DANHMUC_DATABusiness.Find(myModel.VanBanTrinhKy.DOUUTIEN_ID);
     if (DanhMucDoUuTien != null)
     {
         myModel.STR_DOUUTIEN = DanhMucDoUuTien.TEXT;
     }
     var DanhMucLinhVuc = DM_DANHMUC_DATABusiness.Find(myModel.VanBanTrinhKy.LINHVUCVANBAN_ID);
     if (DanhMucLinhVuc != null)
     {
         myModel.STR_LINHVUCVANBAN = DanhMucLinhVuc.TEXT;
     }
     var DanhMucLoaiVanBan = DM_DANHMUC_DATABusiness.Find(myModel.VanBanTrinhKy.LOAIVANBAN_ID);
     if (DanhMucLoaiVanBan != null)
     {
         myModel.STR_LOAIVANBAN = DanhMucLoaiVanBan.TEXT;
     }
     var NguoiKyVanBan = DM_NGUOIDUNGBusiness.Find(myModel.VanBanTrinhKy.NGUOIKY_ID);
     if (NguoiKyVanBan != null)
     {
         myModel.STR_NGUOIKY = NguoiKyVanBan.HOTEN;
     }
     //Danh sách tài liệu đính kèm của văn bản
     TAILIEUDINHKEMBusiness = Get <TAILIEUDINHKEMBusiness>();
     myModel.ListTaiLieu    = TAILIEUDINHKEMBusiness.GetDataByItemID(ID, LOAITAILIEU.VANBAN);
     if (!string.IsNullOrEmpty(myModel.VanBanTrinhKy.DONVINHAN_INTERNAL_ID))
     {
         CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>();
         myModel.ListDonVi      = CCTC_THANHPHANBusiness.GetDataByIds(myModel.VanBanTrinhKy.DONVINHAN_INTERNAL_ID.ToListInt(','));
     }
     else
     {
         myModel.ListDonVi = new List <CCTC_THANHPHAN>();
     }
     #endregion
     #endregion
     #region danh sách comment
     var HscvVanBanDiTraoDoiBusiness = Get <HSCV_VANBANDI_TRAODOIBusiness>();
     myModel.LstNoiDungTraoDoi = HscvVanBanDiTraoDoiBusiness.GetListCommentByVanBanDiId(ID);
     myModel.LstRootComment    = myModel.LstNoiDungTraoDoi.Where(x => x.REPLY_ID == null).OrderByDescending(x => x.NGAYTAO).ToList();
     List <long> LstRootCommentIds = myModel.LstRootComment.Select(x => x.ID).ToList();
     var         LstTaiLieuComment = TAILIEUDINHKEMBusiness.GetDataForTaskByListItemId(LstRootCommentIds, LOAITAILIEU.NOIDUNGTRAODOIVANBANDI);
     myModel.LstTaiLieuComment = LstTaiLieuComment;
     #endregion
     return(View(myModel));
 }
Пример #17
0
        public ActionResult Detail(long id)
        {
            HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();
            var VanBanBO = HSCV_VANBANDENBusiness.FindById(id);

            if (VanBanBO == null)
            {
                return(RedirectToAction("NotFound", "Home", new { area = "" }));
            }
            AssignUserInfo();
            HSCV_VANBANDEN_DONVINHANBusiness = Get <HSCV_VANBANDEN_DONVINHANBusiness>();
            var ListDonViId = HSCV_VANBANDEN_DONVINHANBusiness.GetData(id);

            //Nếu là quản lý đơn vị
            CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>();
            if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.DONVI))
            {
                CCTC_THANHPHAN DonVi = CCTC_THANHPHANBusiness.Find(currentUser.DM_PHONGBAN_ID);
                List <int>     Ids   = new List <int>();
                if (DonVi != null && DonVi.PARENT_ID.HasValue && DonVi.PARENT_ID.Value > 0)
                {
                    Ids = CCTC_THANHPHANBusiness.GetDSChild(DonVi.PARENT_ID.Value).Select(x => x.ID).ToList();
                    Ids.Add(DonVi.PARENT_ID.Value);
                }
                else
                {
                    Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList();
                    Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
                }
                if (ListDonViId.Where(x => Ids.Contains(x.DONVI_ID.Value)).Count() == 0)
                {
                    return(RedirectToAction("NotFound", "Home", new { area = "" }));
                }
                //if (!VanBanBO.DONVI_ID.HasValue || !Ids.Contains(VanBanBO.DONVI_ID.Value))
                //{
                //    return RedirectToAction("NotFound", "Home", new { area = "" });
                //}
            }
            //Nếu là quản lý phòng ban
            else if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.PHONGBAN))
            {
                List <int> Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList();
                Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
                if (ListDonViId.Where(x => Ids.Contains(x.DONVI_ID.Value)).Count() == 0)
                {
                    return(RedirectToAction("NotFound", "Home", new { area = "" }));
                }
                //if (!VanBanBO.DONVI_ID.HasValue || !Ids.Contains(VanBanBO.DONVI_ID.Value))
                //{
                //    return RedirectToAction("NotFound", "Home", new { area = "" });
                //}
            }
            else if (currentUser.ID != VanBanBO.NGUOITAO && !ListDonViId.Select(x => x.DONVI_ID).Contains(currentUser.DM_PHONGBAN_ID))
            {
                return(RedirectToAction("NotFound", "Home", new { area = "" }));
            }
            //List<long> Ids = initIds(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
            //if (VanBanBO.VANBANDI_ID.HasValue && !Ids.Contains(VanBanBO.VANBANDI_ID.Value))
            //{
            //    return RedirectToAction("NotFound", "Home");
            //}

            HscvVanBanPhatHanhModel model = new HscvVanBanPhatHanhModel();

            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            TAILIEUDINHKEMBusiness  = Get <TAILIEUDINHKEMBusiness>();
            model.ListTaiLieu       = TAILIEUDINHKEMBusiness.GetDataByItemID(id, LOAITAILIEU.VANBANDEN);
            model.VanBanBO          = VanBanBO;

            model.ListDonVi = model.ListDonVi = CCTC_THANHPHANBusiness.GetDataByIds(ListDonViId.Where(o => o.DONVI_ID.HasValue).Select(x => x.DONVI_ID.Value).ToList());
            return(View(model));
        }