public JsonResult SaveFlow(long processID, int stepID, long mainUser, List <long> joinUser, string message, bool IsBack = false, long LogID = 0) { var result = new JsonResultBO(true); AssignUserInfo(); var WF_STEPBusiness = Get <WF_STEPBusiness>(); var WF_PROCESSBusiness = Get <WF_PROCESSBusiness>(); var WF_LOGBusiness = Get <WF_LOGBusiness>(); var step = WF_STEPBusiness.GetDaTaByID(stepID); //SMSDAL.SendSMSDAL sms = new SMSDAL.SendSMSDAL(); //var LogSMSBusiness = Get<LogSMSBusiness>(); var lstMainUser = new List <long>(); lstMainUser.Add(mainUser); var process = WF_PROCESSBusiness.Find(processID); string NOIDUNG = currentUser.HOTEN + (process.ITEM_TYPE == MODULE_CONSTANT.VANBANTRINHKY ? " đã gửi bạn một văn bản trình ký" : " đã gửi bạn một văn bản đến"); string URL = process.ITEM_TYPE == MODULE_CONSTANT.VANBANTRINHKY ? "/HSVanBanDiArea/HSVanBanDi/DetailVanBan/" + process.ITEM_ID.ToString() : "/HSCV_VANBANDENArea/HSCV_VANBANDEN/DetailVanBanDen?id=" + process.ITEM_ID.ToString() + "&type=" + VANBANDEN_CONSTANT.CHUA_XULY; string itemName = process.ITEM_TYPE == MODULE_CONSTANT.VANBANTRINHKY ? "VĂN BẢN TRÌNH KÝ" : "VĂN BẢN ĐẾN"; if (IsBack != true) { //Kiểm tra xem đã thực hiện function chưa? var WF_STATE_FUNCTIONBusiness = Get <WF_STATE_FUNCTIONBusiness>(); bool CanNext = false; if (process.ITEM_TYPE == MODULE_CONSTANT.VANBANTRINHKY) { HSCV_VANBANDIBusiness = Get <HSCV_VANBANDIBusiness>(); HSCV_VANBANDI VanBan = HSCV_VANBANDIBusiness.Find(process.ITEM_ID); if (VanBan != null) { CanNext = VanBan.HAS_SIGNED.HasValue ? VanBan.HAS_SIGNED.Value : true; } } var function = WF_STATE_FUNCTIONBusiness.CheckFunctionNextState(process.CURRENT_STATE.GetValueOrDefault(), process.ITEM_ID.GetValueOrDefault(), process.ITEM_TYPE); if (!function && CanNext) { result.MessageFail("Bạn chưa thực hiện hành động của trạng thái"); return(Json(result)); } //Luồng chuyển đi result = WF_PROCESSBusiness.SaveStepAction(processID, stepID, mainUser, joinUser, message, currentUser.ID); #region gửi notification var SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); #region gửi email cho người xử lý chính List <string> lstEmail = new List <string>(); var DM_NGUOIDUNGBusiness = Get <DM_NGUOIDUNGBusiness>(); lstEmail = DM_NGUOIDUNGBusiness.repository.All().Where(x => lstMainUser.Contains(x.ID)).Select(x => x.EMAIL).ToList(); if (lstEmail != null) { var ContentEmail = currentUser.HOTEN + " đã gửi bạn một <a href='" + SERVERADDRESS + URL + "'>" + itemName + "</a>"; EmailProvider.SendMailTemplate(currentUser, ContentEmail, NOIDUNG, lstEmail); } #endregion #region gửi sms cho người xử lý //var LstUserNhan = DM_NGUOIDUNGBusiness.repository.All().Where(x => lstMainUser.Contains(x.ID)).ToList(); //if (LstUserNhan != null) //{ // var ContentSMS = currentUser.HOTEN + " đã gửi bạn một " + itemName; // ContentSMS = sms.locDau(ContentSMS); // var DoDaiSMS = ContentSMS.Length; // string[] noiDung = new string[1]; // noiDung[0] = ContentSMS; // foreach (var user in LstUserNhan) // { // if (!string.IsNullOrEmpty(user.DIENTHOAI)) // { // string resultsend = sms.guiTinNhan(user.DIENTHOAI, "177403", noiDung); // LOGSMS SmsObject = new LOGSMS(); // SmsObject.SODIENTHOAINHAN = user.DIENTHOAI; // SmsObject.NOIDUNG = ContentSMS; // SmsObject.SOKYTU = DoDaiSMS; // SmsObject.KETQUA = resultsend; // SmsObject.CREATED_AT = DateTime.Now; // SmsObject.CREATED_BY = currentUser.ID; // SmsObject.HOTENNGUOIGUI = currentUser.HOTEN; // SmsObject.ITEMTYPE = process.ITEM_TYPE; // SmsObject.ITEMID = process.ITEM_ID; // SmsObject.HOTENNGUOINHAN = user.HOTEN; // LogSMSBusiness.Save(SmsObject); // } // } //} #endregion SYS_TINNHANBusiness.sendMessageMultipleUsers(lstMainUser, currentUser, itemName, NOIDUNG, URL, targetScreen, false, processID, TargetDocType.COORDINATED); if (joinUser != null) { SYS_TINNHANBusiness.sendMessageMultipleUsers(joinUser, currentUser, itemName, NOIDUNG, URL, targetScreen, false, processID, TargetDocType.COORDINATED); } var lstTmpUserId = lstMainUser; if (joinUser != null) { lstTmpUserId.AddRange(joinUser); } if (process.ITEM_TYPE == MODULE_CONSTANT.VANBANTRINHKY) { ElasticSearch.updateListUser(process.ITEM_ID.ToString(), lstTmpUserId, ElasticType.VanBanDi); } else { ElasticSearch.updateListUser(process.ITEM_ID.ToString(), lstTmpUserId, ElasticType.VanBanDen); } #endregion } else { result = WF_PROCESSBusiness.StepDenie(processID, stepID, message, LogID); var log = WF_LOGBusiness.GetDataByID(LogID); lstMainUser.Add(log.NGUOIXULY_ID.GetValueOrDefault()); #region gửi notification var SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); SYS_TINNHANBusiness.sendMessageMultipleUsers(lstMainUser, currentUser, itemName, NOIDUNG, URL, targetScreen, false, processID, TargetDocType.COORDINATED); #endregion } return(Json(result)); }
/// <summary> /// @author:duynn /// @description: gửi cá nhân nhận bên ngoài /// @since: 10/06/2019 /// </summary> /// <param name="entityVanBanDi"></param> /// <param name="sms"></param> /// <returns></returns> public bool SaveVanBanPhatHanhToCaNhan(HSCV_VANBANDI entityVanBanDi, SMSDAL.SendSMSDAL sms) { List <TAILIEUDINHKEM> groupForwardFiles = new List <TAILIEUDINHKEM>(); List <LOGSMS> groupLogSMSs = new List <LOGSMS>(); var idsNguoiNhanDichDanh = entityVanBanDi.USER_RECEIVE_DIRECTLY.ToListLong(','); bool result = true; try { /** * nhóm sổ văn bản */ var dataNhomSoVanBanDen = DM_NHOMDANHMUCBusiness.repository.All() .FirstOrDefault(x => x.GROUP_CODE == DMLOAI_CONSTANT.SOVANBANDEN); /** * gửi từng người nhận đích danh */ foreach (var userId in idsNguoiNhanDichDanh) { var entityNguoiNhan = DM_NGUOIDUNGBusiness.GetNewUserInfo(userId); var dataSoVanBanDen = DM_DANHMUC_DATABusiness.GetSoVanBan(DMLOAI_CONSTANT.SOVANBANDEN, DateTime.Now.Year, entityNguoiNhan.DeptParentID.Value); if (dataSoVanBanDen == null) { dataSoVanBanDen = new DM_DANHMUC_DATA() { DEPTID = entityNguoiNhan.DM_PHONGBAN_ID.GetValueOrDefault(), TEXT = "Sổ văn bản đến " + DateTime.Now.Year, DATA = DateTime.Now.Year, DM_NHOM_ID = dataNhomSoVanBanDen.ID }; DM_DANHMUC_DATABusiness.Save(dataSoVanBanDen); } DM_NGUOIDUNG entityNguoiKy = DM_NGUOIDUNGBusiness.Find(entityVanBanDi.NGUOIKY_ID); HSCV_VANBANDEN entityVanBanDen = this.ConvertToVanBanDen(entityVanBanDi, entityNguoiKy, dataSoVanBanDen); HSCV_VANBANDENBusiness.Save(entityVanBanDen); JsonResultBO workflowResult = WF_PROCESSBusiness.AddFlow(entityVanBanDen.ID, MODULE_CONSTANT.VANBANDEN, entityNguoiNhan); if (!workflowResult.Status) { continue; } /** * Cập nhật số theo sổ */ dataSoVanBanDen.GHICHU = (dataSoVanBanDen.GHICHU.ToIntOrZero() + 1).ToString(); DM_DANHMUC_DATABusiness.Save(dataSoVanBanDen); /** * cập nhật tài liệu đính kèm */ List <TAILIEUDINHKEM> groupFiles = TAILIEUDINHKEMBusiness.GetNewestData(entityVanBanDi.ID, LOAITAILIEU.VANBAN); groupForwardFiles.AddRange(this.GenerateFiles(groupFiles, entityVanBanDen)); /** * cập nhật elastic search */ ElasticSearch.updateListUser(entityVanBanDen.ID.ToString(), new List <long> { entityNguoiNhan.ID }, ElasticType.VanBanDen); /** * gửi email */ if (entityNguoiNhan.EMAIL != null && !string.IsNullOrEmpty(entityNguoiNhan.EMAIL)) { var ContentEmail = currentUser.TenPhongBan + " đã gửi bạn một văn bản đến <a href='" + SERVERADDRESS + "/HSCV_VANBANDENArea/HSCV_VANBANDEN/DetailVanBanDen?id=" + entityVanBanDen.ID.ToString() + "'>" + entityVanBanDen.SOHIEU + "</a>"; EmailProvider.SendMailTemplate(currentUser, ContentEmail, ContentEmail, new List <string> { entityNguoiNhan.EMAIL }); } //gửi sms if (currentUser.CanSendSMS && entityVanBanDi.CAN_SEND_SMS == true) { if (!string.IsNullOrEmpty(entityNguoiNhan.DIENTHOAI)) { var ContentSMS = currentUser.TenPhongBan + " đã gửi bạn một văn bản đến " + entityVanBanDen.SOHIEU; ContentSMS = sms.locDau(ContentSMS); var DoDaiSMS = ContentSMS.Length; string[] noiDung = new string[1]; noiDung[0] = ContentSMS; string resultsend = sms.guiTinNhan(entityNguoiNhan.DIENTHOAI, "177403", noiDung); LOGSMS SmsObject = new LOGSMS(); SmsObject.SODIENTHOAINHAN = entityNguoiNhan.DIENTHOAI; SmsObject.NOIDUNG = ContentSMS; SmsObject.SOKYTU = DoDaiSMS; SmsObject.KETQUA = resultsend; SmsObject.DONVI_GUI = currentUser.DM_PHONGBAN_ID.GetValueOrDefault(); SmsObject.CREATED_AT = DateTime.Now; SmsObject.CREATED_BY = currentUser.ID; SmsObject.HOTENNGUOIGUI = currentUser.HOTEN; SmsObject.ITEMTYPE = "VANBANDEN"; SmsObject.ITEMID = entityVanBanDen.ID; SmsObject.HOTENNGUOINHAN = entityNguoiNhan.HOTEN; SmsObject.DONVI_NHAN = entityNguoiNhan.DM_PHONGBAN_ID.GetValueOrDefault(); groupLogSMSs.Add(SmsObject); } } //gửi tin nhắn SYS_TINNHAN noti = new SYS_TINNHAN(); noti.FROM_USERNAME = currentUser.HOTEN; noti.FROM_USER_ID = currentUser.ID; noti.NGAYTAO = DateTime.Now; noti.NOIDUNG = currentUser.TenPhongBan + " đã gửi đến bạn một văn bản đến"; noti.URL = "/HSCV_VANBANDENArea/HSCV_VANBANDEN/DetailVanBanDen/" + entityVanBanDen.ID.ToString(); noti.TIEUDE = "Xử lý văn bản đến"; noti.TO_USER_ID = entityNguoiNhan.ID; SYS_TINNHANBusiness.Save(noti, "", false, entityVanBanDen.ID, TargetDocType.COORDINATED); } /** * lưu file và log SMS */ TAILIEUDINHKEMBusiness.repository.InsertRange(groupForwardFiles); LogSMSBusiness.repository.InsertRange(groupLogSMSs); TAILIEUDINHKEMBusiness.Save(); } catch (Exception) { result = false; } return(result); }
/// <summary> /// Save Review văn bản /// </summary> /// <param name="processID"></param> /// <param name="stepID"></param> /// <param name="joinUser"></param> /// <param name="message"></param> /// <returns></returns> public JsonResult SaveReview(long processID, int stepID, List <long> joinUser, string message) { AssignUserInfo(); var result = new JsonResultBO(true); if (joinUser.Count > 0 && !joinUser.Contains(currentUser.ID)) { var WF_STEPBusiness = Get <WF_STEPBusiness>(); var WF_PROCESSBusiness = Get <WF_PROCESSBusiness>(); WF_REVIEWBusiness WF_REVIEWBusiness = Get <WF_REVIEWBusiness>(); WF_REVIEW_USERBusiness WF_REVIEW_USERBusiness = Get <WF_REVIEW_USERBusiness>(); var SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); var step = WF_STEPBusiness.GetDaTaByID(stepID); var process = WF_PROCESSBusiness.Find(processID); #region cập nhật trạng thái review process.IS_PENDING = true; WF_PROCESSBusiness.Save(process); #endregion #region lưu yêu cầu review - bảng này sẽ dùng để đếm số lần gửi yêu cầu review WF_REVIEW review = new WF_REVIEW(); review.COMMENT = message; review.CREATED_AT = DateTime.Now; review.ITEMID = process.ITEM_ID; review.ITEMTYPE = process.ITEM_TYPE; review.CREATED_BY = currentUser.ID; WF_REVIEWBusiness.Save(review); #endregion #region lưu yêu cầu review đối với từng người được yêu cầu var WF_LogBusiness = Get <WF_LOGBusiness>(); foreach (var item in joinUser) { WF_USER_REVIEW itemreview = new WF_USER_REVIEW(); itemreview.ITEMID = process.ITEM_ID; itemreview.ITEMTYPE = process.ITEM_TYPE; itemreview.REVIEW_ID = review.ID; itemreview.USER_ID = item; itemreview.CREATED_AT = DateTime.Now; itemreview.CREATED_BY = currentUser.ID; WF_REVIEW_USERBusiness.Save(itemreview); #region luu log WF_LOG log = new WF_LOG(); log.ITEM_ID = process.ITEM_ID; log.WF_ID = process.WF_ID; log.ITEM_TYPE = process.ITEM_TYPE; log.MESSAGE = message; log.NGUOIXULY_ID = currentUser.ID; log.NGUONHAN_ID = item; log.create_at = DateTime.Now; log.create_by = currentUser.ID; WF_LogBusiness.Save(log); #endregion #region gửi notification SYS_TINNHAN noti = new SYS_TINNHAN(); noti.FROM_USERNAME = currentUser.HOTEN; noti.FROM_USER_ID = currentUser.ID; noti.NGAYTAO = DateTime.Now; noti.NOIDUNG = currentUser.HOTEN + " đã gửi bạn review một văn bản trình ký"; if (process.ITEM_TYPE == MODULE_CONSTANT.VANBANTRINHKY) { noti.URL = "/HSVanBanDiArea/VanBanChuaXuLy/DetailVanBan/" + process.ITEM_ID.ToString(); noti.TIEUDE = "REVIEW VĂN BẢN TRÌNH KÝ"; } noti.TO_USER_ID = item; SYS_TINNHANBusiness.Save(noti, targetScreen, false, process.ITEM_ID.HasValue ? process.ITEM_ID.Value : 0, TargetDocType.COORDINATED); #endregion } ElasticSearch.updateListUser(process.ITEM_ID.ToString(), joinUser, ElasticType.VanBanDi); #endregion } else { result.MessageFail("Không thể thực hiện được thao tác này"); } return(Json(result)); }
/// <summary> /// @author:duynn /// @description: gửi đơn vị nhận bên ngoài /// @since: 10/06/2019 /// </summary> /// <param name="entityVanBanDi"></param> /// <param name="sms"></param> /// <returns></returns> public bool SaveVanBanPhatHanhToDonVi(HSCV_VANBANDI entityVanBanDi, SMSDAL.SendSMSDAL sms) { bool result = true; try { DM_NHOMDANHMUC entityNhomDanhMuc = DM_NHOMDANHMUCBusiness.repository.All() .FirstOrDefault(x => x.GROUP_CODE == DMLOAI_CONSTANT.SOVANBANDEN); DM_NGUOIDUNG entityNguoiKy = DM_NGUOIDUNGBusiness.Find(entityVanBanDi.NGUOIKY_ID); List <TAILIEUDINHKEM> groupFiles = TAILIEUDINHKEMBusiness.GetNewestData(entityVanBanDi.ID, LOAITAILIEU.VANBAN); List <int> idsDonViNhan = new List <int>(); if (!string.IsNullOrEmpty(entityVanBanDi.DONVINHAN_INTERNAL_ID)) { var idsDonViDaNhan = entityVanBanDi.DONVINHAN_INTERNAL_ID.ToListInt(','); idsDonViNhan.AddRange(idsDonViDaNhan); entityVanBanDi.DONVINHAN_INTERNAL_ID = string.Join(",", idsDonViNhan.ToArray()); } List <CCTC_THANHPHAN> groupDonViNhan = CCTC_THANHPHANBusiness.repository.AllNoTracking .Where(x => idsDonViNhan.Contains(x.ID)).ToList(); List <LOGSMS> groupLogSMS = new List <LOGSMS>(); List <TAILIEUDINHKEM> groupForwardFiles = new List <TAILIEUDINHKEM>(); List <WF_ITEM_USER_PROCESS> groupItemUserProcess = new List <WF_ITEM_USER_PROCESS>(); foreach (var dept in groupDonViNhan) { WF_STATE firstState = null; //kiểm tra có phải là gửi nội bộ hay không? bool isSendInternal = false; //- trường hợp gửi cho các ban ngành cấp tỉnh và các huyện xa -> thành văn bản đến của các đơnvị nhận được if (dept.TYPE == DEPTTYLELABEL.ToIntOrZero()) { //- trường hợp này là văn bản đến bình thường var workflowModule = WF_MODULEBusiness.repository .All().FirstOrDefault(x => x.MODULE_CODE == MODULE_CONSTANT.VANBANDEN); var workflowStreamIds = workflowModule.WF_STREAM_ID.ToListInt(','); //- lấy luồng xử lý của từng đơn vị var workflowStream = WF_STREAMBusiness.repository.All() .FirstOrDefault(x => x.LEVEL_ID == dept.CATEGORY && workflowStreamIds.Contains(x.ID)); //lấy trạng thái xử lý ban đầu cảu đơn vị firstState = WF_STATEBusiness.repository.All() .FirstOrDefault(x => x.IS_START == true && x.WF_ID == workflowStream.ID); } else if (dept.PARENT_ID == currentUser.DeptParentID) { isSendInternal = true; //- trường hợp gửi các phòng ban thuộc tỉnh ủy => thành văn bản đến nội bộ của tỉnh var workflowModule = WF_MODULEBusiness.repository.All() .FirstOrDefault(x => x.MODULE_CODE == MODULE_CONSTANT.VANBANDENNOIBO); var workflowStreamIds = workflowModule.WF_STREAM_ID.ToListInt(','); //- lấy luồng xử lý của từng đơn vị var workflowStream = WF_STREAMBusiness.repository.All() .FirstOrDefault(x => x.LEVEL_ID == dept.CATEGORY && workflowStreamIds.Contains(x.ID)); firstState = WF_STATEBusiness.repository.All() .FirstOrDefault(x => x.IS_START == true && x.WF_ID == workflowStream.ID); } UserInfoBO processor = null; /** * kiểm tra vai trò nhận của trạng thái đầu tiên */ if (firstState != null) { /** * lấy người thuộc phòng ban có vai trò xử lý */ var receiver = DM_NGUOIDUNGBusiness.GetUserByRoleAndDeptId(firstState.VAITRO_ID.GetValueOrDefault(), dept.ID).FirstOrDefault(); if (receiver != null) { processor = DM_NGUOIDUNGBusiness.GetNewUserInfo(receiver.Value.ToLongOrZero()); } } var dataSoVanBanDen = DM_DANHMUC_DATABusiness.GetSoVanBan(DMLOAI_CONSTANT.SOVANBANDEN, DateTime.Now.Year, dept.ID); if (dataSoVanBanDen == null) { //tạo sổ văn bản đến dataSoVanBanDen = new DM_DANHMUC_DATA() { DEPTID = dept.ID, TEXT = "Sổ văn bản đến " + DateTime.Now.Year, DATA = DateTime.Now.Year, DM_NHOM_ID = entityNhomDanhMuc.ID }; DM_DANHMUC_DATABusiness.Save(dataSoVanBanDen); } HSCV_VANBANDEN entityVanBanDen = this.ConvertToVanBanDen(entityVanBanDi, entityNguoiKy, dataSoVanBanDen); entityVanBanDen.IS_NOIBO = isSendInternal ? true : false; HSCV_VANBANDENBusiness.Save(entityVanBanDen); /** * cập nhật số văn bản đến */ dataSoVanBanDen.GHICHU = (dataSoVanBanDen.GHICHU.ToIntOrZero() + 1).ToString(); DM_DANHMUC_DATABusiness.Save(dataSoVanBanDen); /** * cập nhật tài liệu đính kèm */ var files = this.GenerateFiles(groupFiles, entityVanBanDen); groupForwardFiles.AddRange(files); /** * cập nhật thông tin văn bản đến trong luồng xử lý */ if (processor != null) { WF_PROCESSBusiness.AddFlow(entityVanBanDen.ID, isSendInternal ? MODULE_CONSTANT.VANBANDENNOIBO : MODULE_CONSTANT.VANBANDEN, processor); } /** * nếu không có người phù hợp trong luồng xử lý ==> lấy người có vai trò cao nhất tại phòng */ if (processor == null) { /** * lấy ra người có vai trò cao nhất tại phòng ban */ processor = DM_NGUOIDUNGBusiness.GetUserHighestPriority(dept.ID); /** * lưu thông in người nhận vào bảng WF_ITEM_USER_PROCESS */ var itemUserProcess = new WF_ITEM_USER_PROCESS(); itemUserProcess.ITEM_ID = entityVanBanDen.ID; itemUserProcess.ITEM_TYPE = isSendInternal ? MODULE_CONSTANT.VANBANDENNOIBO : MODULE_CONSTANT.VANBANDEN; itemUserProcess.IS_XULYCHINH = false; itemUserProcess.USER_ID = processor.ID; itemUserProcess.create_at = DateTime.Now; itemUserProcess.create_by = currentUser.ID; groupItemUserProcess.Add(itemUserProcess); } if (processor != null) { ElasticSearch.updateListUser(entityVanBanDen.ID.ToString(), new List <long> { processor.ID }, ElasticType.VanBanDen); //gửi email if (!string.IsNullOrEmpty(processor.EMAIL)) { var ContentEmail = currentUser.TenPhongBan + " đã gửi bạn một văn bản đến <a href='" + SERVERADDRESS + "/HSCV_VANBANDENArea/HSCV_VANBANDEN/DetailVanBanDen?id=" + entityVanBanDen.ID.ToString() + "'>" + entityVanBanDen.SOHIEU + "</a>"; EmailProvider.SendMailTemplate(currentUser, ContentEmail, ContentEmail, new List <string> { processor.EMAIL }); } //gửi tin nhắn if (currentUser.CanSendSMS && entityVanBanDi.CAN_SEND_SMS == true && processor.DIENTHOAI != null) { var ContentSMS = currentUser.TenPhongBan + " đã gửi bạn một văn bản đến " + entityVanBanDen.SOHIEU; ContentSMS = sms.locDau(ContentSMS); var DoDaiSMS = ContentSMS.Length; string[] noiDung = new string[1]; noiDung[0] = ContentSMS; string resultsend = sms.guiTinNhan(processor.DIENTHOAI, "177403", noiDung); LOGSMS SmsObject = new LOGSMS(); SmsObject.SODIENTHOAINHAN = processor.DIENTHOAI; SmsObject.NOIDUNG = ContentSMS; SmsObject.SOKYTU = DoDaiSMS; SmsObject.KETQUA = resultsend; SmsObject.CREATED_AT = DateTime.Now; SmsObject.CREATED_BY = currentUser.ID; SmsObject.HOTENNGUOIGUI = currentUser.HOTEN; SmsObject.DONVI_GUI = currentUser.DM_PHONGBAN_ID.GetValueOrDefault(); SmsObject.ITEMTYPE = "VANBANDEN"; SmsObject.ITEMID = entityVanBanDen.ID; SmsObject.DONVI_NHAN = processor.DM_PHONGBAN_ID.GetValueOrDefault(); SmsObject.HOTENNGUOINHAN = processor.HOTEN; groupLogSMS.Add(SmsObject); } //lưu thông báo SYS_TINNHAN noti = new SYS_TINNHAN(); noti.FROM_USERNAME = currentUser.HOTEN; noti.FROM_USER_ID = currentUser.ID; noti.NGAYTAO = DateTime.Now; noti.NOIDUNG = currentUser.TenPhongBan + " đã gửi đến bạn một văn bản đến"; noti.URL = "/HSCV_VANBANDENArea/HSCV_VANBANDEN/DetailVanBanDen/" + entityVanBanDen.ID.ToString(); noti.TIEUDE = "Xử lý văn bản đến"; noti.TO_USER_ID = processor.ID; SYS_TINNHANBusiness.Save(noti, "", false, entityVanBanDen.ID, TargetDocType.COORDINATED); } } //lưu thông tin tài liệu, sms, luồng xử lý TAILIEUDINHKEMBusiness.repository.InsertRange(groupForwardFiles); LogSMSBusiness.repository.InsertRange(groupLogSMS); WF_ITEM_USER_PROCESSBusiness.repository.InsertRange(groupItemUserProcess); TAILIEUDINHKEMBusiness.repository.Save(); } catch (Exception) { result = false; } return(result); }