public ActionResult List(FormCollection collection, int jtStartIndex = 0, int jtPageSize = 0, string jtSorting = null) { //查詢參數 var qm = new CrRegistrationQryModel(); var isOK = this.TryUpdateModel(qm); var token = collection["__RequestVerificationToken"]; var classId = qm.Q_ClassId; CR_RegistrationDataTable dt = null; if (!classId.isNullOrEmpty()) { dt = CrDataService.Instance.CrRegistration_getListByClassId(classId); } else { dt = CrDataService.Instance.CrRegistration_getList(qm); } //排序 var dtSorted = dt.sort(jtSorting); if (Request.IsAjaxRequest()) { return(converToJTableSource(dtSorted, jtStartIndex, jtPageSize)); } else { return(View(dt)); } }
//簽到表 public byte[] CRR020(CrRegistrationQryModel qm, ref string contenttype) { var dt = NsDmHelper.CR_Registration .selectAll(t => t.AllExt) .where (t => t.CRR_CourseId_XX == qm.Q_CourseId.toConstReq1() & t.CRR_ClassId == qm.Q_ClassId.toConstOpt1() ) .orderby(t => new[] { t.CRR_ClassDate_XX.Asc, t.CRR_ClassTime_XX.Asc, t.CRR_CreateDate.Asc }) .query(); //無資料 if (dt == null) { dt = new CR_RegistrationDataTable(); } ReportViewer reportViewer1 = new ReportViewer(); reportViewer1.LocalReport.DataSources.Clear(); //取得報表檔組件 var assembly = getReportAssembly(); //取得報表定義檔 var reportFile = string.Empty; reportFile = "CRR020Rpt.rdlc"; Stream fileStream = assembly.GetManifestResourceStream("ftd.report." + reportFile); reportViewer1.LocalReport.LoadReportDefinition(fileStream); dt.TableName = "CR_Registration"; reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dt.TableName, dt as DataTable)); #region 報表參數設定 var companyName = FtdConfigService.Instance.getAppSettingValue("CompanyName", ""); var pCompanyName = new ReportParameter("P_CompanyName", companyName); reportViewer1.LocalReport.SetParameters(new ReportParameter[] { pCompanyName }); #endregion Microsoft.Reporting.WebForms.Warning[] tWarnings; string[] tStreamids; string tMimeType; string tEncoding; string tExtension; string fileFormat = getPrintType(contenttype.ToLower()); byte[] tBytes = reportViewer1.LocalReport.Render(fileFormat, "<DeviceInfo><AutoFit>Never</AutoFit></DeviceInfo>", out tMimeType, out tEncoding, out tExtension, out tStreamids, out tWarnings); contenttype = tMimeType; return(tBytes); }
public CR_RegistrationDataTable CrRegistration_create(int rowCount = 1) { var dt = new CR_RegistrationDataTable(); if (rowCount < 0) { rowCount = 0; } for (int i = 0; i < rowCount; i++) { var row = dt.newTypedRow(); row.ns_AssignNewId(); dt.addTypedRow(row); } return(dt); }
public CR_RegistrationDataTable CrRegistration_createWithClassId(string classId, int rowCount = 1) { var dt = new CR_RegistrationDataTable(); if (rowCount < 0) { rowCount = 0; } for (int i = 0; i < rowCount; i++) { var row = dt.newTypedRow(); row.ns_AssignNewId(); row.CRR_ClassId = classId; dt.addTypedRow(row); } if (!classId.isNullOrEmpty()) { dt.ns_linkColumns( AppDataName.CRR_ClassCode_XX, AppDataName.CRR_ClassDate_XX, AppDataName.CRR_ClassTime_XX, AppDataName.CRR_CourseCode_XX, AppDataName.CRR_CourseDesc_XX, AppDataName.CRR_CourseEnable_XX, AppDataName.CRR_CourseEnableName_XX, AppDataName.CRR_CourseId_XX, AppDataName.CRR_CourseName_XX, AppDataName.CRR_LimitQty_XX, AppDataName.CRR_RegisterQty_XX, AppDataName.CRR_StartDate_XX, AppDataName.CRR_EndDate_XX, AppDataName.CRR_RegisterStartDate_XX, AppDataName.CRR_RegisterEndDate_XX, AppDataName.CRR_DietServcie_XX, AppDataName.CRR_DietServiceName_XX ); } return(dt); }
public ActionResult Edit(FormCollection collection) { var token = collection["__RequestVerificationToken"]; var mode = collection["ViewMode"]; var id = collection[AppDataName.CRR_RegistrationId]; var msg = "報名成功"; CR_RegistrationDataTable dt = null; CR_RegistrationRow row = null; try { if (mode.equalIgnoreCase("create")) { dt = CrDataService.Instance.CrRegistration_create(); msg = "報名成功"; } else { //找出該筆資料 dt = CrDataService.Instance.CrRegistration_getById(id); if (dt == null || dt.Count == 0) { return(Json(new { Result = jTable_ERROR_CODE, Message = "資料不存在" })); } msg = "修改成功"; } //將Form sumit的資料更新至DataRow row = dt.FirstRow; var isOK = this.TryUpdateModel(row); //若驗證失敗-->回傳錯誤訊息 if (!ModelState.IsValid) { return(Json(new { Result = jTable_ERROR_CODE, Message = string.Join("<br/>", ModelState.Values) })); } #region //驗證欄位 List <string> lstError = new List <string>(); if (row.CRR_CourseId_XX.isNullOrEmpty()) { lstError.Add("課程ID不能為空"); } if (row.CRR_ClassId.isNullOrEmpty()) { lstError.Add("班別ID不能為空"); } //if (row.CRR_CitizenId.isNullOrEmpty()) //{ // lstError.Add("身分證不能為空"); //} if (row.CRR_Name.isNullOrEmpty()) { lstError.Add("姓名不能為空"); } if (row.CRR_OrganName.isNullOrEmpty()) { lstError.Add("單位名稱不能為空"); } //if (row.CRR_FoodKind.isNullOrEmpty()) //{ // lstError.Add("葷素不能為空"); //} if (row.CRR_Tel.isNullOrEmpty()) { lstError.Add("聯絡電話不能為空"); } //回傳錯誤訊息 if (lstError.Count > 0) { return(Json(new { Result = jTable_ERROR_CODE, Message = string.Join("<br/>", lstError.ToArray()) })); } //身分證驗證 if (!row.CRR_CitizenId.isNullOrEmpty() && !row.CRR_CitizenId.verifyAsTwCitizenId()) { return(Json(new { Result = jTable_ERROR_CODE, Message = "請輸入有效的身分證字號。" })); } //檢查鍵值是否重覆 if (CrDataService.Instance.CrRegistration_cehckDuplicate(row.CRR_RegistrationId, row.CRR_CourseId_XX, AppUserSession.User.LoginAccount, row.CRR_Name)) { return(Json(new { Result = jTable_ERROR_CODE, Message = "同課程已報名。若要改報不同班別,請先取消原報名資料。" })); } #endregion dt.ns_update(); dt.AcceptChanges(); return(Json(new { Result = jTable_SUCCESS_CODE, Message = msg })); } catch (Exception ex) { return(Json(new { Result = jTable_ERROR_CODE, Message = ex.Message })); } }