public JsonResult SaveDangKyXe(FormCollection collection) { qlDangKyXeBusiness = Get <QL_DANGKY_XEBusiness>(); dmNhomDanhMucBusiness = Get <DM_NHOMDANHMUCBusiness>(); dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>(); JsonResultBO result = new JsonResultBO(true); try { AssignUserInfo(); long id = collection["ID"].ToLongOrZero(); QL_DANGKY_XE entity = new QL_DANGKY_XE(); entity.NGAY_XUATPHAT = collection["NGAY_XUATPHAT"].ToDateTime(); //kiểm tra ngày xuất phát <= ngày hiện tại if (entity.ID == 0 && entity.NGAY_XUATPHAT.HasValue && entity.NGAY_XUATPHAT.Value < DateTime.Now.ToVietnameseDateFormat().ToStartDay()) { result.Status = false; result.Message = "Thời gian xuất phát không thể nhỏ hơn ngày hiện tại"; return(Json(result)); } entity.PHONGBAN_ID = currentUser.DM_PHONGBAN_ID; entity.SONGUOI = collection["SONGUOI"].ToIntOrZero(); entity.MUCDICH = collection["MUCDICH"].Trim(); entity.NOIDUNG = collection["NOIDUNG"].Trim(); entity.GIO_XUATPHAT = collection["GIO_XUATPHAT"].ToIntOrZero(); entity.PHUT_XUATPHAT = collection["PHUT_XUATPHAT"].ToIntOrZero(); entity.DIEM_XUATPHAT = collection["DIEM_XUATPHAT"].Trim(); entity.DIEM_KETTHUC = collection["DIEM_KETTHUC"].Trim(); entity.GHICHU = collection["GHICHU"].Trim(); entity.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.MOITAO_ID; entity.LICHCONGTAC_ID = collection["LICHCONGTAC_ID"].ToIntOrNULL(); entity.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault(); //if (!string.IsNullOrEmpty(collection["TEN_BENHNHAN"])) //{ // entity.TEN_BENHNHAN = collection["TEN_BENHNHAN"].Trim(); //} if (!string.IsNullOrEmpty(collection["CANBO_ID"])) { entity.CANBO_ID = collection["CANBO_ID"].ToIntOrNULL(); } //if (!string.IsNullOrEmpty(collection["IS_BHYT"])) //{ // entity.IS_BHYT = collection["IS_BHYT"].ToIntOrNULL() > 0; //} //if (!string.IsNullOrEmpty(collection["LOAI_CHUYEN_ID"])) //{ // entity.LOAI_CHUYEN_ID = collection["LOAI_CHUYEN_ID"].ToIntOrZero(); //} entity.DIEM_XUATPHAT = collection["DIEM_XUATPHAT"].Trim(); entity.DIEM_KETTHUC = collection["DIEM_KETTHUC"].Trim(); DM_DANHMUC_DATA dataStartPointItem = dmDanhMucDataBusiness.GetItemByCodeAndText(DMLOAI_CONSTANT.DIEM_XUATPHAT, entity.DIEM_XUATPHAT); if (dataStartPointItem == null) { DM_NHOMDANHMUC groupCategory = dmNhomDanhMucBusiness.GetByCode(DMLOAI_CONSTANT.DIEM_XUATPHAT) ?? new DM_NHOMDANHMUC(); DM_DANHMUC_DATA startPointEntity = new DM_DANHMUC_DATA(); startPointEntity.DM_NHOM_ID = groupCategory.ID; startPointEntity.TEXT = entity.DIEM_XUATPHAT; dmDanhMucDataBusiness.Save(startPointEntity); } DM_DANHMUC_DATA dataDestinationItem = dmDanhMucDataBusiness.GetItemByCodeAndText(DMLOAI_CONSTANT.DIEM_DEN, entity.DIEM_KETTHUC); if (dataDestinationItem == 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 = entity.DIEM_KETTHUC; dmDanhMucDataBusiness.Save(destinationEntity); } entity.NGAYSUA = DateTime.Now; entity.NGAYTAO = DateTime.Now; entity.NGUOITAO = currentUser.ID; entity.NGUOISUA = currentUser.ID; if (id > 0) { QL_DANGKY_XE dbEntity = qlDangKyXeBusiness.Find(id); if (dbEntity != null) { dbEntity.PHONGBAN_ID = entity.PHONGBAN_ID; dbEntity.SONGUOI = entity.SONGUOI; dbEntity.MUCDICH = entity.MUCDICH; dbEntity.NOIDUNG = entity.NOIDUNG; dbEntity.NGAY_XUATPHAT = entity.NGAY_XUATPHAT; dbEntity.GIO_XUATPHAT = entity.GIO_XUATPHAT; dbEntity.PHUT_XUATPHAT = entity.PHUT_XUATPHAT; dbEntity.DIEM_XUATPHAT = entity.DIEM_XUATPHAT; dbEntity.DIEM_KETTHUC = entity.DIEM_KETTHUC; dbEntity.CCTC_THANHPHAN_ID = entity.CCTC_THANHPHAN_ID; dbEntity.GHICHU = entity.GHICHU; dbEntity.NGAYSUA = DateTime.Now; dbEntity.NGUOISUA = currentUser.ID; qlDangKyXeBusiness.Save(dbEntity); result.Message = "Cập nhật đăng ký xe thành công"; } } else { qlDangKyXeBusiness.Save(entity); result.Message = "Thêm mới đăng ký xe thành công"; } } catch (Exception ex) { result.Status = false; result.Message = ex.ToString(); } 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)); }