public JsonResult DeleteLichCongTac(long id) { AssignUserInfo(); JsonResultBO result = new JsonResultBO(true); lichCongTacBusiness = Get <LICHCONGTACBusiness>(); qlDangKyXeBusiness = Get <QL_DANGKY_XEBusiness>(); LICHCONGTAC calendar = lichCongTacBusiness.Find(id); if (calendar != null && calendar.IS_DELETE != true && calendar.NGUOITAO == currentUser.ID) { calendar.IS_DELETE = true; lichCongTacBusiness.Save(calendar); //kiểm tra lịch công tác có đăng ký xe hay không? //nếu có thì hủy lịch đăng ký xe QL_DANGKY_XE registration = qlDangKyXeBusiness.GetAvailableRegistrationByCalendarId(id); if (registration != null) { registration.IS_DELETE = true; qlDangKyXeBusiness.Save(registration); } } else { result.Status = false; result.Message = "Không tìm thấy lịch công tác"; } return(Json(result)); }
public JsonResult SaveLichCongTac(LICHCONGTAC entity, FormCollection fc) { AssignUserInfo(); qlDangKyXeBusiness = Get <QL_DANGKY_XEBusiness>(); lichCongTacBusiness = Get <LICHCONGTACBusiness>(); dmNhomDanhMucBusiness = Get <DM_NHOMDANHMUCBusiness>(); dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>(); JsonResultBO editResult = new JsonResultBO(true); entity.NGAY_CONGTAC = fc["NGAY_CONGTAC"].ToDateTimeNotNull(); bool isObsolete = entity.NGAY_CONGTAC.IsOldWeek(); if (isObsolete) { editResult.Status = false; editResult.Message = "Thời gian công tác đã quá hạn để thêm mới"; return(Json(editResult)); } entity.TIEUDE = fc["TIEUDE"].Trim(); entity.GIO_CONGTAC = fc["GIO_CONGTAC"].ToIntOrZero(); entity.PHUT_CONGTAC = fc["PHUT_CONGTAC"].ToIntOrZero(); //entity.NGUOICHUTRI_ID = fc["NGUOICHUTRI_ID"].ToIntOrNULL(); entity.LANHDAO_ID = fc["LANHDAO_ID"].ToIntOrNULL(); entity.DIADIEM = fc["DIADIEM"].Trim(); entity.GHICHU = fc["GHICHU"].Trim(); entity.NGUOITAO = currentUser.ID; entity.NGUOISUA = currentUser.ID; entity.NGAYTAO = DateTime.Now; entity.NGAYSUA = DateTime.Now; entity.IS_LATTEST = true; entity.IS_DELETE = false; string destination = fc["DIADIEM"].Trim(); //kiểm tra trùng lịch của cán bộ trong ngày bool existed = lichCongTacBusiness.CheckIsDuplicate(entity.ID, entity.LANHDAO_ID.GetValueOrDefault(), entity.NGAY_CONGTAC, entity.GIO_CONGTAC, entity.PHUT_CONGTAC); if (existed == true) { editResult.Status = false; editResult.Message = "Lịch công tác của cán bộ đã tồn tại"; return(Json(editResult)); } DM_DANHMUC_DATA dataItem = dmDanhMucDataBusiness.GetItemByCodeAndText(DMLOAI_CONSTANT.DIEM_DEN, destination); if (dataItem == null) { DM_NHOMDANHMUC groupCategory = dmNhomDanhMucBusiness.GetByCode(DMLOAI_CONSTANT.DIEM_DEN) ?? new DM_NHOMDANHMUC(); DM_DANHMUC_DATA destinationEntity = new DM_DANHMUC_DATA(); destinationEntity.DM_NHOM_ID = groupCategory.ID; destinationEntity.TEXT = destination; dmDanhMucDataBusiness.Save(destinationEntity); } if (entity.ID <= 0) { lichCongTacBusiness.Save(entity); editResult.Message = "Thêm mới lịch công tác thành công"; } else { LICHCONGTAC dbEntity = lichCongTacBusiness.Find(entity.ID); if (dbEntity != null && dbEntity.IS_DELETE != true) { if (dbEntity.NGAY_CONGTAC.IsOldWeek()) { editResult.Status = false; editResult.Message = "Thời gian công tác đã quá hạn cập nhật"; return(Json(editResult)); } //so sánh 2 phiên bản nếu khác => tạo phiên bản mới có ROOT_LICH = 0; bool hasChanged = CheckHasChanged(arrProperties, dbEntity, entity); if (hasChanged) { entity.ID = 0; entity.LICH_GOC_ID = dbEntity.ID; dbEntity.IS_LATTEST = false; //cập nhật phiên bản trước đã cũ lichCongTacBusiness.Save(entity); //kiểm tra xem lịch công tác này đã được đăng ký xe hay chưa //nếu có thì cập nhật đăng ký xe QL_DANGKY_XE register = qlDangKyXeBusiness.GetAvailableRegistrationByCalendarId(dbEntity.ID); if (register != null) { register.LICHCONGTAC_ID = entity.ID; qlDangKyXeBusiness.Save(register); } } lichCongTacBusiness.Save(dbEntity); editResult.Message = "Cập nhật lịch công tác thành công"; } else { editResult.Status = false; editResult.Message = "Lịch công tác không tồn tại"; return(Json(editResult)); } } return(Json(editResult)); }