Esempio n. 1
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));
        }
Esempio n. 2
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));
        }
Esempio n. 3
0
        public JsonResult SaveItem(LOAITAILIEU_THUOCTINH ThuocTinh)
        {
            if (ThuocTinh.DANHMUC_ID == 0)
            {
                return(Json(new { Type = "ERROR", Message = "Bạn chưa chọn loại tài liệu cho thuộc tính" }, JsonRequestBehavior.AllowGet));
            }
            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            DM_DANHMUC_DATA DanhMuc = DM_DANHMUC_DATABusiness.Find(ThuocTinh.DANHMUC_ID);

            if (DanhMuc == null)
            {
                return(Json(new { Type = "ERROR", Message = "Không tìm thấy loại tài liệu được chọn" }, JsonRequestBehavior.AllowGet));
            }
            LOAITAILIEU_THUOCTINHBusiness = Get <LOAITAILIEU_THUOCTINHBusiness>();
            if (ThuocTinh.ID > 0)
            {
                #region Cập nhật thuộc tính
                var result = LOAITAILIEU_THUOCTINHBusiness.Find(ThuocTinh.ID);
                if (result == null)
                {
                    return(Json(new { Type = "ERROR", Message = "Không tìm thấy thuộc tính cần cập nhật" }, JsonRequestBehavior.AllowGet));
                }
                result.DANHMUC_ID    = ThuocTinh.DANHMUC_ID;
                result.MOTA          = ThuocTinh.MOTA;
                result.TEN_THUOCTINH = ThuocTinh.TEN_THUOCTINH;
                result.TRANGTHAI     = ThuocTinh.TRANGTHAI;
                LOAITAILIEU_THUOCTINHBusiness.Save(result);
                return(Json(new { Type = "SUCCESS", Message = "Cập nhật thuộc tính thành công" }, JsonRequestBehavior.AllowGet));

                #endregion
            }
            else
            {
                #region Thêm mới thuộc tính
                LOAITAILIEU_THUOCTINHBusiness.Save(ThuocTinh);
                #endregion
            }
            return(Json(new { Type = "SUCCESS", Message = "Thêm mới thuộc tính thành công" }, JsonRequestBehavior.AllowGet));
        }
        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));
 }
