public JsonResult RejectCarRegistration(FormCollection fc) { AssignUserInfo(); JsonResultBO result = new JsonResultBO(false); qlDangKyXeBusiness = Get <QL_DANGKY_XEBusiness>(); dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>(); sysTinNhanBusiness = Get <SYS_TINNHANBusiness>(); long id = fc["ID"].ToLongOrZero(); QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(id); if (registration != null && registration.IS_DELETE != true) { registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.MOITAO_ID; registration.LYDO_TUCHOI = fc["LYDO_TUCHOI"].Trim(); qlDangKyXeBusiness.Save(registration); result.Status = true; result.Message = "Đã hủy tiếp nhận yêu cầu đăng ký xe"; //gửi tin nhắn cho người tạo yêu cầu List <long> notifyUsers = new List <long>() { registration.NGUOITAO.GetValueOrDefault() }; string title = "KHÔNG TIẾP NHẬN YÊU CẦU SỬ DỤNG XE"; string content = string.Format("{0} đã từ chối tiếp nhận một yêu cầu sử dụng xe", currentUser.HOTEN); sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = id }), string.Empty, false, id, 0); } return(Json(result)); }
public JsonResult SendCarRegistration(long registrationId) { AssignUserInfo(); JsonResultBO result = new JsonResultBO(false); qlDangKyXeBusiness = Get <QL_DANGKY_XEBusiness>(); dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>(); sysTinNhanBusiness = Get <SYS_TINNHANBusiness>(); QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(registrationId); if (registration != null && registration.IS_DELETE != true) { registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DAGUI_ID; qlDangKyXeBusiness.Save(registration); result.Status = true; result.Message = "Đã gửi yêu cầu đăng ký sử dụng xe"; //gửi tin nhắn cho người có quyền xác nhận yêu cầu sử dụng xe List <long> notifyUsers = dmNguoiDungBusiness.GetListUsersByFunctionCodeAndDeptId(CONFIRM_CAR_REGISTRATION, currentUser.DeptParentID.GetValueOrDefault()); string title = "YÊU CẦU SỬ DỤNG XE"; string content = string.Format("{0} đã gửi một yêu cầu sử dụng xe", currentUser.HOTEN); sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = registrationId }), string.Empty, false, registrationId, 0); } else { result.Message = "Không tìm thấy đăng ký xe"; } return(Json(result)); }
public JsonResult searchData(FormCollection form) { SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); var searchModel = SessionManager.GetValue("nofifSearch") as SYS_TINNHAN_SEARCH; if (searchModel == null) { searchModel = new SYS_TINNHAN_SEARCH(); searchModel.pageSize = 20; } searchModel.TIEUDE = string.IsNullOrEmpty(form["TIEUDE"]) ? form["TIEUDE"] : form["TIEUDE"].Trim(); if (!string.IsNullOrEmpty(form["TUNGAY"])) { searchModel.TUNGAY = form["TUNGAY"].ToDateTime(); } if (!string.IsNullOrEmpty(form["DENNGAY"])) { searchModel.DENNGAY = form["DENNGAY"].ToDateTime(); } if (!string.IsNullOrEmpty(form["TRANGTHAI"])) { searchModel.TRANGTHAI = form["TRANGTHAI"].Equals("1"); } SessionManager.SetValue("thuoctinhSearch", searchModel); var data = SYS_TINNHANBusiness.GetDaTaByPage(searchModel, searchModel.pageSize, 1); return(Json(data)); }
public JsonResult DeleteLichHop(long id, bool isCancel = false) { AssignUserInfo(); JsonResultBO result = new JsonResultBO(true); QUANLY_PHONGHOPBusiness = Get <QUANLY_PHONGHOPBusiness>(); QUANLY_PHONGHOP entity = QUANLY_PHONGHOPBusiness.Find(id); if (entity != null && entity.IS_DELETE != true) { entity.IS_DELETE = true; QUANLY_PHONGHOPBusiness.Save(entity); if (isCancel) { SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); string bookDate = entity.NGAYDAT != null?entity.NGAYDAT.Value.ToVietnameseDateFormat() : string.Empty; string title = "THÔNG BÁO HỦY LỊCH"; string url = string.Empty; string startTime = string.Format("{0}h{1}", entity.GIOBATDAU.Value.ToString("D2"), entity.PHUTBATDAU.Value.ToString("D2")); string endTime = string.Format("{0}h{1}", entity.GIOKETTHUC.Value.ToString("D2"), entity.PHUTKETTHUC.Value.ToString("D2")); string content = string.Format("Cuộc họp về \"{0}\" trong ngày {1} ({2} - {3}) đã bị hủy", entity.MUCDICH, bookDate, startTime, endTime); SYS_TINNHANBusiness.sendMessageMultipleUsers(new List <long> { entity.CREATED_BY.GetValueOrDefault() }, currentUser, title, content, url, string.Empty, false, entity.ID, 0); } } else { result.Status = false; } return(Json(result)); }
public ActionResult Index() { AssignUserInfo(); SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); SYS_TINNHAN_SEARCH searchModel = new SYS_TINNHAN_SEARCH(); searchModel.USER_ID = currentUser.ID; searchModel.pageSize = MaxPerpage; var data = SYS_TINNHANBusiness.GetDaTaByPage(searchModel, MaxPerpage); SessionManager.SetValue("nofifSearch", searchModel); return(View(data)); }
public JsonResult Delete(long id) { SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); AssignUserInfo(); SYS_TINNHAN Message = SYS_TINNHANBusiness.Find(id); if (Message == null || currentUser.ID != Message.TO_USER_ID) { return(Json(new { Type = "ERROR", Message = "Bạn không có quyền xóa thông báo này" })); } SYS_TINNHANBusiness.repository.Delete(id); SYS_TINNHANBusiness.Save(); return(Json(new { Type = "SUCCESS", Message = "Xóa thông báo thành công" })); }
public JsonResult CancelRegistration(long registrationId) { AssignUserInfo(); JsonResultBO result = new JsonResultBO(true); qlDangKyXeBusiness = Get <QL_DANGKY_XEBusiness>(); qlChuyenBusiness = Get <QL_DANGKYXE_LAIXEBusiness>(); dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>(); sysTinNhanBusiness = Get <SYS_TINNHANBusiness>(); QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(registrationId); if (registration != null && registration.IS_DELETE != true) { QL_DANGKYXE_LAIXE trip = qlChuyenBusiness.repository.All().Where(x => x.QL_DANGKY_XE_ID == registration.ID).FirstOrDefault(); if (trip == null || trip.TRANGTHAI == TRANGTHAI_CHUYEN_CONSTANT.MOITAO_ID) { if (trip != null) { qlChuyenBusiness.repository.Delete(trip); } registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DA_HUY_ID; qlDangKyXeBusiness.Save(registration); result.Message = "Hủy yêu cầu thành công"; //gửi tin nhắn cho người có quyền xác nhận yêu cầu sử dụng xe List <long> notifyUsers = dmNguoiDungBusiness.GetListUsersByFunctionCodeAndDeptId(CONFIRM_CAR_REGISTRATION, currentUser.DeptParentID.GetValueOrDefault()); string title = "HỦY YÊU CẦU SỬ DỤNG XE"; string content = string.Format("{0} đã hủy một yêu cầu sử dụng xe", currentUser.HOTEN); sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = registrationId }), string.Empty, false, registrationId, 0); } else { result.Status = false; if (trip.TRANGTHAI == TRANGTHAI_CHUYEN_CONSTANT.DANGCHAY_ID) { result.Message = "Yêu cầu đang được thực thi không thể hủy"; } else { result.Message = "Hủy yêu cầu không thành công"; } } } return(Json(result)); }
public PartialViewResult Detail(long id) { SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); SYS_TINNHAN_BO notif = SYS_TINNHANBusiness.GetInfoBO(id); AssignUserInfo(); if (notif == null || currentUser.ID != notif.TO_USER_ID) { notif = new SYS_TINNHAN_BO(); } else { SYS_TINNHAN TinNhan = notif.ToModel(); if (false == TinNhan.IS_READ || !TinNhan.IS_READ.HasValue) { TinNhan.IS_READ = true; SYS_TINNHANBusiness.Save(TinNhan); } } return(PartialView("_Detail", notif)); }
public JsonResult ReadAll() { SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); var result = new JsonResultBO(true); AssignUserInfo(); try { var lstThongBao = SYS_TINNHANBusiness.repository.All().Where(x => x.TO_USER_ID == currentUser.ID && x.IS_READ == false).ToList(); foreach (var item in lstThongBao) { item.IS_READ = true; SYS_TINNHANBusiness.Save(item); } } catch (Exception ex) { result.MessageFail(ex.Message); } return(Json(result, JsonRequestBehavior.AllowGet)); }
public JsonResult getData(int indexPage, string sortQuery, int pageSize) { SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); var searchModel = SessionManager.GetValue("nofifSearch") as SYS_TINNHAN_SEARCH; if (!string.IsNullOrEmpty(sortQuery)) { if (searchModel == null) { searchModel = new SYS_TINNHAN_SEARCH(); } searchModel.sortQuery = sortQuery; if (pageSize > 0) { searchModel.pageSize = pageSize; } SessionManager.SetValue("thuoctinhSearch", searchModel); } var data = SYS_TINNHANBusiness.GetDaTaByPage(searchModel, pageSize, indexPage); return(Json(data)); }
public JsonResult AcceptCarRegistration(FormCollection fc) { AssignUserInfo(); JsonResultBO result = new JsonResultBO(false); qlChuyenBusiness = Get <QL_DANGKYXE_LAIXEBusiness>(); qlDangKyXeBusiness = Get <QL_DANGKY_XEBusiness>(); qlLaiXeBusiness = Get <QL_LAIXEBusiness>(); sysTinNhanBusiness = Get <SYS_TINNHANBusiness>(); dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>(); try { long registrationId = fc["DANGKY_XE_ID"].ToIntOrZero(); QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(registrationId); if (registration != null) { List <int> cars = fc["XE_ID"].ToListInt(','); List <int> drivers = fc["LAIXE_ID"].ToListInt(','); for (int i = 0; i < cars.Count; i++) { QL_LAIXE driver = qlLaiXeBusiness.Find(drivers[i]) ?? new QL_LAIXE(); QL_DANGKYXE_LAIXE item = new QL_DANGKYXE_LAIXE(); item.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault(); item.TEN_CHUYEN = "Chuyến " + registrationId + "-" + driver.HOTEN; item.QL_DANGKY_XE_ID = registrationId; item.XE_ID = cars[i]; item.LAIXE_ID = drivers[i]; item.TRANGTHAI = TRANGTHAI_CHUYEN_CONSTANT.MOITAO_ID; item.GHICHU = fc["GHICHU"].Trim(); item.NGAYTAO = DateTime.Now; item.NGAYSUA = DateTime.Now; item.NGUOISUA = currentUser.ID; item.NGUOITAO = currentUser.ID; qlChuyenBusiness.Save(item); } registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DA_TIEPNHAN_ID; qlDangKyXeBusiness.Save(registration); result.Status = true; result.Message = "Tiếp nhận yêu cầu thành công"; //gửi tin nhắn cho người tạo ra yêu cầu //gửi tin nhắn cho người tạo yêu cầu List <long> notifyUsers = new List <long>() { registration.NGUOITAO.GetValueOrDefault() }; string title = "TIẾP NHẬN YÊU CẦU SỬ DỤNG XE"; string content = string.Format("{0} đã tiếp nhận một yêu cầu sử dụng xe", currentUser.HOTEN); sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = registrationId }), string.Empty, false, registrationId, 0); } else { result.Message = "Không tìm thấy yêu cầu đăng ký xe"; } } catch (Exception ex) { result.Message = ex.Message; } return(Json(result)); }
public JsonResult SaveBooking(FormCollection col) { AssignUserInfo(); JsonResultBO result = new JsonResultBO(true); QUANLY_PHONGHOPBusiness = Get <QUANLY_PHONGHOPBusiness>(); QL_PHONGHOPBusiness = Get <QL_PHONGHOPBusiness>(); SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); List <long> notifyUsers = new List <long>(); string title = string.Empty; string content = string.Empty; string url = string.Empty; string bookDate = string.Empty; string startTime = string.Empty; string endTime = string.Empty; string roomName = string.Empty; QUANLY_PHONGHOP bookEntity = QUANLY_PHONGHOPBusiness.Find(col["ID"].ToIntOrZero()); if (bookEntity != null && bookEntity.IS_DELETE != true) { bookEntity.PHONG_ID = col["PHONG_ID"].ToIntOrZero(); QUANLY_PHONGHOPBusiness.Save(bookEntity); //hủy lịch các phòng khác string duplicateIds = col["DUPLICATE"]; if (!string.IsNullOrEmpty(duplicateIds)) { List <int> ids = duplicateIds.ToListInt(','); foreach (var id in ids) { QUANLY_PHONGHOP cancelCalendar = QUANLY_PHONGHOPBusiness.Find(id); if (cancelCalendar != null) { cancelCalendar.IS_DELETE = true; QUANLY_PHONGHOPBusiness.Save(cancelCalendar); //gửi thông báo hủy lịch đến người đặt lịch bookDate = cancelCalendar.NGAYDAT != null?cancelCalendar.NGAYDAT.Value.ToVietnameseDateFormat() : string.Empty; startTime = string.Format("{0}h{1}", cancelCalendar.GIOBATDAU.Value.ToString("D2"), cancelCalendar.PHUTBATDAU.Value.ToString("D2")); endTime = string.Format("{0}h{1}", cancelCalendar.GIOKETTHUC.Value.ToString("D2"), cancelCalendar.PHUTKETTHUC.Value.ToString("D2")); title = "THÔNG BÁO HỦY LỊCH"; content = string.Format("Cuộc họp về \"{0}\" trong ngày {1} ({2} - {3}) đã bị hủy", cancelCalendar.MUCDICH, bookDate, startTime, endTime); SYS_TINNHANBusiness.sendMessageMultipleUsers(new List <long> { cancelCalendar.CREATED_BY.GetValueOrDefault() }, currentUser, title, content, url, string.Empty, false, cancelCalendar.ID, 0); } } } result.Message = "Đặt phòng thành công"; //lấy thông tin phòng, người đặt lịch và thời gian đặt lịch QL_PHONGHOP room = QL_PHONGHOPBusiness.Find(bookEntity.PHONG_ID) ?? new QL_PHONGHOP(); roomName = room.TENPHONG; notifyUsers.Add(bookEntity.CREATED_BY.GetValueOrDefault()); bookDate = bookEntity != null?bookEntity.NGAYDAT.Value.ToVietnameseDateFormat() : string.Empty; startTime = string.Format("{0}h{1}", bookEntity.GIOBATDAU.Value.ToString("D2"), bookEntity.PHUTBATDAU.Value.ToString("D2")); endTime = string.Format("{0}h{1}", bookEntity.GIOKETTHUC.Value.ToString("D2"), bookEntity.PHUTKETTHUC.Value.ToString("D2")); } else { result.Status = false; result.Message = "Yêu cầu đặt lịch không tồn tại"; } title = "THÔNG BÁO ĐẶT PHÒNG"; content = string.Format("Cuộc họp về \"{0}\" trong ngày {1} ({2} - {3}) được đặt tại {4}", bookEntity.MUCDICH, bookDate, startTime, endTime, roomName); SYS_TINNHANBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, url, string.Empty, false, bookEntity.ID, 0); return(Json(result)); }
public JsonResult SaveRoomRequest(FormCollection fc) { AssignUserInfo(); SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); QUANLY_PHONGHOPBusiness = Get <QUANLY_PHONGHOPBusiness>(); DM_NGUOIDUNGBusiness = Get <DM_NGUOIDUNGBusiness>(); JsonResultBO result = new JsonResultBO(true); QUANLY_PHONGHOP entity = new QUANLY_PHONGHOP(); entity.ID = fc["ID"].ToIntOrZero(); entity.USER_ID = fc["USER_ID"].ToLongOrZero(); entity.MUCDICH = fc["MUCDICH"].Trim(); entity.THANHPHANTHAMDU = fc["THANHPHANTHAMDU"].Trim(); entity.GIOBATDAU = fc["GIOBATDAU"].ToIntOrZero(); entity.PHUTBATDAU = fc["PHUTBATDAU"].ToIntOrZero(); entity.GIOKETTHUC = fc["GIOKETTHUC"].ToIntOrZero(); entity.PHUTKETTHUC = fc["PHUTKETTHUC"].ToIntOrZero(); entity.CREATED_AT = DateTime.Now; entity.CREATED_BY = currentUser.ID; entity.NGAYDAT = fc["NGAYDAT"].ToDateTime(); entity.IS_DELETE = false; entity.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault(); //danh sách người nhận thông báo đặt lịch họp List <long> notifyUsers = DM_NGUOIDUNGBusiness.GetListUsersByFunctionCodeAndDeptId("QUANLY_DAT_PHONGHOP", currentUser.DeptParentID.GetValueOrDefault()); string title = string.Empty; string content = string.Empty; string url = string.Empty; string bookDate = entity.NGAYDAT.Value.ToVietnameseDateFormat(); string startTime = string.Format("{0}h{1}", entity.GIOBATDAU.Value.ToString("D2"), entity.PHUTBATDAU.Value.ToString("D2")); string endTime = string.Format("{0}h{1}", entity.GIOKETTHUC.Value.ToString("D2"), entity.PHUTKETTHUC.Value.ToString("D2")); //kiểm tra trùng lịch lãnh đạo if (entity.USER_ID > 0) { List <QUANLY_PHONGHOP> bookingsOfUserInDay = QUANLY_PHONGHOPBusiness.GetBookingsOfUserInDay(entity.NGAYDAT.Value, entity.USER_ID); if (entity.ID > 0) { bookingsOfUserInDay = bookingsOfUserInDay.Where(x => x.ID != entity.ID).ToList(); } if (bookingsOfUserInDay.Any()) { int totalBookDuplicate = 0; //tổng số lịch bị trùng int totalStartMinutes = entity.GIOBATDAU.GetValueOrDefault() * 60 + entity.PHUTBATDAU.GetValueOrDefault(); int totalEndMinutes = entity.GIOKETTHUC.GetValueOrDefault() * 60 + entity.PHUTKETTHUC.GetValueOrDefault(); foreach (var booking in bookingsOfUserInDay) { int totalStartMinutesDb = booking.GIOBATDAU.GetValueOrDefault() * 60 + booking.PHUTBATDAU.GetValueOrDefault(); int totalEndMinutesDb = booking.GIOKETTHUC.GetValueOrDefault() * 60 + booking.PHUTKETTHUC.GetValueOrDefault(); //kiểm tra khoảng thời gian trùng lặp if (totalStartMinutes >= totalStartMinutesDb && totalStartMinutes <= totalStartMinutesDb) //giờ bắt đầu nằm trong khoảng họp { totalBookDuplicate++; } else if (totalStartMinutes <= totalStartMinutesDb && totalEndMinutes >= totalStartMinutesDb && totalEndMinutes <= totalEndMinutesDb) //giờ kết thúc nằm trong khoảng họp { totalBookDuplicate++; } else if (totalStartMinutes >= totalStartMinutesDb && totalEndMinutes <= totalStartMinutesDb) //giờ bắt đầu và giờ kết thúc đều nằm trong khoảng họp { totalBookDuplicate++; } } if (totalBookDuplicate > 0) { result.Message = string.Format("Trong ngày {0} lãnh đạo có {1} lịch diễn ra trong khoảng thời gian trên", bookDate, totalBookDuplicate); result.Status = false; return(Json(result)); } } } if (entity.ID > 0) { QUANLY_PHONGHOP dbEntity = QUANLY_PHONGHOPBusiness.Find(entity.ID); dbEntity.USER_ID = entity.USER_ID; dbEntity.MUCDICH = entity.MUCDICH; dbEntity.THANHPHANTHAMDU = entity.THANHPHANTHAMDU; dbEntity.GIOBATDAU = entity.GIOBATDAU; dbEntity.GIOKETTHUC = entity.GIOKETTHUC; dbEntity.NGAYDAT = entity.NGAYDAT; dbEntity.PHUTBATDAU = entity.PHUTBATDAU; dbEntity.PHUTKETTHUC = entity.PHUTKETTHUC; dbEntity.CCTC_THANHPHAN_ID = entity.CCTC_THANHPHAN_ID; QUANLY_PHONGHOPBusiness.Save(dbEntity); result.Message = "Cập nhật lịch họp thành công"; title = "THÔNG BÁO THAY ĐổI LỊCH HỌP"; content = string.Format("{0} đã thay đổi thông tin lịch họp vào ngày {1} lúc {2} đến {3}", currentUser.HOTEN, bookDate, startTime, endTime); } else { QUANLY_PHONGHOPBusiness.Save(entity); result.Message = "Thêm mới lịch họp thành công"; title = "THÔNG BÁO ĐẶT LỊCH HỌP"; content = string.Format("{0} đã đặt một lịch họp vào ngày {1} lúc {2} đến {3}", currentUser.HOTEN, bookDate, startTime, endTime); } //gửi tin nhắn cho người có nhiệm vụ đặt phòng SYS_TINNHANBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, url, string.Empty, false, entity.ID, 0); return(Json(result)); }
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" })); }