Esempio n. 6
0
        public PartialViewResult GetReportResult(FormCollection form)
        {
            string   categoryCode              = string.Empty;
            string   reportTitle               = string.Empty;
            int      reportType                = form["reportType"].ToIntOrZero();
            int      timeFilterType            = form["timeFilterType"].ToIntOrZero();
            int      queryItemCategoryType     = form["queryItemCategoryType"].ToIntOrZero();
            int      queryDepartment           = form["queryDepartment"].ToIntOrZero();
            string   categoryName              = string.Empty;
            string   departmentTitleExtenstion = string.Empty;
            DateTime?queryDateStart;
            DateTime?queryDateEnd;

            hscvVanBanDiBusiness  = Get <HSCV_VANBANDIBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();
            cctcThanhPhanBusiness = Get <CCTC_THANHPHANBusiness>();
            CCTC_THANHPHAN department = cctcThanhPhanBusiness.Find(queryDepartment);

            departmentTitleExtenstion = department != null && string.IsNullOrEmpty(department.NAME) == false ?
                                        (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_DONVINHAN_VANBANDI ? string.Format("TỪ ĐƠN VỊ {0}", department.NAME.ToUpper()) : string.Format("CỦA ĐƠN VỊ {0}", department.NAME.ToUpper()))
                : string.Empty;

            ReportVanBanDiResultViewModel viewModel = new ReportVanBanDiResultViewModel();

            if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_HINHTHUC_VANBANDI)
            {
                categoryCode = DMLOAI_CONSTANT.LOAI_VANBAN;
                if (queryItemCategoryType > 0)
                {
                    DM_DANHMUC_DATA category = dmDanhMucDataBusiness.Find(queryItemCategoryType) ?? new DM_DANHMUC_DATA();
                    categoryName = string.IsNullOrEmpty(category.TEXT) ? string.Empty : category.TEXT.ToUpper();
                }
            }
            else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDI)
            {
                categoryCode = DMLOAI_CONSTANT.LINHVUCVANBAN;
                if (queryItemCategoryType > 0)
                {
                    DM_DANHMUC_DATA category = dmDanhMucDataBusiness.Find(queryItemCategoryType) ?? new DM_DANHMUC_DATA();
                    categoryName = string.IsNullOrEmpty(category.TEXT) ? string.Empty : category.TEXT.ToUpper();
                }
            }
            else
            {
                categoryCode = DMLOAI_CONSTANT.LINHVUCVANBAN;
                if (queryItemCategoryType > 0)
                {
                    CCTC_THANHPHAN receiveDepartment = cctcThanhPhanBusiness.Find(queryItemCategoryType) ?? new CCTC_THANHPHAN();
                    categoryName = string.IsNullOrEmpty(receiveDepartment.NAME) ? string.Empty : receiveDepartment.NAME.ToUpper();
                }
            }

            if (timeFilterType == LOAI_BAOCAO_THOIGIAN_CONSTANT.NGAY)
            {
                queryDateStart = form["queryDateStart"].ToDateTime();
                queryDateEnd   = form["queryDateEnd"].ToDateTime();
                if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_HINHTHUC_VANBANDI)
                {
                    reportTitle = string.Format("THỐNG KÊ VĂN BẢN ĐI THEO HÌNH THỨC {0} TỪ NGÀY {1} ĐẾN NGÀY {2} {3}", categoryName, queryDateStart.Value.ToVietnameseDateFormat(), queryDateEnd.Value.ToVietnameseDateFormat(), departmentTitleExtenstion);
                }
                else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDI)
                {
                    reportTitle = string.Format("THỐNG KÊ VĂN BẢN ĐI THEO LĨNH VỰC {0} TỪ NGÀY {1} ĐẾN NGÀY {2} {3}", categoryName, queryDateStart.Value.ToVietnameseDateFormat(), queryDateEnd.Value.ToVietnameseDateFormat(), departmentTitleExtenstion);
                }
                else
                {
                    reportTitle = string.Format("THỐNG KÊ VĂN BẢN ĐI ĐÃ GỬI CHO ĐƠN VỊ {0} TỪ NGÀY {1} ĐẾN NGÀY {2} {3}", categoryName, queryDateStart.Value.ToVietnameseDateFormat(), queryDateEnd.Value.ToVietnameseDateFormat(), departmentTitleExtenstion);
                }
            }
            else if (timeFilterType == LOAI_BAOCAO_THOIGIAN_CONSTANT.THANG)
            {
                int month = form["queryMonth"].ToIntOrZero();
                int year  = form["queryYear"].ToIntOrZero();
                queryDateStart = new DateTime(year, month, 1);
                queryDateEnd   = new DateTime(year, month, DateTime.DaysInMonth(year, month));
                if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_HINHTHUC_VANBANDI)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐI THEO HÌNH THỨC {0} TRONG THÁNG {1} NĂM {2} {3}", categoryName, month, year, departmentTitleExtenstion);
                }
                else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDI)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐI THEO LĨNH VỰC {0} TRONG THÁNG {1} NĂM {2} {3}", categoryName, month, year, departmentTitleExtenstion);
                }
                else
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐI ĐÃ GỬI CHO ĐƠN VỊ {0} TRONG THÁNG {1} NĂM {2} {3}", categoryName, month, year, departmentTitleExtenstion);
                }
            }
            else
            {
                int year = form["queryYearOnly"].ToIntOrZero();
                queryDateStart = new DateTime(year, 1, 1);
                queryDateEnd   = new DateTime(year, 12, 31);

                if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_HINHTHUC_VANBANDI)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐI THEO HÌNH THỨC {0} TRONG NĂM {1} {2}", categoryName, year, departmentTitleExtenstion);
                }
                else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDI)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐI THEO LĨNH VỰC {0} TRONG NĂM {1} {2}", categoryName, year, departmentTitleExtenstion);
                }
                else
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐI ĐÃ GỬI CHO ĐƠN VỊ {0} TRONG NĂM {1} {2}", categoryName, year, departmentTitleExtenstion);
                }
            }

            viewModel.title      = reportTitle;
            viewModel.reportType = reportType;
            if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_DONVINHAN_VANBANDI)
            {
                viewModel.groupOfReportResultItems = hscvVanBanDiBusiness.GetStatisticResultByInteralDepartment(queryDepartment, queryDateStart, queryDateEnd, queryItemCategoryType);
            }
            else
            {
                viewModel.groupOfReportResultItems = hscvVanBanDiBusiness.GetStatisticResultByCategory(queryDepartment, categoryCode, queryDateStart, queryDateEnd, queryItemCategoryType);
            }
            SessionManager.SetValue("ReportVanBanDi" + reportType, viewModel);
            return(PartialView("_ReportVanBanDiResult", viewModel));
        }
        public PartialViewResult GetReportResult(FormCollection form)
        {
            AssignUserInfo();
            string   categoryCode             = string.Empty;
            string   reportTitle              = string.Empty;
            string   departmentExtensionTitle = string.Empty;
            int      reportType            = form["reportType"].ToIntOrZero();
            int      timeFilterType        = form["timeFilterType"].ToIntOrZero();
            int      queryItemCategoryType = form["queryItemCategoryType"].ToIntOrZero();
            int      queryDepartment       = form["queryDepartment"].ToIntOrZero();
            DateTime?queryDateStart;
            DateTime?queryDateEnd;

            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();
            cctcThanhPhanBusiness = Get <CCTC_THANHPHANBusiness>();
            CCTC_THANHPHAN department = cctcThanhPhanBusiness.Find(queryDepartment);

            departmentExtensionTitle = department != null?string.Format("CỦA ĐƠN VỊ {0}", department.NAME.ToUpper()) : string.Empty;

            DM_DANHMUC_DATA category = dmDanhMucDataBusiness.Find(queryItemCategoryType) ?? new DM_DANHMUC_DATA();

            category.TEXT = string.IsNullOrEmpty(category.TEXT) ? string.Empty : category.TEXT.ToUpper();

            ReportVanBanDenResultViewModel viewModel = new ReportVanBanDenResultViewModel();

            viewModel.reportType = reportType;

            if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LOAI_VANBANDEN)
            {
                categoryCode = DMLOAI_CONSTANT.LOAI_VANBAN;
            }
            else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDEN)
            {
                categoryCode = DMLOAI_CONSTANT.LINHVUCVANBAN;
            }
            else
            {
                categoryCode = DMLOAI_CONSTANT.DONVIGUI_VANBAN;
            }

            if (timeFilterType == LOAI_BAOCAO_THOIGIAN_CONSTANT.NGAY)
            {
                queryDateStart = form["queryDateStart"].ToDateTime();
                queryDateEnd   = form["queryDateEnd"].ToDateTime();
                if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LOAI_VANBANDEN)
                {
                    reportTitle = string.Format("THỐNG KÊ VĂN BẢN ĐẾN THEO LOẠI {0} TỪ NGÀY {1} ĐẾN NGÀY {2} {3}", category.TEXT, queryDateStart.Value.ToVietnameseDateFormat(), queryDateEnd.Value.ToVietnameseDateFormat(), departmentExtensionTitle);
                }
                else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDEN)
                {
                    reportTitle = string.Format("THỐNG KÊ VĂN BẢN ĐẾN THEO LĨNH VỰC {0} TỪ NGÀY {1} ĐẾN NGÀY {2} {3}", category.TEXT, queryDateStart.Value.ToVietnameseDateFormat(), queryDateEnd.Value.ToVietnameseDateFormat(), departmentExtensionTitle);
                }
                else
                {
                    reportTitle = string.Format("THỐNG KÊ VĂN BẢN ĐẾN THEO ĐƠN VỊ {0} GỬI TỪ NGÀY {1} ĐẾN NGÀY {2} {3}", category.TEXT, queryDateStart.Value.ToVietnameseDateFormat(), queryDateEnd.Value.ToVietnameseDateFormat(), departmentExtensionTitle);
                }
            }
            else if (timeFilterType == LOAI_BAOCAO_THOIGIAN_CONSTANT.THANG)
            {
                int month = form["queryMonth"].ToIntOrZero();
                int year  = form["queryYear"].ToIntOrZero();
                queryDateStart = new DateTime(year, month, 1);
                queryDateEnd   = new DateTime(year, month, DateTime.DaysInMonth(year, month));
                if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LOAI_VANBANDEN)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO LOẠI {0} TRONG THÁNG {1} NĂM {2} {3}", category.TEXT, month, year, departmentExtensionTitle);
                }
                else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDEN)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO LĨNH VỰC {0} TRONG THÁNG {1} NĂM {2} {3}", category.TEXT, month, year, departmentExtensionTitle);
                }
                else
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO ĐƠN VỊ {0} GỬI TRONG THÁNG {1} NĂM {2} {3}", category.TEXT, month, year, departmentExtensionTitle);
                }
            }
            else
            {
                int year = form["queryYearOnly"].ToIntOrZero();
                queryDateStart = new DateTime(year, 1, 1);
                queryDateEnd   = new DateTime(year, 12, 31);
                if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LOAI_VANBANDEN)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO LOẠI {0} TRONG NĂM {1} {2}", category.TEXT, year, departmentExtensionTitle);
                }
                else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDEN)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO LĨNH VỰC {0} TRONG NĂM {1} {2}", category.TEXT, year, departmentExtensionTitle);
                }
                else
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO ĐƠN VỊ {0} GỬI TRONG NĂM {1} {2}", category.TEXT, year, departmentExtensionTitle);
                }
            }
            viewModel.title = reportTitle;
            viewModel.groupOfReportResultItems = hscvVanBanDenBusiness.GetStatisticResultByCategory(queryDepartment, MODULE_CONSTANT.VANBANDEN, categoryCode, queryDateStart, queryDateEnd, queryItemCategoryType);
            SessionManager.SetValue("ReportVanBanDen" + reportType, viewModel);
            return(PartialView("_ReportVanBanDenResult", viewModel));
        }