private void frmMain_Load(object sender, EventArgs e) { bool IsExist = thread.isRunning(false); if (IsExist) { if (DialogResult.Yes == MessageBox.Show("The DBPusher process is running,Do you want to kill it?", "Notice", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { thread.isRunning(true); } else Environment.Exit(0); } msgDis = new MessageDisplay(MainTextBox); this.Text = AppSet.Default.Title + " (V. " + Application.ProductVersion + " )"; chkNetLog.Checked = true; DBAccessMonitor.Instance.noticeEvent += msgDis.msg; Trunk.Instance.noticeEvent += msgDis.msg; try { Trunk.Instance.Init(); Trunk.Instance.Active = true; } catch (Exception E) { MessageBox.Show(string.Format("Trunk active fatal error:{0}", E.Message), "Exit", MessageBoxButtons.OK, MessageBoxIcon.Stop); Environment.Exit(0); } }
protected override bool ValidateRoleDate(RoleCollection roles, MessageDisplay msgdisp) { bool returnValue = true; for (int i = 0; i < roles.Count; i++) { if (string.IsNullOrEmpty(roles[i].Title) || roles[i].Title.Trim() == string.Empty) { msgdisp.AddError("title", i, Lang_Error.Role_EmptyTitleError); returnValue = false; } for (int j = i + 1; j < roles.Count; j++) { if (i!=j) { if (roles[i].RequiredPoint == roles[j].RequiredPoint) { msgdisp.AddError("RequiredPoint", i, string.Format(Lang_Error.Role_DuplicatePointError,i+1,j+1)); msgdisp.AddError("RequiredPoint", j, string.Format(Lang_Error.Role_DuplicatePointError, j+1,i+1)); returnValue = false; } } } } return returnValue; }
public void DeleteGroup(int groupID,MessageDisplay msgdisplay) { DefaultEmoticonGroup group = m_groups.GetValue(groupID);// m_groups[groupName]; if (group != null) { bool error = false; if (string.IsNullOrEmpty(group.DirectoryName)) { msgdisplay.AddError("groupname", "不能删除默认分组"); } else { //全部文件监控都关闭然后再删除文件夹, 否则会导致重启 || 事实证明停止监视也会重启 EndWach(); foreach (DefaultEmoticonGroup tempgroup in m_groups) { tempgroup.EndWach(); } try { Directory.Delete(m_groups .GetValue(groupID).FilePath,true); } catch (Exception ex) { group.BeginWach(); msgdisplay.AddError("删除表情出错,错误信息:" + ex.Message); error = true; } if (error == false) { SettingManager.SaveSettings(this); init(group.DirectoryName); } else { foreach (DefaultEmoticonGroup tempgroup in m_groups) { tempgroup.BeginWach(); } BeginWach(); } } } }
/// <summary> /// 验证验证码 /// </summary> /// <param name="actionType"></param> /// <param name="id"></param> /// <param name="msgDisplay"></param> /// <returns></returns> public static bool CheckValidateCode(string actionType, string id, MessageDisplay msgDisplay,bool removeSession) { HttpSessionState Session = HttpContext.Current.Session; if (MaxLabs.bbsMax.ValidateCodes.ValidateCodeManager.HasValidateCode(actionType) == false) return true; if (id == null) id = string.Empty; string inputName = string.Format(Consts.ValidateCode_InputName, actionType, id); string code = HttpContext.Current.Request.Form[inputName]; string sessionKey = Consts.ValidateCode_SessionKey_Prefix + actionType + id.Trim().ToLower(); if (string.IsNullOrEmpty(code)) { if (msgDisplay != null) msgDisplay.AddError(inputName, Lang_Error.ValidateCode_EmptyValidateCodeError); if (removeSession) Session.Remove(sessionKey); return false; } object realCode = Session[sessionKey]; if (realCode == null) { if (msgDisplay != null) msgDisplay.AddError(inputName, Lang_Error.ValidateCode_EmptyValidateCodeError); return false; } if (string.Compare(code.Trim(), realCode.ToString(), true) != 0) { if (msgDisplay != null) msgDisplay.AddError(inputName, Lang_Error.ValidateCode_InvalidValidateCodeError); if (removeSession) Session.Remove(sessionKey); return false; } return true; }
public void CreateGroup(int sortorder,string GroupName,MessageDisplay msgdisplay) { if (GroupName!=null && GroupName.Trim()!=string.Empty) { GroupName = GroupName.Trim(); if ( GetEmoticonGroupByName(GroupName) != null) { msgdisplay.AddError("groupname", "分组:"+GroupName+" 已经存在"); } else { if (Regex.IsMatch(GroupName, "[\\/:\\*\\?\"\\<\\>\\|]+")) { msgdisplay.AddError("分组是以文件夹的形式存在。因此,分组名称里不能包含下列字符:/ : * ? \" < > |"); } else { bool error = false; try { Directory.CreateDirectory(IOUtil.JoinPath(this.FaceDirectory, GroupName)); } catch (Exception ex) { error = true; msgdisplay.AddError("创建表情分组失败, 可能的原因是: 对 " + this.FaceDirectory + " 无写入权限! 具体错误信息: " + ex.Message); } if (error == false) { init(); DefaultEmoticonGroup newGroup = GetEmoticonGroupByName(GroupName); if(newGroup!=null) newGroup.SortOrder = sortorder; SettingManager.SaveSettings(this); } } } } else { msgdisplay.AddError("groupname", "分组名称不能为空。"); } }
protected virtual bool ValidateRoleDate(RoleCollection roles, MessageDisplay msgdisp) { Role myMaxRole = My.MaxRole; bool returnValue = true; for (int i = 0; i < roles.Count; i++) { if (string.IsNullOrEmpty(roles[i].Name) || roles[i].Name.Trim() == string.Empty) { msgdisp.AddError("name", i, Lang_Error.Role_EmptyRoleNameError); returnValue = false; } if ( !My.IsOwner && roles[i].IsNew && roles[i].IsManager && roles[i].Level >= myMaxRole.Level) { msgdisp.AddError("level", i, string.Format("您当前的用户组为{0}。因此,您不能添加和{0}同级别或级别更高的用户组",myMaxRole.Name)); returnValue = false; } } return returnValue; }
private bool StartExport() { /* 條件值檢核*/ DateTime ldstart, ldend; string lsType = ""; switch (rgDate.EditValue) { case "rb_day": //週 if (!emStartDate.IsDate(emStartDate.Text, CheckDate.Start) || !emEndDate.IsDate(emEndDate.Text, CheckDate.End)) { return(false); } if (string.Compare(emStartDate.Text, emEndDate.Text) > 0) { MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif); return(false); } ldstart = Convert.ToDateTime(emStartDate.Text); ldend = Convert.ToDateTime(emEndDate.Text); startYMD = emStartDate.Text.Replace("/", "").SubStr(0, 8); endYMD = emEndDate.Text.Replace("/", "").SubStr(0, 8); lsType = "Day"; sumType = "D"; logText = ldstart.ToString("yyyy.mm.dd") + "至" + ldend.ToString("yyyy.mm.dd") + " 交易量"; break; case "rb_week": //週 if (!emStartDate1.IsDate(emStartDate1.Text, CheckDate.Start) || !emEndDate1.IsDate(emEndDate1.Text, CheckDate.End)) { return(false); } if (string.Compare(emStartDate1.Text, emEndDate1.Text) > 0) { MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif); return(false); } ldstart = Convert.ToDateTime(emStartDate1.Text); ldend = Convert.ToDateTime(emEndDate1.Text); startYMD = emStartDate1.Text.Replace("/", "").SubStr(0, 8); endYMD = emEndDate1.Text.Replace("/", "").SubStr(0, 8); lsType = "Week"; sumType = "D"; logText = ldstart.ToString("yyyy.mm.dd") + "至" + ldend.ToString("yyyy.mm.dd") + " 交易量"; break; case "rb_month": //月 string emSmth = emStartMth.Text + "/01"; string emEmth = emEndMth.Text + "/01"; if (!emStartMth.IsDate(emSmth, CheckDate.Start) || !emEndMth.IsDate(emEmth, CheckDate.End)) { return(false); } ldstart = Convert.ToDateTime(emSmth); ldend = PbFunc.relativedate(Convert.ToDateTime(emEmth), 31); if (ldend.Month != PbFunc.Right(emStartMth.Text, 2).AsInt()) { ldend = PbFunc.relativedate(ldend, -ldend.Day); } startYMD = emStartMth.Text.Replace("/", "").SubStr(0, 6); endYMD = emEndMth.Text.Replace("/", "").SubStr(0, 6); lsType = "Month"; sumType = "M"; logText = startYMD + "至" + endYMD + " 交易量"; break; case "rb_year": //年 startYMD = emStartYear.Text; endYMD = emEndYear.Text; lsType = "Year"; sumType = "Y"; logText = startYMD + "至" + endYMD + " 交易量"; break; default: break; } saveFilePath = _ProgramID + "_" + lsType + "(" + startYMD + "-" + endYMD + ")"; //商品別 switch (rgPeriod.EditValue) { case "rb_txw": lsKindId2 = "MXW%"; saveFilePath = saveFilePath + "W"; break; case "rb_txo": lsKindId2 = "MXF%"; saveFilePath = saveFilePath + "S"; break; default: lsKindId2 = "%"; break; } /*點選儲存檔案之目錄*/ saveFilePath = PbFunc.wf_GetFileSaveName(saveFilePath + ".csv"); if (string.IsNullOrEmpty(saveFilePath)) { return(false); } /******************* * Messagebox *******************/ stMsgTxt.Visible = true; stMsgTxt.Text = "開始轉檔..."; stMsgTxt.Text = logText + " 轉檔中..."; this.Cursor = Cursors.WaitCursor; this.Refresh(); Thread.Sleep(5); return(true); }
/// <summary> /// 检查验证码 是否正确 /// </summary> protected bool CheckValidateCode(string actionType, MessageDisplay msgDisplay) { return CheckValidateCode(actionType, null, msgDisplay); }
/// <summary> /// 在当前界面上面显示错误的信息,错误信息的id必须为:info_msg /// </summary> /// <param name="names"></param> public void DisplayMsg(params string[] names) { Display = new MessageDisplay(null, names); }
//function wf_30593 private bool wf_Export(Workbook workbook) { try { string rptName = "臺股期貨交易概況表"; ShowMsg(string.Format("{0}-{1} 轉檔中...", _ProgramID, rptName)); Worksheet worksheet = workbook.Worksheets[0]; //切換sheet string ls_market_code; #region 交易時段 if (gbMarket.EditValue.ToString() == "rbMarket0") { ls_market_code = "0"; } else if (gbMarket.EditValue.ToString() == "rbMarket1") { ls_market_code = "1"; } else { ls_market_code = "%"; } string StartYMD = txtStartYMD.DateTimeValue.ToString("yyyyMMdd"); string EndYMD = txtEndYMD.DateTimeValue.ToString("yyyyMMdd"); DataTable dt = dao30593.GetData(StartYMD, EndYMD, ls_market_code); if (dt.Rows.Count <= 0) { ShowMsg(string.Format("{0},{1}-{2},無任何資料!", txtStartYMD.DateTimeValue.ToString("yyyyMM"), _ProgramID, rptName)); MessageDisplay.Info(string.Format("{0},{1}-{2},(市場總成交量雙邊(A)無任何資料!", txtStartYMD.DateTimeValue.ToString("yyyyMM"), _ProgramID, rptName), GlobalInfo.ResultText); return(false); } DataTable dtFilter = new DataTable(); //全部 or 單一商品 string prod = ddlProd.Text.SubStr(0, 1); if (prod != "%") { dtFilter = dt.Filter("apdk_param_key ='" + ddlProd.Text + "'"); //單一商品 } else { dtFilter = dt.Copy(); } #endregion #region 表頭 int ii_ole_row = 1; int li_col = 2; foreach (CheckedListBoxItem item in chkGroup.Items) { if (item.CheckState == CheckState.Checked) { switch (item.Value) { case "chkMonQnty": li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "總交易量 [(買+賣)/2]"; break; case "chkOI": li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "未平倉量[(買+賣)/2]"; break; case "chkMonCnt": li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "成交筆數(買+賣)"; break; case "chkAmt": li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "成交金額(台幣) [(買+賣)/2]"; li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "成交金額(原始幣別) [(買+賣)/2]"; break; case "chkAcc": li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "交易戶數(買+賣)"; break; case "chkId": li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "交易人數(ID數)(買+賣)"; break; } } }//foreach (CheckedListBoxItem item in chkGroup.Items) #endregion #region 內容 foreach (DataRow dr in dtFilter.Rows) { ii_ole_row++; worksheet.Cells[ii_ole_row - 1, 0].Value = dr["APDK_YMD"].AsString(); worksheet.Cells[ii_ole_row - 1, 1].Value = dr["APDK_PARAM_KEY"].AsString(); li_col = 2; foreach (CheckedListBoxItem item in chkGroup.Items) { if (item.CheckState == CheckState.Checked) { switch (item.Value) { case "chkMonQnty": li_col++; if (dr["AI2_M_QNTY"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dr["AI2_M_QNTY"].AsDecimal(); } break; case "chkOI": li_col++; if (dr["AI2_OI"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dr["AI2_OI"].AsDecimal(); } break; case "chkMonCnt": li_col++; if (dr["AM10_CNT"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dr["AM10_CNT"].AsDecimal(); } break; case "chkAmt": li_col++; if (dr["AA2_AMT"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dr["AA2_AMT"].AsDecimal(); } li_col++; if (dr["AA2_AMT_ORG_CURRENCY"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dr["AA2_AMT_ORG_CURRENCY"].AsDecimal(); } break; case "chkAcc": li_col++; if (dr["AM9_ACC_CNT"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dr["AM9_ACC_CNT"].AsDecimal(); } break; case "chkId": li_col++; if (dr["AB4_ID_CNT"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dr["AB4_ID_CNT"].AsDecimal(); } break; } } } //foreach (CheckedListBoxItem item in chkGroup.Items) } //foreach (DataRow dr in dtFilter.Rows) #endregion worksheet.Range["A1"].Select(); worksheet.ScrollToRow(0); return(true); } catch (Exception ex) { WriteLog(ex); labMsg.Visible = false; return(false); } }
private void Register() { MessageDisplay msgDisplay = CreateMessageDisplay("username", "password", "password2", "email", "serial", "inviterid", GetValidateCodeInputName(validateCodeAction)); string password = _Request.Get("password", Method.Post, string.Empty, false); if (password != _Request.Get("password2", Method.Post, string.Empty, false)) { _Request.Remove("password2", Method.Post); ThrowError(new PasswordInconsistentError("password2")); } string username = _Request.Get("username", Method.Post, string.Empty, false).Trim(); string email = _Request.Get("email", Method.Post, string.Empty, false).Trim(); string inviteCode = _Request.Get("invite", Method.All, string.Empty).Trim(); int userid = 0; //if (string.IsNullOrEmpty(inviteCode)) inviteCode = _Request.Get("invite", Method.Get); int?inviterID = _Request.Get <int>("inviterid"); if (_Request.Get("agree", Method.Post) != "1") { ThrowError(new NotAgreeError("notagreeerror")); } //验证码检查 bool isRightValidateCode = CheckValidateCode(validateCodeAction, msgDisplay); //if (!CheckValidateCode(validateCodeAction, msgDisplay)) //{ // return; //} UserRegisterState state = UserRegisterState.Failure; try { if (!HasUnCatchedError) { state = UserBO.Instance.Register(ref userid, username, password, email, _Request.IpAddress, inviteCode, null, isRightValidateCode); } } catch (Exception ex) { msgDisplay.AddException(ex); } switch (state) { case UserRegisterState.Success: BbsRouter.JumpTo("default"); ValidateCodeManager.CreateValidateCodeActionRecode(validateCodeAction); break; case UserRegisterState.NeedActive: ValidateCodeManager.CreateValidateCodeActionRecode(validateCodeAction); password = SecurityUtil.Encrypt(EncryptFormat.bbsMax, password); //已经发送过邮件了,跳转后,不需要再次提示发送邮件. string reactiveUrl = UrlHelper.GetSendEmailUrl(ValidateEmailAction.ActivingUser, userid, password, true); Response.Redirect(reactiveUrl); break; case UserRegisterState.Failure: //失败 CatchError <ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); }); break; } }
protected override ResultStatus Export() { try { this.Cursor = Cursors.WaitCursor; this.Refresh(); Thread.Sleep(5); lblProcessing.Visible = true; ShowMsg("開始轉檔..."); dao43010 = new D43010(); dao43020 = new D43020(); #region ue_export_before //130批次作業做完 string rtnStr, oswGrp; oswGrp = dwOswGrp.EditValue + "%"; rtnStr = PbFunc.f_chk_130_wf(_ProgramID, txtSDate.DateTimeValue, oswGrp); if (rtnStr != "") { DialogResult result = MessageDisplay.Choose(txtSDate.Text + "-" + rtnStr + ",是否要繼續?"); if (result == DialogResult.No) { lblProcessing.Visible = false; return(ResultStatus.Fail); } } #endregion string rptName, rptId, file; int rowStart; rptName = "股票期貨保證金狀況表-標的證券為受益憑證"; rptId = "43010"; ShowMsg(rptId + '-' + rptName + " 轉檔中..."); //1. 讀取檔案 DataTable dt43010 = dao43010.d_43010(txtSDate.DateTimeValue.ToString("yyyyMMdd"), oswGrp, "S"); if (dt43010.Rows.Count == 0) { MessageDisplay.Info(txtSDate.Text + "," + rptId + '-' + rptName + ",無任何資料!"); //return ResultStatus.Fail; } int rowIndex = dt43010.Rows.Count; //2. 複製檔案 file = PbFunc.wf_copy_file(rptId, rptId); if (file == "") { return(ResultStatus.Fail); } //3. 開啟檔案 Workbook workbook = new Workbook(); workbook.LoadDocument(file); //4. 切換Sheet Worksheet ws43010 = workbook.Worksheets[0]; string dataDate = "資料日期:" + Environment.NewLine + txtSDate.DateTimeValue.Year + "年" + txtSDate.DateTimeValue.Month + "月" + txtSDate.DateTimeValue.Day + "日"; ws43010.Cells[0, 9].Value = dataDate; ws43010.Cells[35, 14].Value = dataDate; ws43010.Cells[73, 14].Value = dataDate; ws43010.Cells[110, 14].Value = dataDate; //5. 填入資料 int cnt = 0; int f = 0; int rowCount = dt43010.Rows.Count; foreach (DataRow dr in dt43010.Rows) { //5.1 一、現行收取保證金金額 //從B3開始填資料 rowStart = 2; cnt = cnt + 1; ws43010.Cells[rowStart + f, 1].Value = cnt.AsString(); ws43010.Cells[rowStart + f, 2].SetValue(dr["MG1_KIND_ID"]); ws43010.Cells[rowStart + f, 3].SetValue(dr["APDK_NAME"]); ws43010.Cells[rowStart + f, 4].SetValue(dr["APDK_STOCK_ID"]); ws43010.Cells[rowStart + f, 5].SetValue(dr["PID_NAME"]); ws43010.Cells[rowStart + f, 6].SetValue(dr["MG1_CUR_CM"]); ws43010.Cells[rowStart + f, 7].SetValue(dr["MG1_CUR_MM"]); ws43010.Cells[rowStart + f, 8].SetValue(dr["MG1_CUR_IM"]); ws43010.Cells[rowStart + f, 9].SetValue(dr["MG1_CUR_CM_RATE"]); ws43010.Cells[rowStart + f, 10].SetValue(dr["MG1_CUR_MM_RATE"]); ws43010.Cells[rowStart + f, 11].SetValue(dr["MG1_CUR_IM_RATE"]); //5.2 二、本日結算保證金計算 //SMA 從B41開始填資料 rowStart = 40; ws43010.Cells[rowStart + f, 1].Value = cnt.AsString(); ws43010.Cells[rowStart + f, 2].SetValue(dr["MG1_KIND_ID"]); ws43010.Cells[rowStart + f, 3].SetValue(dr["APDK_NAME"]); ws43010.Cells[rowStart + f, 4].SetValue(dr["APDK_STOCK_ID"]); ws43010.Cells[rowStart + f, 5].SetValue(dr["PID_NAME"]); ws43010.Cells[rowStart + f, 6].SetValue(dr["MG1_PRICE"]); ws43010.Cells[rowStart + f, 7].SetValue(dr["MG1_XXX"]); ws43010.Cells[rowStart + f, 8].SetValue(dr["MG1_RISK"]); ws43010.Cells[rowStart + f, 9].SetValue(dr["MG1_CP_RISK"]); ws43010.Cells[rowStart + f, 10].SetValue(dr["MG1_MIN_RISK"]); ws43010.Cells[rowStart + f, 11].SetValue(dr["MG1_CP_CM"]); ws43010.Cells[rowStart + f, 12].SetValue(dr["MG1_CUR_CM"]); ws43010.Cells[rowStart + f, 13].SetValue(dr["MG1_CHANGE_RANGE"]); ws43010.Cells[rowStart + f, 14].SetValue(dr["MG1_CHANGE_FLAG"]); f++; }//foreach (DataRow dr in dt43010.Rows) dt43010 = dao43010.d_43010(txtSDate.DateTimeValue.ToString("yyyyMMdd"), oswGrp, "E"); cnt = 0; f = 0; foreach (DataRow dr in dt43010.Rows) { //EWMA 從B79開始填資料 rowStart = 78; cnt = cnt + 1; ws43010.Cells[rowStart + f, 1].Value = cnt.AsString(); ws43010.Cells[rowStart + f, 2].SetValue(dr["MG1_KIND_ID"]); ws43010.Cells[rowStart + f, 3].SetValue(dr["APDK_NAME"]); ws43010.Cells[rowStart + f, 4].SetValue(dr["APDK_STOCK_ID"]); ws43010.Cells[rowStart + f, 5].SetValue(dr["PID_NAME"]); ws43010.Cells[rowStart + f, 6].SetValue(dr["MG1_PRICE"]); ws43010.Cells[rowStart + f, 7].SetValue(dr["MG1_XXX"]); ws43010.Cells[rowStart + f, 8].SetValue(dr["MG1_RISK"]); ws43010.Cells[rowStart + f, 9].SetValue(dr["MG1_CP_RISK"]); ws43010.Cells[rowStart + f, 10].SetValue(dr["MG1_MIN_RISK"]); ws43010.Cells[rowStart + f, 11].SetValue(dr["MG1_CP_CM"]); ws43010.Cells[rowStart + f, 12].SetValue(dr["MG1_CUR_CM"]); ws43010.Cells[rowStart + f, 13].SetValue(dr["MG1_CHANGE_RANGE"]); ws43010.Cells[rowStart + f, 14].SetValue(dr["MG1_CHANGE_FLAG"]); f++; }//foreach (DataRow dr in dt43010.Rows) dt43010 = dao43010.d_43010(txtSDate.DateTimeValue.ToString("yyyyMMdd"), oswGrp, "M"); cnt = 0; f = 0; foreach (DataRow dr in dt43010.Rows) { //MAX 從B116開始填資料 rowStart = 115; cnt = cnt + 1; ws43010.Cells[rowStart + f, 1].Value = cnt.AsString(); ws43010.Cells[rowStart + f, 2].SetValue(dr["MG1_KIND_ID"]); ws43010.Cells[rowStart + f, 3].SetValue(dr["APDK_NAME"]); ws43010.Cells[rowStart + f, 4].SetValue(dr["APDK_STOCK_ID"]); ws43010.Cells[rowStart + f, 5].SetValue(dr["PID_NAME"]); ws43010.Cells[rowStart + f, 6].SetValue(dr["MG1_PRICE"]); ws43010.Cells[rowStart + f, 7].SetValue(dr["MG1_XXX"]); ws43010.Cells[rowStart + f, 8].SetValue(dr["MG1_RISK"]); ws43010.Cells[rowStart + f, 9].SetValue(dr["MG1_CP_RISK"]); ws43010.Cells[rowStart + f, 10].SetValue(dr["MG1_MIN_RISK"]); ws43010.Cells[rowStart + f, 11].SetValue(dr["MG1_CP_CM"]); ws43010.Cells[rowStart + f, 12].SetValue(dr["MG1_CUR_CM"]); ws43010.Cells[rowStart + f, 13].SetValue(dr["MG1_CHANGE_RANGE"]); ws43010.Cells[rowStart + f, 14].SetValue(dr["MG1_CHANGE_FLAG"]); f++; }//foreach (DataRow dr in dt43010.Rows) //6. 刪除空白列 int delRowCnt = 30 - rowIndex; if (rowIndex < 30) { rowStart = 115; ws43010.Rows.Remove(rowIndex + rowStart, delRowCnt); rowStart = 78; ws43010.Rows.Remove(rowIndex + rowStart, delRowCnt); rowStart = 40; ws43010.Rows.Remove(rowIndex + rowStart, delRowCnt); rowStart = 2; ws43010.Rows.Remove(rowIndex + rowStart, delRowCnt); } #region sheet 2 rptName = "保證金狀況表"; rptId = "40011_stat"; ShowMsg(rptId + '-' + rptName + " 轉檔中..."); //1. 讀取檔案 DataTable dt40011stat = dao43020.d_40011_stat(txtSDate.DateTimeValue.ToString("yyyyMMdd")); dt40011stat = dt40011stat.Sort("seq_no, kind_id"); dt40011stat = dt40011stat.Filter("prod_type ='F' and param_key = 'ETF' and osw_grp like'" + oswGrp + "'"); if (dt40011stat.Rows.Count == 0) { MessageDisplay.Info(txtSDate.Text + "," + rptId + '-' + rptName + ",無任何資料!"); //return ResultStatus.Fail; } //2. 切換Sheet ws43010 = workbook.Worksheets["fut_3index"]; //3. 填入資料 ws43010.Cells[0, 0].Value = "資料日期:" + Environment.NewLine + txtSDate.DateTimeValue.Year + "年" + txtSDate.DateTimeValue.Month + "月" + txtSDate.DateTimeValue.Day + "日"; int rowNum = 3 - 1; foreach (DataRow dr in dt40011stat.Rows) { for (f = 0; f < 37; f++) { ws43010.Cells[rowNum, f].SetValue(dr[f]); } rowNum++; } #endregion //存檔 ws43010 = workbook.Worksheets[0]; ws43010.ScrollToRow(0); //若所有Sheet皆無資料時,刪除檔案 if (dt43010.Rows.Count == 0 && dt40011stat.Rows.Count == 0) { workbook = null; System.IO.File.Delete(file); return(ResultStatus.Fail); } workbook.SaveDocument(file); ShowMsg("轉檔成功"); } catch (Exception ex) { //WriteLog(ex, "", false); 如果不用throw會繼續往下執行(? ShowMsg("轉檔錯誤"); throw ex; } finally { this.Cursor = Cursors.Arrow; this.Refresh(); Thread.Sleep(5); } return(ResultStatus.Success); }
public ErrorTemplateParams(string firstMessage, MessageDisplay messageDisplay, int line) : this(firstMessage, messageDisplay, "line", null, line) { }
public ErrorTemplateParams(string firstMessage, MessageDisplay messageDisplay, string name) : this(firstMessage, messageDisplay, "name", name, -1) { }
public ErrorTemplateParams(string firstMessage, MessageDisplay messageDisplay, string name, int line) : this(firstMessage, messageDisplay, "name|line", name, line) { }
private ErrorTemplateParams(string firstMessage, MessageDisplay messageDisplay, string mode, string name, int line) { m_MessageDisplay = messageDisplay; m_FirstMessage = firstMessage; m_Name = name; m_Mode = mode; m_Line = line; }
private PointActionItem GetNeedValuePointActionItem(string action, int id, bool isNew, MessageDisplay msgDisplay) { string pointTypeName, minRemainName, maxValueName, minValueName; Guid roleID; int sortOrder; if (isNew) { pointTypeName = "pointaction.new." + action; minRemainName = "minremaining.new." + action; maxValueName = "maxvalue.new." + action; minValueName = "minvalue.new." + action; } else { pointTypeName = "pointaction." + action + "." + id; minRemainName = "minremaining." + action + "." + id; maxValueName = "maxvalue." + action + "." + id; minValueName = "minvalue." + action + "." + id; } if (id == 0 && isNew == false) { roleID = Guid.Empty; sortOrder = 0; } else { string roleIDName, sortOrderName; if (isNew) { roleIDName = "pointtype.new.role." + action; sortOrderName = "pointtype.new.sortorder." + action; } else { roleIDName = "pointtype.role." + action + "." + id; sortOrderName = "pointtype.sortorder." + action + "." + id; } roleID = _Request.Get<Guid>(roleIDName, Method.Post, Guid.Empty); if (roleID == Guid.Empty) { if (isNew && _Request.Get("display.tr.pointtype." + action, Method.Post, "0") == "1") { msgDisplay.AddError("pointtype.new." + action , Lang_Error.User_UserPointActionEmptyRoleIDError); } else return null; } string tempValueString = _Request.Get(sortOrderName, Method.Post, string.Empty); if (!int.TryParse(tempValueString, out sortOrder)) { if (isNew) msgDisplay.AddError("pointtype.new." + action , Lang_Error.User_UserPointActionInvalidSortOrderError); else msgDisplay.AddError("pointtype." + action, id, Lang_Error.User_UserPointActionInvalidSortOrderError); } } UserPointType pointType = _Request.Get<UserPointType>(pointTypeName, Method.Post, UserPointType.Point1); int? minRemaining, maxValue; int minValue; #region minRemaining, maxValue ,minValue StringBuilder errorMessages = new StringBuilder(); int value; string valueString = _Request.Get(minRemainName, Method.Post, string.Empty); if (valueString.Trim() == string.Empty) { minRemaining = null; } else if (int.TryParse(valueString, out value)) { minRemaining = value; if (minRemaining < AllSettings.Current.PointSettings.GetUserPoint(pointType).MinValue) errorMessages.Append(Lang_Error.User_UserPointInvalidMinRemainingError).Append("<br />"); } else { errorMessages.Append(Lang_Error.User_UserPointMinRemainingFormatError).Append("<br />"); minRemaining = null; } valueString = _Request.Get(minValueName, Method.Post, string.Empty); if (valueString.Trim() == string.Empty) { minValue = 1; } else if (int.TryParse(valueString, out value)) { minValue = value; if (minValue < 1) errorMessages.Append(Lang_Error.User_UserPointTradeMinValueFormatError).Append("<br />"); } else { errorMessages.Append(Lang_Error.User_UserPointTradeMinValueFormatError).Append("<br />"); minValue = 1; } valueString = _Request.Get(maxValueName, Method.Post, string.Empty); if (valueString.Trim() == string.Empty) { maxValue = null; } else if (int.TryParse(valueString, out value)) { maxValue = value; if (maxValue < minValue) errorMessages.Append(Lang_Error.User_UserPointInvalidTradeMaxValueError).Append("<br />"); } else { errorMessages.Append(Lang_Error.User_UserPointTradeMaxValueFormatError).Append("<br />"); maxValue = null; } if (errorMessages.Length > 0) { if (isNew) msgDisplay.AddError("pointtype.new." + action, errorMessages.ToString(0, errorMessages.Length - 6)); else msgDisplay.AddError("pointtype." + action, id, errorMessages.ToString(0, errorMessages.Length - 6)); } #endregion PointActionItem item = new PointActionItem(); item.Action = action; item.PointType = pointType; item.MaxValue = maxValue == null ? int.MaxValue : maxValue.Value; item.MinRemaining = minRemaining == null ? int.MinValue : minRemaining.Value; item.MinValue = minValue; item.RoleID = roleID; item.RoleSortOrder = sortOrder; return item; }
private PointActionItem GetPointActionItem(string action,int id,bool isNew,MessageDisplay msgDisplay) { Guid roleID; int sortOrder = 0; if (id == 0 && isNew == false) roleID = Guid.Empty; else { string roleIDName, sortOrderName; if (isNew) { roleIDName = "new.role." + action; sortOrderName = "new.sortorder." + action; } else { roleIDName = "role." + action + "." + id; sortOrderName = "sortorder." + action + "." + id; } roleID = _Request.Get<Guid>(roleIDName, Method.Post, Guid.Empty); if (roleID == Guid.Empty) { if (isNew && _Request.Get("display.tr." + action, Method.Post, "0") == "1") { msgDisplay.AddError("new." + action, Lang_Error.User_UserPointActionEmptyRoleIDError); } else return null; } string value = _Request.Get(sortOrderName, Method.Post, string.Empty); if (!int.TryParse(value, out sortOrder)) { if (isNew) msgDisplay.AddError("new." + action, Lang_Error.User_UserPointActionInvalidSortOrderError); else msgDisplay.AddError(action, id, Lang_Error.User_UserPointActionInvalidSortOrderError); } } PointActionItem pointActionItem = new PointActionItem(); pointActionItem.RoleID = roleID; pointActionItem.RoleSortOrder = sortOrder; int[] points = new int[8]; StringBuilder pointNames = new StringBuilder(); foreach (UserPoint userPoint in AllSettings.Current.PointSettings.EnabledUserPoints) { int pointID = (int)userPoint.Type; int point; string name; if (isNew) name = "new.pointaction." + action + "." + pointID; else name = "pointaction." + action + "." + pointID + "." + id; string value = _Request.Get(name, Method.Post, string.Empty); if (value == string.Empty) { point = 0; } else { if (!int.TryParse(value, out point)) { pointNames.Append(userPoint.Name).Append(","); } } points[pointID] = point; } if (pointNames.Length > 0) { if(isNew) msgDisplay.AddError("new."+action, id, string.Format(Lang_Error.User_PointFormatError2, pointNames.ToString(0, pointNames.Length - 1))); else msgDisplay.AddError(action, id, string.Format(Lang_Error.User_PointFormatError2, pointNames.ToString(0, pointNames.Length - 1))); } pointActionItem.Action = action; foreach (int point in points) { pointActionItem.PointValues.Add(point.ToString()); } return pointActionItem; }
/// <summary> /// 检查验证码 是否正确 /// </summary> /// <param name="actionType"></param> /// <param name="msgDisplay"></param> /// <param name="id"> /// 如果同一个页面 出现两个及两个以上相同动作的验证码 /// 需要指定一个区别的标志(如: 输入框名字必须为 "{$inputName}id" id(a-zA-Z\d_)任意指定 不重复) /// 如果没有相同动作的验证码 则传null /// </param> /// <returns></returns> protected bool CheckValidateCode(string actionType, string id, MessageDisplay msgDisplay) { return ValidateCodeManager.CheckValidateCode(actionType, id, msgDisplay); }
/// <summary> /// 讀取前條件檢核 /// </summary> /// <param name="sbrkno">造市者代號起始</param> /// <param name="ebrkno">造市者代號迄止</param> /// <returns></returns> private bool StartRetrieve(string sbrkno = "", string ebrkno = "") { /******************* * 條件值檢核 *******************/ _D500Xx.IsCheck = "N"; /*造市者代號 */ _D500Xx.Sbrkno = dwSbrkno.EditValue.AsString(); if (string.IsNullOrEmpty(_D500Xx.Sbrkno)) { _D500Xx.Sbrkno = sbrkno; } _D500Xx.Ebrkno = dwEbrkno.EditValue.AsString(); if (string.IsNullOrEmpty(_D500Xx.Ebrkno)) { _D500Xx.Ebrkno = ebrkno; } if ((string.Compare(dwSbrkno.SelectedText, dwEbrkno.SelectedText) > 0) && !string.IsNullOrEmpty(_D500Xx.Ebrkno)) { MessageDisplay.Error("造市者代號起始不可大於迄止"); dwEbrkno.Focus(); _D500Xx.IsCheck = "Y"; return(false); } /* 商品群組 */ _D500Xx.ProdCategory = dwProdCt.EditValue.AsString(); if (string.IsNullOrEmpty(_D500Xx.ProdCategory) || dwProdCt.Enabled == false) { _D500Xx.ProdCategory = ""; } /* 商品 */ _D500Xx.ProdKindId = dwProdKd.EditValue.AsString(); if (string.IsNullOrEmpty(_D500Xx.ProdKindId) || dwProdKd.Enabled == false) { _D500Xx.ProdKindId = ""; } _D500Xx.ProdKindIdSto = dwProdKdSto.EditValue.AsString(); if (string.IsNullOrEmpty(_D500Xx.ProdKindIdSto) || dwProdKdSto.Enabled == false) { _D500Xx.ProdKindIdSto = ""; } //DateTime dtDate; /* 月報表 */ if (gbReportType.EditValue.Equals("rb_month")) { if (emStartYM.Visible == true) { if (!emStartYM.IsDate(emStartYM.Text + "/01", CheckDate.Start)) { _D500Xx.IsCheck = "Y"; return(false); } _D500Xx.Sdate = emStartYM.Text.Replace("/", "").SubStr(0, 6); } if (emEndYM.Visible == true) { if (!emEndYM.IsDate(emEndYM.Text + "/01", CheckDate.End)) { _D500Xx.IsCheck = "Y"; return(false); } _D500Xx.Edate = emEndYM.Text.Replace("/", "").SubStr(0, 6); } } /* 日報表 */ else { if (emStartDate.Visible == true) { if (!emStartDate.IsDate(emStartDate.Text, CheckDate.Start)) { _D500Xx.IsCheck = "Y"; return(false); } } _D500Xx.Sdate = emStartDate.Text.Replace("/", "").SubStr(0, 8); if (emEndDate.Visible == true) { if (!emEndDate.IsDate(emEndDate.Text, CheckDate.End)) { _D500Xx.IsCheck = "Y"; return(false); } _D500Xx.Edate = emEndDate.Text.Replace("/", "").SubStr(0, 8); } } _D500Xx.SumType = ReportSumType(gbReportType.EditValue.ToString()); _D500Xx.SortType = PrintSortType(gbPrintSort.EditValue.ToString()); _D500Xx.SumSubType = GrpSubType(gbGroup.EditValue.AsString()); /******************* * 資料類別 *******************/ _D500Xx.DataType = "R"; /******************* * 條件值檢核OK *******************/ _D500Xx.IsCheck = "Y"; /******************* * //Local Window * 條件值檢核 * if is_chk <> 'E' then * is_chk = 'Y' * end if * * 資料類別: * 報價: * is_data_type = 'Q' * 詢價: * is_data_type = 'R' *******************/ return(true); }
//function wf_30594 private bool wf_Export(Workbook workbook, Worksheet worksheet) { try { /************************************* * ls_year = 年 * li_ole_row_tol = 總列數 * li_row_start = 開始列 *************************************/ string ls_kind_id2, ls_pc_code, ls_expiry_type, ls_prod_type, ls_param_key, ls_market_code; int li_col, ii_ole_row = 1; #region 讀取資料(每日) ls_prod_type = "O"; ls_param_key = "TXO"; ls_kind_id2 = "%"; if (gbProd.EditValue.ToString() == "rbProdAll") { ls_pc_code = "%"; } else { ls_pc_code = "Y"; } ls_expiry_type = "%"; #endregion #region 交易時段 if (gbMarket.EditValue.ToString() == "rbMarket0") { ls_market_code = "0"; } else if (gbMarket.EditValue.ToString() == "rbMarket1") { ls_market_code = "1"; } else { ls_market_code = "%"; } string StartYMD = txtStartYMD.Text.AsDateTime().ToString("yyyyMMdd"); string EndYMD = txtEndYMD.Text.AsDateTime().ToString("yyyyMMdd"); DataTable dt = new DataTable(); dt = dao30594.GetData(ls_expiry_type, ls_pc_code, ls_kind_id2, StartYMD, EndYMD, ls_market_code); if (dt.Rows.Count <= 0) { labMsg.Text = StartYMD.SubStr(0, 6) + "," + _ProgramID + '-' + _ProgramName + "(市場總成交量雙邊(A)無任何資料!"; MessageDisplay.Info(labMsg.Text, GlobalInfo.ResultText); return(false); } #endregion #region 表頭 ii_ole_row = 1; if (gbProd.EditValue.ToString() == "rbProdPC") { li_col = 3; } else { li_col = 2; } /************************************* * chkGroup.Items[0] = MonQnty * chkGroup.Items[1] = OI * chkGroup.Items[2] = MonCnt * chkGroup.Items[3] = Amt * chkGroup.Items[4] = AmtStk * chkGroup.Items[5] = Acc * chkGroup.Items[6] = Id *************************************/ if (chkGroup.Items[0].CheckState.ToString() == "Checked") { li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "總交易量 [(買+賣)/2]"; } if (chkGroup.Items[1].CheckState.ToString() == "Checked") { li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "未平倉量[(買+賣)/2]"; } if (chkGroup.Items[2].CheckState.ToString() == "Checked") { li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "成交筆數(買+賣)"; } if (chkGroup.Items[3].CheckState.ToString() == "Checked") { li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "成交金額(台幣) [(買+賣)/2]"; li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "成交金額(原始幣別) [(買+賣)/2]"; } if (chkGroup.Items[4].CheckState.ToString() == "Checked") { li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "名目契約價值(台幣)[(買+賣)/2]"; li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "名目契約價值(原始幣別)[(買+賣)/2]"; } if (chkGroup.Items[5].CheckState.ToString() == "Checked") { li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "交易戶數(買+賣)"; } if (chkGroup.Items[6].CheckState.ToString() == "Checked") { li_col += 1; worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = "交易人數(ID數)(買+賣)"; } #endregion #region 內容 for (int i = 0; i < dt.Rows.Count; i++) { ii_ole_row += 1; worksheet.Cells[ii_ole_row - 1, 0].Value = dt.Rows[i]["APDK_YMD"].AsString(); worksheet.Cells[ii_ole_row - 1, 1].Value = dt.Rows[i]["APDK_PARAM_KEY"].AsString(); if (gbProd.EditValue.ToString() == "rbProdPC") { worksheet.Cells[ii_ole_row - 1, 2].Value = dt.Rows[i]["APDK_PC_CODE"].AsString(); li_col = 3; } else { li_col = 2; } //全加入若撈出的值為null,則輸出也要為null,不能直接轉成0 if (chkGroup.Items[0].CheckState.ToString() == "Checked") { li_col += 1; if (dt.Rows[i]["AI2_M_QNTY"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dt.Rows[i]["AI2_M_QNTY"].AsDecimal(); } } if (chkGroup.Items[1].CheckState.ToString() == "Checked") { li_col += 1; if (dt.Rows[i]["AI2_OI"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dt.Rows[i]["AI2_OI"].AsDecimal(); } } if (chkGroup.Items[2].CheckState.ToString() == "Checked") { li_col += 1; if (dt.Rows[i]["AM10_CNT"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dt.Rows[i]["AM10_CNT"].AsDecimal(); } } if (chkGroup.Items[3].CheckState.ToString() == "Checked") { li_col += 1; if (dt.Rows[i]["AA2_AMT"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dt.Rows[i]["AA2_AMT"].AsDecimal(); } li_col += 1; if (dt.Rows[i]["AA2_AMT_ORG_CURRENCY"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dt.Rows[i]["AA2_AMT_ORG_CURRENCY"].AsDecimal(); } } if (chkGroup.Items[4].CheckState.ToString() == "Checked") { li_col += 1; if (dt.Rows[i]["AA2_AMT_STK"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dt.Rows[i]["AA2_AMT_STK"].AsDecimal(); } li_col += 1; if (dt.Rows[i]["AA2_AMT_STK_ORG"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dt.Rows[i]["AA2_AMT_STK_ORG"].AsDecimal(); } } if (chkGroup.Items[5].CheckState.ToString() == "Checked") { li_col += 1; if (dt.Rows[i]["AM9_ACC_CNT"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dt.Rows[i]["AM9_ACC_CNT"].AsDecimal(); } } if (chkGroup.Items[6].CheckState.ToString() == "Checked") { li_col += 1; if (dt.Rows[i]["AB4_ID_CNT"] != DBNull.Value) { worksheet.Cells[ii_ole_row - 1, li_col - 1].Value = dt.Rows[i]["AB4_ID_CNT"].AsDecimal(); } } } #endregion return(true); } catch (Exception ex) { WriteLog(ex, "error"); labMsg.Visible = false; return(false); } }
public ErrorTemplateParams(string firstMessage, MessageDisplay messageDisplay) : this(firstMessage, messageDisplay, "other", null, -1) { }
void SendingMessage(byte[] data, IPAddress destination) { networkHelper.SendPackage(data, destination); MyText = Encoding.Unicode.GetString(data); MessageDisplay.BeginInvoke(new InvokeDelegate(AddMessage), destination, MyText, " отправлено"); }
void OnLevelWasLoaded(int level) { if (level == 0) { messageDisplay = GameObject.Find ("BattleCanvas/Bottom Right Panel/Radio").GetComponentInChildren<MessageDisplay> (); } }
/// <summary> /// 存檔前檢查 /// </summary> /// <param name="dt">要檢查的資料</param> /// <returns></returns> private bool SaveBefore(DataTable dt) { string lsType, lsVal1, lsVal2, lsVal3, lsVal4, lsVal5; try { //只檢查變動的部分 foreach (DataRow dr in dt.GetChanges().Rows) { if (dr.RowState == DataRowState.Deleted) { continue; } if (dr["OP_TYPE"].AsString() == " ") { continue; } //key值不能為null string marketCode = dr[MARKET_CODE].AsString(); if (string.IsNullOrEmpty(marketCode)) { MessageDisplay.Error("「交易時段」必須要選取值!"); //set Focused SetFocused(dt, dr, MARKET_CODE); return(false); } string paramKey = dr[PARAM_KEY].AsString(); if (string.IsNullOrEmpty(paramKey)) { MessageDisplay.Error("「商品類別」必須要選取值!"); //set Focused SetFocused(dt, dr, PARAM_KEY); return(false); } //key值不能重複 int valueCount = dt.AsEnumerable().Where(r => r.RowState != DataRowState.Deleted && r.Field <string>(MARKET_CODE).AsString() == marketCode && r.Field <string>(PARAM_KEY).AsString() == paramKey).Count(); if (valueCount >= 2) { MessageDisplay.Error($"交易時段:{(marketCode == "0" ? "[一般]" : "[夜盤]")}與商品類別:[{paramKey}] 不得重複新增!"); SetFocused(dt, dr, PARAM_KEY); return(false); } //必須回應詢價比 if (string.IsNullOrEmpty(dr["MMF_RESP_RATIO"].AsString())) { MessageDisplay.Warning("「必須回應詢價比(%)」必須要輸入值!"); //set Focused SetFocused(dt, dr, "MMF_RESP_RATIO"); return(false); } //最低造市量 if (string.IsNullOrEmpty(dr["MMF_QNTY_LOW"].AsString())) { MessageDisplay.Warning("「最低造市量」必須要輸入值!"); //set Focused SetFocused(dt, dr, "MMF_QNTY_LOW"); return(false); } //報價有效量比率 if (string.IsNullOrEmpty(dr["MMF_QUOTE_VALID_RATE"].AsString())) { MessageDisplay.Warning("「報價有效量比率」必須要輸入值!"); //set Focused SetFocused(dt, dr, "MMF_QUOTE_VALID_RATE"); return(false); } //報價每日平均維持分鐘 if (string.IsNullOrEmpty(dr["MMF_AVG_TIME"].AsString())) { MessageDisplay.Warning("「報價每日平均維持分鐘」必須要輸入值!"); //set Focused SetFocused(dt, dr, "MMF_AVG_TIME"); return(false); } //寫LOGV lsType = "I"; lsVal1 = dr["MMF_PARAM_KEY"].AsString(); lsVal2 = dr["MMF_RESP_RATIO"].AsString(); lsVal3 = dr["MMF_QNTY_LOW"].AsString(); lsVal4 = dr["MMF_QUOTE_VALID_RATE"].AsString(); lsVal5 = dr["MMF_AVG_TIME"].AsString(); new LOGV().Insert(_ProgramID, GlobalInfo.USER_ID, lsType, lsVal1, lsVal2, lsVal3, lsVal4, lsVal5); } } catch (Exception ex) { WriteLog(ex); return(false); } return(true); }
private int[] GetPoint(string formName, MessageDisplay msgDisplay) { return GetPoint(formName, false, msgDisplay); }
private bool StartExport() { /* 條件值檢核*/ DateTime ldStart, ldEnd; string lsType = ""; switch (rgDate.EditValue) { case "rb_day": //週 if (!emStartDate.IsDate(emStartDate.Text, CheckDate.Start) || !emEndDate.IsDate(emEndDate.Text, CheckDate.End)) { return(false); } if (string.Compare(emStartDate.Text, emEndDate.Text) > 0) { MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif); return(false); } ldStart = Convert.ToDateTime(emStartDate.Text); ldEnd = Convert.ToDateTime(emEndDate.Text); lsSymd = emStartDate.Text.Replace("/", "").SubStr(0, 8); lsEymd = emEndDate.Text.Replace("/", "").SubStr(0, 8); lsType = "Daily"; sumType = "D"; logText = ldStart.ToString("yyyy.MM.dd") + "至" + ldEnd.ToString("yyyy.MM.dd") + " 交易量"; break; case "rb_week": //週 if (!emStartDate1.IsDate(emStartDate1.Text, CheckDate.Start) || !emEndDate1.IsDate(emEndDate1.Text, CheckDate.End)) { return(false); } if (string.Compare(emStartDate1.Text, emEndDate1.Text) > 0) { MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif); return(false); } ldStart = Convert.ToDateTime(emStartDate1.Text); ldEnd = Convert.ToDateTime(emEndDate1.Text); lsSymd = emStartDate1.Text.Replace("/", "").SubStr(0, 8); lsEymd = emEndDate1.Text.Replace("/", "").SubStr(0, 8); lsType = "Weekly"; sumType = "D"; logText = ldStart.ToString("yyyy.MM.dd") + "至" + ldEnd.ToString("yyyy.MM.dd") + " 交易量"; break; case "rb_month": //月 string Smth = this.emStartMth.Text + "/01"; string Emth = this.emEndMth.Text + "/01"; if (!this.emStartMth.IsDate(Smth, CheckDate.Start) || !this.emEndMth.IsDate(Emth, CheckDate.End)) { return(false); } ldStart = Convert.ToDateTime(Smth); ldEnd = PbFunc.relativedate(Convert.ToDateTime(Emth), 31); if (ldEnd.Month != PbFunc.Right(emStartMth.Text, 2).AsInt()) { ldEnd = PbFunc.relativedate(ldEnd, -ldEnd.Day); } lsSymd = emStartMth.Text.Replace("/", "").SubStr(0, 6); lsEymd = emEndMth.Text.Replace("/", "").SubStr(0, 6); lsType = "Monthly"; sumType = "M"; logText = lsSymd + "至" + lsEymd + " 交易量"; break; case "rb_year": //年 lsSymd = emStartYear.Text; lsEymd = emEndYear.Text; lsType = "Yearly"; sumType = "Y"; logText = lsSymd + "至" + lsEymd + " 交易量"; break; default: break; } //商品別 if (rbTMU.EditValue.Equals("rb_options")) { lsType = lsType + "_OPT"; lsProdType = "O"; } else { lsType = lsType + "_FUT"; lsProdType = "F"; } //ids_1.dataobject = "d_"+gs_txn_id if (cbxEng.Checked) { lsType = lsType + "_eng"; } //交易時段 switch (rgTime.EditValue) { case "rb_market0": lsMarketCode = "0"; lsType = lsType + "_day"; break; case "rb_market1": lsMarketCode = "1"; lsType = lsType + "_night"; break; default: lsMarketCode = "%"; break; } /*點選儲存檔案之目錄*/ saveFilePath = PbFunc.wf_GetFileSaveName(lsType + "(" + lsSymd + "-" + lsEymd + ").csv"); if (string.IsNullOrEmpty(saveFilePath)) { return(false); } /******************* * Messagebox *******************/ stMsgTxt.Visible = true; stMsgTxt.Text = "開始轉檔..."; stMsgTxt.Text = logText + " 轉檔中..."; this.Cursor = Cursors.WaitCursor; this.Refresh(); Thread.Sleep(5); return(true); }
private int[] GetPoint(string formName,bool isSetIntMinValue,MessageDisplay msgDisplay) { UserPointCollection allPoints = AllSettings.Current.PointSettings.UserPoints; int[] points = new int[allPoints.Count]; StringBuilder pointNames = new StringBuilder(); for (int i = 0; i < points.Length;i++ ) { UserPoint point = allPoints[i]; if (point.Enable) { int value; string valueString; if (!GetIntValue(formName + "." + (int)point.Type, isSetIntMinValue, out value, out valueString)) { pointNames.Append(point.Name+","); } points[i] = value; } else points[i] = 0; } if (pointNames.Length > 0) msgDisplay.AddError(formName, new PointFormatError(formName, pointNames.ToString(0, pointNames.Length - 1),string.Empty).Message); return points; }
private void ValidateJudgment(Judgement jud, MessageDisplay msgDisp, int rowindex) { if (string.IsNullOrEmpty(jud.Description)) { msgDisp.AddError(new CustomError("description", rowindex, Lang_Error.Judgement_EmptyDescriptionError)); } if (string.IsNullOrEmpty(jud.LogoUrl)) { msgDisp.AddError(new CustomError("logourl", rowindex, Lang_Error.Judgement_EmptyLogoUrlError)); } }
private void GetAttachments(int postUserID, MessageDisplay msgDisplay, ref AttachmentCollection attachs) { AttachmentCollection attachments = new AttachmentCollection(); DiskFileCollection diskFiles = null; List<int> tempFileIds = new List<int>(), diskFileIds=new List<int>(); string[] attachIndexs = _Request.Get("attachIndex", Method.Post,string.Empty).Split( new string[]{ ","}, StringSplitOptions.RemoveEmptyEntries); foreach (string i in attachIndexs) { if (i == "{index}") continue; int id = _Request.Get<int>("attachid_" + i, Method.Post, 0); int attachType=_Request.Get<int>("attachtype_" + i, Method.Post, 0); if ( attachType == 0) tempFileIds.Add(id); else if( attachType==1 ) diskFileIds.Add(id); } diskFiles = DiskBO.Instance.GetDiskFiles(diskFileIds); Attachment attach; string extendName = string.Empty; foreach (DiskFile file in diskFiles) { attach = new Attachment(); attach.DiskFileID = file.DiskFileID; attach.FileID = file.FileID; attach.FileSize = file.Size; attach.FileName = _Request.Get("filename_1_" + file.DiskFileID, Method.Post, "未命名", false); attach.Price = _Request.Get("price_1_" + file.DiskFileID, Method.Post, 0); extendName = _Request.Get("extname_1_" + file.DiskFileID, Method.Post, string.Empty); attach.AttachType = AttachType.DiskFile; if (!string.IsNullOrEmpty(attach.FileName) && !string.IsNullOrEmpty(extendName)) attach.FileName += "." + extendName; attach.FileType = extendName; attachments.Add(attach); } foreach (int id in tempFileIds) { attach = new Attachment(); attach.AttachmentID = id; attach.FileName = _Request.Get("filename_0_" + id, Method.Post, "未命名", false); attach.Price = _Request.Get("price_0_" + id, Method.Post, 0); attach.AttachType = AttachType.TempAttach; extendName = _Request.Get("extname_0_" + id, Method.Post, string.Empty); if (!string.IsNullOrEmpty(attach.FileName) && !string.IsNullOrEmpty(extendName)) attach.FileName += "." + extendName; attach.FileType = extendName; attachments.Add(attach); } foreach(Attachment att in attachments) { att.PostID = 0; if (IsEditPost || IsEditThread) att.UserID = postUserID; else att.UserID = MyUserID; if (att.Price < 0) { msgDisplay.AddError("附件售价不能小于0"); return; } } attachs.AddRange(attachments); }
public Error(ErrorType errorType, string message, MessageDisplay messageDisplay = MessageDisplay.Standard) { ErrorType = errorType; Message = message; MessageDisplay = messageDisplay; }
private RateSetItem GetRankSetItem(UserPointType pointType, int id, bool isNew, MessageDisplay msgDisplay) { Guid roleID; string value; int sortOrder = 0; if (id == 0 && isNew == false) roleID = Guid.Empty; else { string roleIDName, sortOrderName; if (isNew) { roleIDName = "new_role_" + pointType.ToString(); sortOrderName = "new_sortorder_" + pointType.ToString(); } else { roleIDName = "role_" + pointType.ToString() + "_" + id; sortOrderName = "sortorder_" + pointType.ToString() + "_" + id; } roleID = _Request.Get<Guid>(roleIDName, Method.Post, Guid.Empty); if (roleID == Guid.Empty) { if (isNew && _Request.Get("display_tr_" + pointType.ToString(), Method.Post, "0") == "1") { msgDisplay.AddError("new_" + pointType.ToString(), "请选择一个用户组"); } else return null; } value = _Request.Get(sortOrderName, Method.Post, string.Empty); if (!int.TryParse(value, out sortOrder)) { if (isNew) msgDisplay.AddError("new_" + pointType.ToString(), "排序必须为整数"); else msgDisplay.AddError(pointType.ToString(), id, "排序必须为整数"); } } RateSetItem rankSetItem = new RateSetItem(); rankSetItem.PointType = pointType; rankSetItem.RoleID = roleID; rankSetItem.RoleSortOrder = sortOrder; string minValueName,maxValueName,maxValueInTimeName; if (isNew) { minValueName = "new_minvalue_" + pointType.ToString(); maxValueName = "new_maxvalue_" + pointType.ToString(); maxValueInTimeName = "new_maxvalueintime_" + pointType.ToString(); } else { minValueName = "minvalue_" + pointType.ToString() + "_" + id; maxValueName = "maxvalue_" + pointType.ToString() + "_" + id; maxValueInTimeName = "maxvalueintime_" + pointType.ToString() + "_" + id; } int minValue = 0, maxValue = 0, maxValueInTime = 0; StringBuilder errors = new StringBuilder(); value = _Request.Get(minValueName, Method.Post, string.Empty); if (value == string.Empty) { minValue = 0; } else { if (!int.TryParse(value, out minValue)) { errors.Append("最小值,"); } } value = _Request.Get(maxValueName, Method.Post, string.Empty); if (value == string.Empty) { maxValue = 0; } else { if (!int.TryParse(value, out maxValue)) { errors.Append("最大值,"); } } value = _Request.Get(maxValueInTimeName, Method.Post, string.Empty); if (value == string.Empty) { maxValueInTime = 0; } else { if (ForumID == 0)//全局设置 才能设置最大评分数 { if (!int.TryParse(value, out maxValueInTime)) { errors.Append("1天内最大评分数,"); } } } string errorName; if(isNew) errorName = "new_"+pointType.ToString(); else errorName = pointType.ToString(); if (errors.Length > 0) { msgDisplay.AddError(errorName, id, errors.ToString(0, errors.Length - 1) + "必须为整数"); return null; } if (maxValue < minValue) { msgDisplay.AddError(errorName, id, "“评分最小值”不能大于“评分最大值”"); return null; } if (maxValueInTime < 0) { msgDisplay.AddError(errorName, id, "1天内最大评分数必须大于0"); return null; } if (Math.Abs(minValue) > maxValueInTime) { msgDisplay.AddError(errorName, id, "1天内最大评分数必须大等于“评分最小值”的绝对值"); return null; } if (Math.Abs(maxValue) > maxValueInTime) { msgDisplay.AddError(errorName, id, "1天内最大评分数必须大等于“评分最大值”的绝对值"); return null; } rankSetItem.MaxValue = maxValue; rankSetItem.MinValue = minValue; rankSetItem.MaxValueInTime = maxValueInTime; return rankSetItem; }
protected override ResultStatus Save(PokeBall pokeBall) { int printStep = 0; try { DataTable dtCurrent = (DataTable)gcMain.DataSource; gvMain.CloseEditor(); gvMain.UpdateCurrentRow(); DataTable dtChange = dtCurrent.GetChanges(); if (dtChange == null) { MessageDisplay.Warning("沒有變更資料,不需要存檔!", GlobalInfo.WarningText); return(ResultStatus.Fail); } if (dtChange.Rows.Count == 0) { MessageDisplay.Warning("沒有變更資料,不需要存檔!", GlobalInfo.WarningText); return(ResultStatus.Fail); } DialogResult liRtn; int pos = -1; foreach (DataRow dr in dtChange.Rows) { pos++; if (dr.RowState == DataRowState.Added || dr.RowState == DataRowState.Modified) { dr["CPR_W_TIME"] = DateTime.Now; dr["CPR_W_USER_ID"] = GlobalInfo.USER_ID; dr["CPR_DATA_NUM"] = 0; //隱藏欄位賦值 if (dr["CPR_PRICE_RISK_RATE"] == DBNull.Value) { string kind = dr["CPR_KIND_ID"].AsString(); liRtn = MessageDisplay.Choose(string.Format("{0}最小風險價格係數欄位為空白,請確認是否為已下市契約", kind), MessageBoxDefaultButton.Button2, GlobalInfo.QuestionText); if (liRtn == DialogResult.No) { return(ResultStatus.Fail); } else { dr["CPR_PRICE_RISK_RATE"] = DBNull.Value; } } gvMain.SetRowCellValue(pos, "CPR_W_TIME", DateTime.Now); gvMain.SetRowCellValue(pos, "CPR_W_USER_ID", GlobalInfo.USER_ID); gvMain.UpdateCurrentRow(); } } //foreach (DataRow dr in dtCurrent.Rows) printStep = 1; //跑儲存前確認單 CheckPrint(gcMain, dtChange, printStep); liRtn = MessageDisplay.Choose("已列印確認單,點選確認進行儲存資料", MessageBoxDefaultButton.Button2, GlobalInfo.QuestionText); if (liRtn == DialogResult.No) { return(ResultStatus.Fail); } else { ResultData result = new HCPR().UpdateData(dtChange); if (result.Status == ResultStatus.Fail) { MessageDisplay.Error("儲存失敗", GlobalInfo.ErrorText); return(ResultStatus.FailButNext); } printStep = 2; //儲存後列印已確認單 CheckPrint(gcMain, dtChange, printStep); } } catch (Exception ex) { MessageDisplay.Error("儲存錯誤", GlobalInfo.ErrorText); WriteLog(ex, "", false); return(ResultStatus.FailButNext); } finally { DataTable dtAll = dao49010.GetDataList(); DataTable dt = dtAll.Clone(); gcMain.DataSource = dt; gvMain.AppearancePrint.BandPanel.Options.UseTextOptions = true; gvMain.AppearancePrint.BandPanel.TextOptions.WordWrap = WordWrap.Wrap; gvMain.AppearancePrint.BandPanel.Font = new Font("Microsoft YaHei", 10); gvMain.AppearancePrint.Row.Font = new Font("Microsoft YaHei", 10); gvMain.OptionsPrint.AllowMultilineHeaders = true; gvMain.AppearancePrint.GroupRow.Font = new Font("Microsoft YaHei", 10); gvMain.BestFitColumns(); GridHelper.SetCommonGrid(gvMain); gridBand9.AppearanceHeader.TextOptions.WordWrap = WordWrap.Wrap; gridBand9.Caption = "(輸入方式:如3.5%,則輸入0.035)"; gvMain.Columns["CPR_PROD_SUBTYPE"].ColumnEdit = lupProdSubtype; gvMain.Columns["CPR_KIND_ID"].ColumnEdit = lupKindId; //製作連動下拉選單(觸發事件) gvMain.ShownEditor += gvMain_ShownEditor; lupProdSubtype.EditValueChanged += lupProdSubtype_EditValueChanged; //gcMain.Visible = true; gcMain.Focus(); _ToolBtnPrintAll.Enabled = false;//列印 this.Refresh(); } gcMain.Visible = false; return(ResultStatus.Success); }
/// <summary> /// 按下[匯出]按鈕時 /// </summary> /// <returns></returns> protected override ResultStatus Export() { #region 輸入&日期檢核 (exportbefore) if (string.Compare(txtStartMonth.Text, txtEndMonth.Text) > 0) { MessageDisplay.Error("月份起始年月不可小於迄止年月!", GlobalInfo.ErrorText); return(ResultStatus.Fail); } #endregion //0.將畫面資訊做些轉換 string startNo = cbxFcmStartNo.EditValue.AsString(""); string endNo = cbxFcmEndNo.EditValue.AsString(""); //1.檢查 //1.1期貨商後面號碼不能小於前面號碼 //ken,注意,期貨商代號第一碼為英文,如果要比較字串大小,則要使用string.Compare if (startNo.Length > 0) { if (endNo.Length > 0) { if (startNo.CompareTo(endNo) > 0) { MessageDisplay.Warning("造市者代號起始不可大於迄止", GlobalInfo.WarningText); cbxFcmStartNo.Focus(); return(ResultStatus.Fail); } } } //2.get data DataTable dt; if (rgpType.SelectedIndex == 0)//依照期貨商別 { dt = dao55020.ListAll(txtStartMonth.FormatValue, txtEndMonth.FormatValue, startNo, endNo, cbxProdType.EditValue.AsString()); } else//依照商品別 { dt = dao55020.ListAll2(txtStartMonth.FormatValue, txtEndMonth.FormatValue, startNo, endNo); } if (dt.Rows.Count <= 0) { MessageDisplay.Info(string.Format("{0},{1},無任何資料!", txtStartMonth.Text + "~" + txtEndMonth.Text, this.Text), GlobalInfo.ResultText); return(ResultStatus.Fail); } try { //3.開始轉出資料 panFilter.Enabled = false; labMsg.Visible = true; labMsg.Text = "訊息:資料轉出中........"; //3.1 copy template xls to target path string excelDestinationPath = PbFunc.wf_copy_file(_ProgramID, _ProgramID); //3.2 open xls Workbook workbook = new Workbook(); workbook.LoadDocument(excelDestinationPath); int sheetNo = rgpType.SelectedIndex; Worksheet worksheet = workbook.Worksheets[sheetNo]; //3.3寫入檔頭 worksheet.Cells[3, 0].Value += DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); worksheet.Cells[3, 3].Value += txtStartMonth.Text.Replace("/", ""); worksheet.Cells[3, 5].Value += txtEndMonth.Text.Replace("/", ""); worksheet.Cells[3, 7].Value = "資料更新時間 : " + dt.Rows[0]["FEETRD_UPD_TIME"].AsDateTime(DateTime.Now).ToString("yyyy/MM/dd HH:mm:ss"); //3.4寫入明細 //ken,預先做好一堆空白行數,但是如果筆數超過預設空白行數,會把最後的統計那行覆蓋掉 int rowIndex = 7; //起始row index position int pos = 0; int rowTotalCount = rowIndex + (rgpType.SelectedIndex == 0 ? 3000 : 200); //總行數(包含空白) foreach (DataRow row in dt.Rows) { if (pos % 20 == 0) { labMsg.Text = string.Format("資料轉出中......{0} / {1}", pos, dt.Rows.Count); this.Refresh(); //Application.DoEvents(); } if (rgpType.SelectedIndex == 0) { //依照期貨商別 worksheet.Cells[rowIndex, 0].Value = row["feetrd_fcm_no"].AsString(); //期貨商代號 worksheet.Cells[rowIndex, 1].Value = row["brk_abbr_name"].AsString(); //期貨商名稱 //ken,商品名稱feetrd_kind_id不要用AsString,會把最前面的空白trim掉,excel總計有用到公式比對前面空白 worksheet.Cells[rowIndex, 2].Value = (!DBNull.Value.Equals(row["feetrd_kind_id"]) ? row["feetrd_kind_id"].ToString() : ""); //商品名稱 worksheet.Cells[rowIndex, 3].Value = row["feetrd_m_qnty"].AsDouble(); //成交口數 worksheet.Cells[rowIndex, 4].Value = row["feetrd_ar"].AsDecimal(); //應收交易經手費 worksheet.Cells[rowIndex, 5].Value = row["feetrd_mk_disc_amt"].AsDecimal(); //造市折減 worksheet.Cells[rowIndex, 6].Value = row["feetrd_oth_disc_amt"].AsDecimal(); //其他折減 worksheet.Cells[rowIndex, 8].Value = row["feetrd_rec_amt"].AsDecimal(); //金額 } else { //依照商品別 //ken,商品名稱feetrd_kind_id不要用AsString,會把最前面的空白trim掉,excel總計有用到公式比對前面空白 worksheet.Cells[rowIndex, 0].Value = (!DBNull.Value.Equals(row["feetrd_kind_id"]) ? row["feetrd_kind_id"].ToString() : ""); //商品名稱 worksheet.Cells[rowIndex, 1].Value = row["feetrd_m_qnty"].AsDouble(); //成交口數 worksheet.Cells[rowIndex, 2].Value = row["feetrd_ar"].AsDecimal(); //應收交易經手費 worksheet.Cells[rowIndex, 3].Value = row["feetrd_mk_disc_amt"].AsDecimal(); //造市折減 worksheet.Cells[rowIndex, 4].Value = row["feetrd_oth_disc_amt"].AsDecimal(); //其他折減 worksheet.Cells[rowIndex, 6].Value = row["feetrd_rec_amt"].AsDecimal(); //金額 } rowIndex++; pos++; }//foreach (DataRow row in dt.Rows) { //刪除空白列 if (rowIndex <= rowTotalCount) { worksheet.Rows.Remove(rowIndex, rowTotalCount - rowIndex); } worksheet.Range["A1"].Select(); worksheet.ScrollToRow(0); //存檔 workbook.SaveDocument(excelDestinationPath); if (FlagAdmin) { System.Diagnostics.Process.Start(excelDestinationPath); } return(ResultStatus.Success); } catch (Exception ex) { WriteLog(ex); } finally { labMsg.Text = ""; labMsg.Visible = false; panFilter.Enabled = true; } return(ResultStatus.Fail); }
protected override ResultStatus Export() { try { #region 輸入&日期檢核 if (string.Compare(txtStartDate.Text, txtEndDate.Text) > 0) { MessageDisplay.Error(CheckDate.Datedif, GlobalInfo.ErrorText); return(ResultStatus.Fail); } #endregion //0. ready panFilter.Enabled = false; labMsg.Visible = true; labMsg.Text = "開始轉檔..."; this.Cursor = Cursors.WaitCursor; this.Refresh(); Thread.Sleep(5); //1.撈資料 DataTable dtContent = daoVPR.ListByMarket(StartDate, EndDate, 'S', 'S'); if (dtContent.Rows.Count <= 0) { labMsg.Hide(); MessageDisplay.Info(string.Format("{0},{1},無任何資料!", txtStartDate.Text + "-" + txtEndDate.Text, this.Text), GlobalInfo.ResultText); return(ResultStatus.Fail); } //1.1處理資料型態 DataTable dt = dtContent.Clone(); //轉型別用的datatable dt.Columns["VPR_DATA_TIME"].DataType = typeof(string); //將原DataType(datetime)轉為string foreach (DataRow row in dtContent.Rows) { dt.ImportRow(row); } for (int i = 0; i < dt.Rows.Count; i++) { dt.Rows[i]["VPR_DATA_TIME"] = Convert.ToDateTime(dtContent.Rows[i]["VPR_DATA_TIME"]).ToString("yyyy/MM/dd HH:mm:ss.fff"); } //2.存Txt string etfFileName = "30684_" + DateTime.Now.ToString("yyyy.MM.dd-HH.mm.ss") + ".txt"; etfFileName = Path.Combine(GlobalInfo.DEFAULT_REPORT_DIRECTORY_PATH, etfFileName); ExportOptions txtref = new ExportOptions(); txtref.HasHeader = true; txtref.Encoding = System.Text.Encoding.GetEncoding(950);//ASCII Common.Helper.ExportHelper.ToText(dt, etfFileName, txtref); labMsg.Text = "轉檔成功!"; exportStatus = ResultStatus.Success; return(ResultStatus.Success); } catch (Exception ex) { WriteLog(ex); labMsg.Text = "轉檔失敗"; } finally { panFilter.Enabled = true; labMsg.Text = ""; labMsg.Visible = false; this.Cursor = Cursors.Arrow; } return(ResultStatus.Fail); }
protected override ResultStatus Export() { try { if (txtSID.Text.AsString() == "") { MessageDisplay.Error("請輸入標的證券代號"); return(ResultStatus.Fail); } this.Cursor = Cursors.WaitCursor; this.Refresh(); Thread.Sleep(5); lblProcessing.Visible = true; ShowMsg("開始轉檔..."); string rptId = "42012", file, rptName = "股票期貨風險價格係數分析表"; //讀取資料(保證金適用比例級距) DataTable dt42012 = dao42012.d_42012_detl(txtSDate.DateTimeValue.ToString("yyyyMMdd"), txtEDate.DateTimeValue.ToString("yyyyMMdd"), txtSID.Text.AsString(), txtRange.Text.AsDecimal() / 100, txtRate2Ref.Text.AsDecimal() / 100, txtRate3Ref.Text.AsDecimal() / 100, txtRate4Ref.Text.AsDecimal() / 100, txtRate1.Text.AsDecimal() / 100, txtRate2.Text.AsDecimal() / 100, txtRate3.Text.AsDecimal() / 100, txtRate4.Text.AsDecimal() / 100); if (dt42012.Rows.Count == 0) { MessageDisplay.Info(txtSDate.Text + "~" + txtEDate.Text + "," + rptId + '-' + rptName + ",無任何資料!"); lblProcessing.Visible = false; return(ResultStatus.Fail); } dt42012 = dt42012.Sort("MGR3_YMD"); //複製檔案 file = PbFunc.wf_copy_file(rptId, rptId); if (file == "") { return(ResultStatus.Fail); } //開啟檔案 Workbook workbook = new Workbook(); workbook.LoadDocument(file); //切換Sheet Worksheet ws = workbook.Worksheets[0]; ws.Cells[0, 15].Value = txtSDate.Text + "~" + txtEDate.Text; //填資料 //表首 int f, rowIndex, startRow = 3 - 1, totalRow = 300, minusRow = 0; Range range; if (cbx1.Checked) { if (txtRange.Text != "10") { //表首 //使用RichTextString才能保留原本設定的格式 RichTextString richText = new RichTextString(); richText = ws.Cells[2, 2].GetRichText(); f = richText.Text.IndexOf("10%") + 1; if (f > 0) { richText.Characters(f - 1, 3).Text = txtRange.Text + "%"; richText.Characters(f - 1, txtRange.Text.Length).Font.Color = Color.Red; } ws.Cells[startRow, 2].SetRichText(richText); } } else { range = ws.Range[(startRow + 1).AsString() + ":" + (startRow + 1).AsString()]; range.Delete(DeleteMode.EntireRow); minusRow = minusRow + 1; //改編號 ws.Cells[startRow, 1].Value = "1"; ws.Cells[startRow + 1, 1].Value = "2"; ws.Cells[startRow + 2, 1].Value = "3"; ws.Cells[startRow + 3, 1].Value = "4"; } startRow = 4 - 1; startRow = startRow - minusRow; if (cbx2.Checked) { if (txtRange.Text != _CON1 || txtRate2.Text != _CON2 || txtRate3.Text != _CON3 || txtRate4.Text != _CON4 || lblCmRate.Text != _CON5) { //表首 RichTextString richText = new RichTextString(); richText = ws.Cells[startRow, 2].GetRichText(); if (txtRange.Text != _CON1) { f = richText.Text.IndexOf(_CON1 + " %") + 1; if (f > 0) { richText.Characters(f - 1, 5).Text = txtRate1.Text + "%"; richText.Characters(f - 1, txtRate1.Text.Length).Font.Color = Color.Red; } } if (txtRate2.Text != _CON2) { f = richText.Text.IndexOf(_CON2 + " %") + 1; if (f > 0) { richText.Characters(f - 1, 6).Text = txtRate2.Text + "%"; richText.Characters(f - 1, txtRate2.Text.Length).Font.Color = Color.Red; } } if (txtRate3.Text != _CON3) { f = richText.Text.IndexOf(_CON3 + " %") + 1; if (f > 0) { richText.Characters(f - 1, 6).Text = txtRate3.Text + "%"; richText.Characters(f - 1, txtRate3.Text.Length).Font.Color = Color.Red; } } if (txtRate4.Text != _CON4) { f = richText.Text.IndexOf(_CON4 + " %") + 1; if (f > 0) { richText.Characters(f - 1, 5).Text = txtRate4.Text + "%"; richText.Characters(f - 1, txtRate4.Text.Length).Font.Color = Color.Red; } } if (lblCmRate.Text != _CON5) { f = richText.Text.IndexOf(_CON5 + "%") + 1; if (f > 0) { richText.Characters(f - 1, 5).Text = lblCmRate.Text + "%"; richText.Characters(f - 1, lblCmRate.Text.Length).Font.Color = Color.Red; } } ws.Cells[startRow, 2].SetRichText(richText); } } else { range = ws.Range[(startRow + 1).AsString() + ":" + (startRow + 1).AsString()]; range.Delete(DeleteMode.EntireRow); minusRow = minusRow + 1; //改編號 ws.Cells[startRow, 1].Value = "2"; ws.Cells[startRow + 1, 1].Value = "3"; ws.Cells[startRow + 2, 1].Value = "4"; } #region 表1 startRow = 13 - 1; startRow = startRow - minusRow; totalRow = 1000; rowIndex = startRow; if (cbx1.Checked) { if (txtRange.Text != "10") { //表頭 RichTextString richText = new RichTextString(); richText = ws.Cells[rowIndex - 3, 2].GetRichText(); f = richText.Text.IndexOf("10%") + 1; if (f > 0) { richText.Characters(f - 1, 3).Text = txtRange.Text + "%"; richText.Characters(f - 1, txtRange.Text.Length).Font.Color = Color.Red; ws.Cells[rowIndex - 3, 2].SetRichText(richText); } } if (cbxRate.Checked) { DataView dv = dt42012.AsDataView(); dv.RowFilter = "(mgr2_level = 'Z' and T_30_RATE >= (MGR3_CUR_CM - " + (txtRate4Ref.Text.AsDecimal() / 100).AsString() + ")) or (mgr2_level = '1' and t_30_rate >= " + (txtRate1Ref.Text.AsDecimal() / 100).AsString() + ") or (mgr2_level = '2' and t_30_rate >= " + (txtRate2Ref.Text.AsDecimal() / 100).AsString() + ")"; dt42012 = dv.ToTable(); } foreach (DataRow dr in dt42012.Rows) { rowIndex++; ws.Cells[rowIndex, 1].Value = dr["MGR3_YMD"].AsDateTime("yyyyMMdd").ToString("yyyy/MM/dd"); ws.Cells[rowIndex, 2].Value = dr["MGR3_KIND_ID"].AsString(); ws.Cells[rowIndex, 3].Value = dr["APDK_NAME"].AsString(); ws.Cells[rowIndex, 4].Value = dr["MGR3_SID"].AsString(); ws.Cells[rowIndex, 5].Value = dr["PID_NAME"].AsString(); ws.Cells[rowIndex, 6].SetValue(dr["T_30_RATE"]); ws.Cells[rowIndex, 7].SetValue(dr["MGR2_DAY_RATE"]); if (dr["MGR3_CUR_LEVEL"].AsString() == "Z") { RichTextString richText = new RichTextString(); richText.AddTextRun("從其高", new RichTextRunFont("標楷體", 12, Color.Red)); richText.AddTextRun("(" + (dr["MGR3_CUR_CM"].AsDecimal() * 100).AsString() + "%)", new RichTextRunFont("Times New Roman", 12, Color.Red)); ws.Cells[rowIndex, 8].SetRichText(richText); } else { RichTextString richText = new RichTextString(); richText.AddTextRun(dr["MGR3_CUR_LEVEL"].AsString(), new RichTextRunFont("Times New Roman", 12)); ws.Cells[rowIndex, 8].SetRichText(richText); } if (dr["DAY_CNT"].AsInt() == 0) { ws.Cells[rowIndex, 9].Value = "-"; } else { ws.Cells[rowIndex, 9].SetValue(dr["DAY_CNT"]); } ws.Cells[rowIndex, 10].SetValue(dr["TFXM1_PRICE"]); ws.Cells[rowIndex, 11].SetValue(dr["AI5_PRICE"]); ws.Cells[rowIndex, 12].SetValue(dr["TS_UPDOWN"]); ws.Cells[rowIndex, 13].SetValue(dr["TI_UPDOWN"]); ws.Cells[rowIndex, 14].SetValue(dr["YS_UPDOWN"]); ws.Cells[rowIndex, 15].SetValue(dr["YI_UPDOWN"]); ws.Cells[rowIndex, 16].SetValue(dr["AI2_OI"]); ws.Cells[rowIndex, 17].SetValue(dr["AI2_M_QNTY"]); }//foreach (DataRow dr in dt42012.Rows) //刪除空白列 if (dt42012.Rows.Count < totalRow) { range = ws.Range[(startRow + dt42012.Rows.Count + 1 + 1) + ":" + (startRow + totalRow + 1)]; range.Delete(DeleteMode.EntireRow); minusRow = minusRow + (totalRow - dt42012.Rows.Count); } } else { range = ws.Range[(startRow - 3 + 1) + ":" + (startRow + totalRow + 1)]; range.Delete(DeleteMode.EntireRow); minusRow = minusRow + (totalRow + 4); } #endregion #region 表2 startRow = 1018 - 1; startRow = startRow - minusRow; totalRow = 1000; rowIndex = startRow; if (cbx2.Checked) { if (txtRange.Text != _CON1 || txtRate2.Text != _CON2 || txtRate3.Text != _CON3 || txtRate4.Text != _CON4 || lblCmRate.Text != _CON5) { //表頭 RichTextString richText = new RichTextString(); richText = ws.Cells[rowIndex - 3, 2].GetRichText(); if (txtRange.Text != _CON1) { f = richText.Text.IndexOf(_CON1 + " %") + 1; if (f > 0) { richText.Characters(f - 1, 5).Text = txtRate1.Text + "%"; richText.Characters(f - 1, txtRate1.Text.Length).Font.Color = Color.Red; } } if (txtRate2.Text != _CON2) { f = richText.Text.IndexOf(_CON2 + " %") + 1; if (f > 0) { richText.Characters(f - 1, 6).Text = txtRate2.Text + "%"; richText.Characters(f - 1, txtRate2.Text.Length).Font.Color = Color.Red; } } if (txtRate3.Text != _CON3) { f = richText.Text.IndexOf(_CON3 + " %") + 1; if (f > 0) { richText.Characters(f - 1, 6).Text = txtRate3.Text + "%"; richText.Characters(f - 1, txtRate3.Text.Length).Font.Color = Color.Red; } } if (txtRate4.Text != _CON4) { f = richText.Text.IndexOf(_CON4 + " %") + 1; if (f > 0) { richText.Characters(f - 1, 5).Text = txtRate4.Text + "%"; richText.Characters(f - 1, txtRate4.Text.Length).Font.Color = Color.Red; } } if (lblCmRate.Text != _CON5) { f = richText.Text.IndexOf(_CON5 + "%") + 1; if (f > 0) { richText.Characters(f - 1, 5).Text = lblCmRate.Text + "%"; richText.Characters(f - 1, lblCmRate.Text.Length).Font.Color = Color.Red; } } ws.Cells[rowIndex - 3, 2].SetRichText(richText); if (!cbx1.Checked) { ws.Cells[rowIndex - 3, 1].Value = "1"; } } if (cbxRate.Checked) { DataView dv = dt42012.AsDataView(); dv.RowFilter = "(mgr2_level = 'Z' and mgr2_day_rate >= (MGR3_CUR_CM - " + (txtRate4.Text.AsDecimal() / 100).AsString() + ")) or (mgr2_level = '1' and mgr2_day_rate >= " + (txtRate1.Text.AsDecimal() / 100).AsString() + ") or (mgr2_level = '2' and mgr2_day_rate >= " + (txtRate2.Text.AsDecimal() / 100).AsString() + ")"; dt42012 = dv.ToTable(); } foreach (DataRow dr in dt42012.Rows) { rowIndex++; ws.Cells[rowIndex, 1].Value = dr["MGR3_YMD"].AsDateTime("yyyyMMdd").ToString("yyyy/MM/dd"); ws.Cells[rowIndex, 2].Value = dr["MGR3_KIND_ID"].AsString(); ws.Cells[rowIndex, 3].Value = dr["APDK_NAME"].AsString(); ws.Cells[rowIndex, 4].Value = dr["MGR3_SID"].AsString(); ws.Cells[rowIndex, 5].Value = dr["PID_NAME"].AsString(); ws.Cells[rowIndex, 6].SetValue(dr["MGR2_DAY_RATE"]); ws.Cells[rowIndex, 7].SetValue(dr["T_30_RATE"]); if (dr["MGR3_CUR_LEVEL"].AsString() == "Z") { RichTextString richText = new RichTextString(); richText.AddTextRun("從其高", new RichTextRunFont("標楷體", 12, Color.Red)); richText.AddTextRun("(" + (dr["MGR3_CUR_CM"].AsDecimal() * 100).AsString() + "%)", new RichTextRunFont("Times New Roman", 12, Color.Red)); ws.Cells[rowIndex, 8].SetRichText(richText); } else { RichTextString richText = new RichTextString(); richText.AddTextRun(dr["MGR3_CUR_LEVEL"].AsString(), new RichTextRunFont("Times New Roman", 12)); ws.Cells[rowIndex, 8].SetRichText(richText); } if (dr["DAY_CNT_3"].AsInt() == 0) { ws.Cells[rowIndex, 9].Value = "-"; } else { ws.Cells[rowIndex, 9].SetValue(dr["DAY_CNT_3"]); } ws.Cells[rowIndex, 10].SetValue(dr["TFXM1_PRICE"]); ws.Cells[rowIndex, 11].SetValue(dr["AI5_PRICE"]); ws.Cells[rowIndex, 12].SetValue(dr["TS_UPDOWN"]); ws.Cells[rowIndex, 13].SetValue(dr["TI_UPDOWN"]); ws.Cells[rowIndex, 14].SetValue(dr["YS_UPDOWN"]); ws.Cells[rowIndex, 15].SetValue(dr["YI_UPDOWN"]); ws.Cells[rowIndex, 16].SetValue(dr["AI2_OI"]); ws.Cells[rowIndex, 17].SetValue(dr["AI2_M_QNTY"]); }//foreach (DataRow dr in dt42012.Rows) //刪除空白列 if (dt42012.Rows.Count < totalRow) { range = ws.Range[(startRow + dt42012.Rows.Count + 1 + 1) + ":" + (startRow + totalRow + 1)]; range.Delete(DeleteMode.EntireRow); minusRow = minusRow + (totalRow - dt42012.Rows.Count); } } else { range = ws.Range[(startRow - 3 + 1) + ":" + (startRow + totalRow + 1)]; range.Delete(DeleteMode.EntireRow); minusRow = minusRow + (totalRow + 4); } #endregion //存檔 ws.ScrollToRow(0); workbook.SaveDocument(file); ShowMsg("轉檔成功"); } catch (Exception ex) { ShowMsg("轉檔錯誤"); MessageDisplay.Error("輸出錯誤"); throw ex; } finally { this.Cursor = Cursors.Arrow; this.Refresh(); Thread.Sleep(5); } return(ResultStatus.Success); }
protected override ResultStatus Export() { string lsRptName = ConditionText().Trim(); StartExport(_ProgramID, lsRptName); try { //讀取資料 if (_Data == null || _Data.Rows.Count <= 0 || _defReport == null) { MessageDisplay.Info(MessageDisplay.MSG_NO_DATA); return(ResultStatus.Fail); } //開啟檔案 Workbook workbook = new Workbook(); //複製檔案 _D500Xx.Filename = PbFunc.wf_copy_file(_ProgramID, _ProgramID); if (_D500Xx.Filename == "") { return(ResultStatus.Fail); } _D500Xx.LogText = _D500Xx.Filename; if (lsRptName == "") { lsRptName = "報表條件:" + "(" + DateText() + ")"; } else { lsRptName = ConditionText().Trim() + " " + "(" + DateText() + ")"; } // Get its XLSX export options. XlsExportOptions xlsOptions = _defReport.ExportOptions.Xls; xlsOptions.SheetName = _ProgramID; //Export the report to XLSX. _defReport.ExportToXls(_D500Xx.Filename); /****************** * 開啟檔案 ******************/ workbook.LoadDocument(_D500Xx.Filename); /****************** * 切換Sheet ******************/ Worksheet worksheet = workbook.Worksheets[0]; for (int k = 0; k < 3; k++) { worksheet.Rows.Insert(0); } worksheet.Cells["F1"].Value = $"[{_ProgramID}]{_ProgramName}"; worksheet.Cells["F3"].Value = lsRptName; worksheet.Rows[3].AutoFitRows(); workbook.SaveDocument(_D500Xx.Filename); } catch (Exception ex) { WriteLog(ex); WfRunError(); } finally { EndExport(); } return(ResultStatus.Success); }
//protected override ResultStatus Run(PokeBall args) //{ // this.BeginInvoke(new MethodInvoker(() => { // args.GridControlMain = gcMain; // args.GridControlSecond = gcLogsp; // args.OcfDate = txtOcfDate.DateTimeValue; // args.OcfType = OCF_TYPE; // })); // ResultStatus result = base.RunAsync(args); // return result; //} /// <summary> /// 1系列功能使用 /// </summary> /// <param name="args"></param> /// <returns></returns> protected override ResultStatus Run(PokeBall args) { DateTime OcfDate = txtOcfDate.DateTimeValue; this.Invoke(new MethodInvoker(() => { FormWait formWait = new FormWait(); SplashScreenManager.ShowForm(this, typeof(FormWait), true, true); //SplashScreenManager.ShowForm(this , typeof(FormWait) , true , true , SplashFormStartPosition.Manual , pointWait , ParentFormState.Locked); })); GridView gv = gvMain; DataTable dtLOGSPForRuned = servicePrefix1.ListLogspForRunned(OcfDate, _ProgramID, OCF_TYPE); DataView dvLOGSPForRuned = new DataView(dtLOGSPForRuned); servicePrefix1.SetTXF1(" ", _ProgramID); for (int i = 0; i < gv.RowCount; i++) { string TXF_SERVER = gv.GetRowCellValue(i, "TXF_SERVER").AsString(); string TXF_DB = gv.GetRowCellValue(i, "TXF_DB").AsString(); string TXF_TXN_ID = gv.GetRowCellValue(i, "TXF_TXN_ID").AsString(); int TXF_SEQ_NO = gv.GetRowCellValue(i, "TXF_SEQ_NO").AsInt(); string TXF_TYPE = gv.GetRowCellValue(i, "TXF_TYPE").AsString(); string TXF_TID = gv.GetRowCellValue(i, "TXF_TID").AsString(); string TXF_TID_NAME = gv.GetRowCellValue(i, "TXF_TID_NAME").AsString(); string TXF_DESC = gv.GetRowCellValue(i, "TXF_DESC").AsString(); string TXF_DEFAULT = gv.GetRowCellValue(i, "TXF_DEFAULT").AsString(); string TXF_REDO = gv.GetRowCellValue(i, "TXF_REDO").AsString(); string TXF_ARG = gv.GetRowCellValue(i, "TXF_ARG").AsString(); string TXF_PERIOD = gv.GetRowCellValue(i, "TXF_PERIOD").AsString(); string TXF_SERVICE = gv.GetRowCellValue(i, "TXF_SERVICE").AsString(); string TXF_FOLDER = gv.GetRowCellValue(i, "TXF_FOLDER").AsString(); string TXF_AP_NAME = gv.GetRowCellValue(i, "TXF_AP_NAME").AsString(); args.TXF_TID = TXF_TID; args.TXF_TID_NAME = TXF_TID_NAME; if (TXF_DEFAULT == "1") { DateTime LOGSP_DATE = OcfDate; string LOGSP_TXN_ID = _ProgramID; int LOGSP_SEQ_NO = TXF_SEQ_NO; string LOGSP_TID = TXF_DESC; string LOGSP_TID_NAME = TXF_TID_NAME; DateTime LOGSP_BEGIN_TIME = new DateTime(); DateTime LOGSP_END_TIME = new DateTime(); string LOGSP_MSG = ""; //判斷是否可重覆執行 if (TXF_REDO == "N") { dvLOGSPForRuned.RowFilter = "LOGSP_TID='" + LOGSP_TID + "' AND NOT ISNULL(LOGSP_BEGIN_TIME)"; if (dvLOGSPForRuned.Count != 0) { if (MessageDisplay.Choose(TXF_TID + " ★★★曾經執行過且不可重覆執行,是否強迫繼續執行 ?") == DialogResult.No) { return(ResultStatus.Fail); } } } #region 開始執行 LOGSP_BEGIN_TIME = DateTime.Now; string nextYmd = PbFunc.f_ocf_date(2, _DB_TYPE); if (!string.IsNullOrEmpty(TXF_PERIOD)) { switch (TXF_PERIOD) { case "M": //月底執行 if (OcfDate.ToString("yyyyMM") == PbFunc.Left(nextYmd, 6)) { LOGSP_MSG = "完成! (今日非月底,不需執行)"; this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "TXF_DEFAULT", 0); })); } break; case "W": //週最後一天執行 if (Convert.ToInt32(OcfDate.DayOfWeek) < Convert.ToInt32(nextYmd.AsDateTime("yyyyMMdd").DayOfWeek)) { LOGSP_MSG = "完成! (今日非本週最後1天,不需執行)"; this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "TXF_DEFAULT", 0); })); } break; case "Y": //年底執行 if (OcfDate.ToString("yyyy") == PbFunc.Left(nextYmd, 4)) { LOGSP_MSG = "完成! (今日非本年度最後1日,不需執行)"; this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "TXF_DEFAULT", 0); })); } break; } LOGSP_END_TIME = DateTime.Now; servicePrefix1.SaveLogsp(LOGSP_DATE, LOGSP_TXN_ID, LOGSP_SEQ_NO, LOGSP_TID, LOGSP_TID_NAME, LOGSP_BEGIN_TIME, LOGSP_END_TIME, LOGSP_MSG, OCF_TYPE); continue; } //開始前執行特別的Function string rtnText = RunBeforeEveryItem(args); if (!string.IsNullOrEmpty(rtnText)) { if (PbFunc.Left(rtnText, 4) == "不需執行") { LOGSP_MSG = "完成! (" + rtnText + ")"; gv.SetRowCellValue(i, "ERR_MSG", LOGSP_MSG); gv.SetRowCellValue(i, "TXF_DEFAULT", 0); LOGSP_END_TIME = DateTime.Now; servicePrefix1.SaveLogsp(LOGSP_DATE, LOGSP_TXN_ID, LOGSP_SEQ_NO, LOGSP_TID, LOGSP_TID_NAME, LOGSP_BEGIN_TIME, LOGSP_END_TIME, LOGSP_MSG, OCF_TYPE); } else { if (MessageDisplay.Choose($"{rtnText}是否強迫繼續執行?", MessageBoxDefaultButton.Button2).AsInt() == 2) { gv.SetRowCellValue(i, "ERR_MSG", rtnText); continue; } } } //記錄正在執行 servicePrefix1.SetTXF1(TXF_TID, _ProgramID); servicePrefix1.SaveLogs(LOGSP_DATE, TXF_TID, DateTime.Now, GlobalInfo.USER_ID, "開始執行"); ResultData resultData = new ResultData(); string fileName = ""; switch (TXF_TYPE) { //Informatica case "I": fileName = $@"{GlobalInfo.DEFAULT_BATCH_ErrSP_DIRECTORY_PATH}\{TXF_SERVER}_{TXF_TXN_ID}_{TXF_SEQ_NO}_infor"; resultData = serviceCommon.ExecuteInfoWorkFlow(TXF_TID, UserProgInfo, TXF_FOLDER, TXF_SERVICE, TXF_AP_NAME, fileName); break; //SP case "S": List <DbParameterEx> listParams = null; // 如果這個SP有參數的話 if (TXF_ARG == "Y") { DataTable dtTXFPARM = serviceCommon.ListTXFPARM(TXF_SERVER, TXF_DB, TXF_TXN_ID, TXF_TID); if (dtTXFPARM.Rows.Count > 0) { listParams = new List <DbParameterEx>(); } foreach (DataRow row in dtTXFPARM.Rows) { string TXFPARM_ARG = row["TXFPARM_ARG"].AsString(); string TXFPARM_ARG_TYPE = row["TXFPARM_ARG_TYPE"].AsString(); string TXFPARM_DEFAULT = row["TXFPARM_DEFAULT"].AsString(); DbParameterEx paramEx; switch (TXFPARM_ARG) { case "": paramEx = new DbParameterEx("", TXFPARM_DEFAULT); listParams.Add(paramEx); break; case "em_ymd": paramEx = new DbParameterEx("", OcfDate.ToString("yyyyMMdd")); listParams.Add(paramEx); break; case "em_ym": paramEx = new DbParameterEx("", OcfDate.ToString("yyyyMM")); listParams.Add(paramEx); break; case "em_date": paramEx = new DbParameterEx(); paramEx.DbType = DbTypeEx.Date; paramEx.Name = ""; paramEx.Value = OcfDate; listParams.Add(paramEx); break; default: break; } } } ConnectionInfo connectionInfo = SettingDragons.Instance.GetConnectionInfo(TXF_DB); try { resultData = serviceCommon.ExecuteStoredProcedure(connectionInfo, string.Format("{0}.{1}", TXF_DB, TXF_TID), listParams, true); } catch (Exception ex) { resultData.Status = ResultStatus.Fail; string msg = fileName = $@"{GlobalInfo.DEFAULT_BATCH_ErrSP_DIRECTORY_PATH}\{TXF_SERVER}_{TXF_TXN_ID}_{TXF_SEQ_NO}.err"; System.IO.File.WriteAllText(fileName, ex.Message); resultData.returnString = $"請通知「{TXF_AP_NAME}」 作業執行失敗!\n{ex.Message}"; } break; //視窗功能 case "W": this.Invoke(new MethodInvoker(() => { resultData = ExecuteForm(args); })); break; default: break; } LOGSP_END_TIME = DateTime.Now; if (resultData.Status == ResultStatus.Success) { LOGSP_MSG = "執行正常完成!"; } else { LOGSP_MSG = "作業執行失敗!"; servicePrefix1.SaveLogsp(LOGSP_DATE, LOGSP_TXN_ID, LOGSP_SEQ_NO, LOGSP_TID, LOGSP_TID_NAME, LOGSP_BEGIN_TIME, LOGSP_END_TIME, LOGSP_MSG, OCF_TYPE); //MessageDisplay.Error("序號" + LOGSP_SEQ_NO + "的" + LOGSP_TID + "," + LOGSP_MSG); MessageDisplay.Error(resultData.returnString); this.Invoke(new MethodInvoker(() => { SplashScreenManager.CloseForm(); gv.SetRowCellValue(i, "ERR_MSG", LOGSP_MSG); })); return(ResultStatus.Fail); } this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "ERR_MSG", LOGSP_MSG); })); servicePrefix1.SaveLogsp(LOGSP_DATE, LOGSP_TXN_ID, LOGSP_SEQ_NO, LOGSP_TID, LOGSP_TID_NAME, LOGSP_BEGIN_TIME, LOGSP_END_TIME, LOGSP_MSG, OCF_TYPE); servicePrefix1.SaveLogs(LOGSP_DATE, TXF_TID, DateTime.Now, GlobalInfo.USER_ID, "執行完畢"); #endregion 開始執行 #region 執行特別的程式 this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "TXF_DEFAULT", 0); RunAfterEveryItem(args); })); #endregion 執行特別的程式 //流程時間控制 DataTable dtJRF = servicePrefix1.ListJrf(_ProgramID, TXF_TID); if (dtJRF.Rows.Count > 0) { string JRF_DO_TXN_ID = dtJRF.Rows[0]["JRF_DO_TXN_ID"].AsString(); string JRF_DO_JOB_TYPE = dtJRF.Rows[0]["JRF_DO_TXN_ID"].AsString(); string JRF_DO_SEQ_NO = dtJRF.Rows[0]["JRF_DO_TXN_ID"].AsString(); string JRF_SW_CODE = dtJRF.Rows[0]["JRF_DO_TXN_ID"].AsString(); servicePrefix1.UpdateJsw(JRF_DO_TXN_ID, JRF_DO_JOB_TYPE, JRF_DO_SEQ_NO, JRF_SW_CODE, OcfDate, DateTime.Now, GlobalInfo.USER_ID); } } else { // 沒勾選項目的話清空狀態 this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "ERR_MSG", ""); })); } if (i == gv.RowCount - 1 && OCF_TYPE == "D") { servicePrefix1.setCIOCF(); } } //全部結束 servicePrefix1.SetTXF1(" ", _ProgramID); this.Invoke(new MethodInvoker(() => { SplashScreenManager.CloseForm(); })); return(ResultStatus.Success); }
private void SaveValidateRole() { MessageDisplay msgDisplay = CreateMessageDisplay(); string actiontype = _Request.Get("actiontype", Method.Get, string.Empty); string roleIDString = _Request.Get("validateCodeRole", Method.Post, string.Empty); if (roleIDString.Length == 0) { return; } bool isInvalidActionType = true; foreach (ValidateCodeAction action in ValidateCodeManager.GetAllValidateCodeActions()) { if (string.Compare(action.Type, actiontype, true) == 0) { if (action.CanSetExceptRoleId == false) { msgDisplay.AddError(string.Format(Lang_Error.ValidateCode_ValidateCodeActionCannotSetExceptRoleID, action.Name)); return; } isInvalidActionType = false; break; } } if (isInvalidActionType == true) { msgDisplay.AddError(new InvalidParamError("actiontype").Message); } StringList exceptRoleIDs = new StringList(); foreach (string roleID in roleIDString.Split(',')) { exceptRoleIDs.Add(roleID); } ValidateCodeCollection tempValidateCodes = new ValidateCodeCollection(); bool hasAdd = false; foreach (ValidateCode validateCode in AllSettings.Current.ValidateCodeSettings.ValidateCodes) { if (string.Compare(validateCode.ActionType, actiontype, true) == 0) { ValidateCode tempValidateCode = (ValidateCode)validateCode.Clone(); tempValidateCode.ExceptRoleIds = exceptRoleIDs; tempValidateCodes.Add(tempValidateCode); hasAdd = true; } else { tempValidateCodes.Add(validateCode); } } if (hasAdd == false) { ValidateCode validateCode = new ValidateCode(); validateCode.ExceptRoleIds = exceptRoleIDs; validateCode.ActionType = actiontype; tempValidateCodes.Add(validateCode); } try { using (new ErrorScope()) { ValidateCodeSettings setting = (ValidateCodeSettings)AllSettings.Current.ValidateCodeSettings.Clone(); setting.ValidateCodes = tempValidateCodes; bool success = SettingManager.SaveSettings(setting); if (!success) { CatchError <ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); }); } else { Return(true); } } } catch (Exception ex) { msgDisplay.AddError(ex.Message); } }
protected override ResultStatus Save(PokeBall poke) { gvMain.CloseEditor(); gvMain.UpdateCurrentRow(); ResultStatus resultStatus = ResultStatus.Fail; try { DataTable dt = (DataTable)gcMain.DataSource; if (!checkChanged()) { MessageDisplay.Info("沒有變更資料, 不需要存檔!"); return(ResultStatus.FailButNext); } foreach (DataRow r in dt.Rows) { if (r.RowState == DataRowState.Deleted) { continue; } r.SetField("span_param_w_time", DateTime.Now); if (r["span_param_type"].AsString() == "2") { switch (r["span_param_value"].AsString()) { case "1": case "2": case "3": case "4": {//最大漲跌停 break; } default: { MessageDisplay.Info("設定方式選漲跌停價格, 則設定值請選擇1, 2, 3或最大漲跌停"); return(ResultStatus.FailButNext); } } } } if (!checkComplete(dt)) { return(ResultStatus.FailButNext); } if (savePeriod() != ResultStatus.Success) { return(ResultStatus.Fail); } resultStatus = daoS0071.UpdateAllDB(periodTable, dt); if (resultStatus == ResultStatus.Fail) { MessageDisplay.Info("儲存錯誤!"); return(ResultStatus.Fail); } } catch (Exception ex) { throw ex; } return(resultStatus); }
private void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) { maaliAani.Play(); MessageDisplay.Add("Keräsit tähden!"); tahti.Destroy(); }
private void WireUpEvents() { #region Model Events _model.Events.TestsLoading += (TestFilesLoadingEventArgs e) => { UpdateViewCommands(testLoading: true); var message = e.TestFilesLoading.Count == 1 ? $"Loading Assembly: {e.TestFilesLoading[0]}" : $"Loading {e.TestFilesLoading.Count} Assemblies..."; _longOpDisplay = _view.LongOperationDisplay(message); }; _model.Events.TestLoaded += (TestNodeEventArgs e) => { if (_longOpDisplay != null) { _longOpDisplay.Dispose(); _longOpDisplay = null; } UpdateViewCommands(); var files = _model.TestFiles; if (files.Count == 1) { _view.SetTitleBar(files.First()); } }; _model.Events.TestsUnloading += (TestEventArgse) => { UpdateViewCommands(); }; _model.Events.TestUnloaded += (TestEventArgs e) => { _view.RunSummary.Text = null; UpdateViewCommands(); }; _model.Events.TestsReloading += (TestEventArgs e) => { UpdateViewCommands(); _longOpDisplay = _view.LongOperationDisplay("Reloading..."); }; _model.Events.TestReloaded += (TestNodeEventArgs e) => { if (_longOpDisplay != null) { _longOpDisplay.Dispose(); _longOpDisplay = null; } //SetTitleBar(TestProject.Name); if (_settings.Gui.ClearResultsOnReload) { _view.RunSummary.Text = null; } UpdateViewCommands(); }; _model.Events.TestLoadFailure += (TestLoadFailureEventArgs e) => { if (_longOpDisplay != null) { _longOpDisplay.Dispose(); } _view.MessageDisplay.Error(e.Exception.Message); }; _model.Events.RunStarting += (RunStartingEventArgs e) => { UpdateViewCommands(); _view.RunSummary.Text = null; }; _model.Events.RunFinished += (TestResultEventArgs e) => { UpdateViewCommands(); ResultSummary summary = ResultSummaryCreator.FromResultNode(e.Result); _view.RunSummary.Text = string.Format( "Passed: {0} Failed: {1} Errors: {2} Inconclusive: {3} Invalid: {4} Ignored: {5} Skipped: {6} Time: {7}", summary.PassCount, summary.FailedCount, summary.ErrorCount, summary.InconclusiveCount, summary.InvalidCount, summary.IgnoreCount, summary.SkipCount, summary.Duration); if (summary.RunCount == 0) { } //string resultPath = Path.Combine(TestProject.BasePath, "TestResult.xml"); // TODO: Use Work Directory string resultPath = "TestResult.xml"; _model.SaveResults(resultPath); //try //{ // _model.SaveResults(resultPath); // //log.Debug("Saved result to {0}", resultPath); //} //catch (Exception ex) //{ // //log.Warning("Unable to save result to {0}\n{1}", resultPath, ex.ToString()); //} //if (e.Result.Outcome.Status == TestStatus.Failed) // _view.Activate(); // If we were running unattended, it's time to close if (_options.Unattended) { _view.Close(); } }; _settings.Changed += (s, e) => { if (e.SettingName == "Gui.Options.DisplayFormat") { InitializeDisplay(); } }; _model.Events.UnhandledException += (UnhandledExceptionEventArgs e) => { var display = new MessageDisplay("TestCentric - Internal Error"); display.Error($"{e.Message}\n\n{e.StackTrace}"); }; #endregion #region View Events _view.Load += (s, e) => { InitializeDisplay(_settings.Gui.DisplayFormat); var settings = _model.PackageOverrides; if (_options.ProcessModel != null) { _view.ProcessModel.SelectedItem = _options.ProcessModel; } if (_options.DomainUsage != null) { _view.DomainUsage.SelectedItem = _options.DomainUsage; } if (_options.MaxAgents >= 0) { _model.Settings.Engine.Agents = _options.MaxAgents; } _view.RunAsX86.Checked = _options.RunAsX86; }; _view.Shown += (s, e) => { Application.DoEvents(); // Load test specified on command line or // the most recent one if options call for it if (_options.InputFiles.Count != 0) { LoadTests(_options.InputFiles); } else if (_settings.Gui.LoadLastProject && !_options.NoLoad) { foreach (string entry in _recentFiles.Entries) { if (entry != null && File.Exists(entry)) { LoadTests(entry); break; } } } //if ( guiOptions.include != null || guiOptions.exclude != null) //{ // testTree.ClearSelectedCategories(); // bool exclude = guiOptions.include == null; // string[] categories = exclude // ? guiOptions.exclude.Split(',') // : guiOptions.include.Split(','); // if ( categories.Length > 0 ) // testTree.SelectCategories( categories, exclude ); //} // Run loaded test automatically if called for if (_model.IsPackageLoaded && _options.RunAllTests) { RunAllTests(); } // Currently, --unattended without --run does nothing except exit. else if (_options.Unattended) { _view.Close(); } }; _view.SplitterPositionChanged += (s, e) => { _settings.Gui.MainForm.SplitPosition = _view.SplitterPosition; }; _view.FormClosing += (s, e) => { if (_model.IsPackageLoaded) { if (_model.IsTestRunning) { DialogResult dialogResult = _view.MessageDisplay.Ask( "A test is running, do you want to stop the test and exit?"); if (dialogResult == DialogResult.No) { e.Cancel = true; return; } _model.CancelTestRun(true); } if (CloseProject() == DialogResult.Cancel) { e.Cancel = true; } } if (!e.Cancel) { if (_settings.Gui.DisplayFormat == "Mini") { _settings.Gui.MiniForm.Location = _view.Location; _settings.Gui.MiniForm.Size = _view.Size; } else { _settings.Gui.MainForm.Location = _view.Location; _settings.Gui.MainForm.Size = _view.Size; } } }; _view.RunButton.Execute += () => RunSelectedTests(); _view.StopButton.Execute += () => CancelRun(); _view.FileMenu.Popup += () => { bool isPackageLoaded = _model.IsPackageLoaded; bool isTestRunning = _model.IsTestRunning; _view.OpenCommand.Enabled = !isTestRunning; _view.CloseCommand.Enabled = isPackageLoaded && !isTestRunning; _view.ReloadTestsCommand.Enabled = isPackageLoaded && !isTestRunning; _view.RuntimeMenu.Visible = _model.AvailableRuntimes.Count > 1; _view.RecentFilesMenu.Enabled = !isTestRunning; //if (!isTestRunning) //{ // _recentProjectsMenuHandler.Load(); //} }; _view.RuntimeMenu.Popup += () => _runtimeSelectionController.PopulateMenu(); _view.OpenCommand.Execute += () => OpenProject(); _view.CloseCommand.Execute += () => CloseProject(); _view.AddTestFilesCommand.Execute += () => AddTestFiles(); _view.ReloadTestsCommand.Execute += () => ReloadTests(); _view.ProcessModel.SelectionChanged += () => { ChangePackageSettingAndReload(EnginePackageSettings.ProcessModel, _view.ProcessModel.SelectedItem); }; _view.DomainUsage.SelectionChanged += () => { ChangePackageSettingAndReload(EnginePackageSettings.DomainUsage, _view.DomainUsage.SelectedItem); }; _view.RunAsX86.CheckedChanged += () => { var key = EnginePackageSettings.RunAsX86; if (_view.RunAsX86.Checked) { ChangePackageSettingAndReload(key, true); } else { ChangePackageSettingAndReload(key, null); } }; _view.RecentFilesMenu.Popup += () => { var menuItems = _view.RecentFilesMenu.MenuItems; // Test for null, in case we are running tests with a mock if (menuItems == null) { return; } menuItems.Clear(); int num = 0; foreach (string entry in _model.RecentFiles.Entries) { var menuText = string.Format("{0} {1}", ++num, entry); var menuItem = new MenuItem(menuText); menuItem.Click += (sender, ea) => { // HACK: We are loading new files, cancel any runtime override _model.PackageOverrides.Remove(EnginePackageSettings.RequestedRuntimeFramework); string path = ((MenuItem)sender).Text.Substring(2); _model.LoadTests(new[] { path }); }; menuItems.Add(menuItem); if (num >= _settings.Gui.RecentProjects.MaxFiles) { break; } } }; _view.ExitCommand.Execute += () => _view.Close(); _view.DisplayFormat.SelectionChanged += () => { _settings.Gui.DisplayFormat = _view.DisplayFormat.SelectedItem; InitializeDisplay(_view.DisplayFormat.SelectedItem); }; _view.IncreaseFontCommand.Execute += () => { applyFont(IncreaseFont(_settings.Gui.Font)); }; _view.DecreaseFontCommand.Execute += () => { applyFont(DecreaseFont(_settings.Gui.Font)); }; _view.ChangeFontCommand.Execute += () => { Font currentFont = _settings.Gui.Font; Font newFont = _view.DialogManager.SelectFont(currentFont); if (newFont != _settings.Gui.Font) { applyFont(newFont); } }; _view.DialogManager.ApplyFont += (font) => applyFont(font); _view.RestoreFontCommand.Execute += () => { applyFont(Form.DefaultFont); }; _view.IncreaseFixedFontCommand.Execute += () => { _settings.Gui.FixedFont = IncreaseFont(_settings.Gui.FixedFont); }; _view.DecreaseFixedFontCommand.Execute += () => { _settings.Gui.FixedFont = DecreaseFont(_settings.Gui.FixedFont); }; _view.RestoreFixedFontCommand.Execute += () => { _settings.Gui.FixedFont = new Font(FontFamily.GenericMonospace, 8.0f); }; _view.StatusBarCommand.CheckedChanged += () => { _view.StatusBarView.Visible = _view.StatusBarCommand.Checked; }; _view.RunAllCommand.Execute += () => RunAllTests(); _view.RunSelectedCommand.Execute += () => RunSelectedTests(); _view.RunFailedCommand.Execute += () => RunFailedTests(); _view.StopRunCommand.Execute += () => CancelRun(); _view.TestParametersCommand.Execute += () => { using (var dlg = new TestParametersDialog()) { dlg.Font = _settings.Gui.Font; dlg.StartPosition = FormStartPosition.CenterParent; if (_model.PackageOverrides.ContainsKey("TestParametersDictionary")) { var testParms = _model.PackageOverrides["TestParametersDictionary"] as IDictionary <string, string>; foreach (string key in testParms.Keys) { dlg.Parameters.Add(key, testParms[key]); } } if (dlg.ShowDialog(_view as IWin32Window) == DialogResult.OK) { ChangePackageSettingAndReload("TestParametersDictionary", dlg.Parameters); } } }; _view.ToolsMenu.Popup += () => { _view.SaveResultsAsMenu.MenuItems.Clear(); foreach (string format in _resultFormats) { MenuItem formatItem = new MenuItem(format); formatItem.Click += (s, e) => SaveResults(format); _view.SaveResultsAsMenu.MenuItems.Add(formatItem); } }; _view.SaveResultsCommand.Execute += () => SaveResults(); _view.OpenWorkDirectoryCommand.Execute += () => System.Diagnostics.Process.Start(_model.WorkDirectory); _view.ExtensionsCommand.Execute += () => { using (var extensionsDialog = new ExtensionDialog(_model.Services.ExtensionService)) { extensionsDialog.Font = _settings.Gui.Font; extensionsDialog.ShowDialog(); } }; _view.SettingsCommand.Execute += () => { SettingsDialog.Display(this, _model); }; _view.TestCentricHelpCommand.Execute += () => { _view.MessageDisplay.Error("Not Yet Implemented"); }; _view.NUnitHelpCommand.Execute += () => { System.Diagnostics.Process.Start("https://github.com/nunit/docs/wiki/NUnit-Documentation"); }; _view.AboutCommand.Execute += () => { using (AboutBox aboutBox = new AboutBox()) { aboutBox.ShowDialog(); } }; _view.ResultTabs.SelectionChanged += () => { _settings.Gui.SelectedTab = _view.ResultTabs.SelectedIndex; }; #endregion }
private void ValidateEmail( EmailSendServer email,MessageDisplay msgDisplay,int line ) { if ( string.IsNullOrEmpty(email.SmtpServer)) { msgDisplay.AddError(new CustomError("SmtpServer", line, "smtp服务器地址不能为空!")); } if (string.IsNullOrEmpty(email.SenderEmail)) { msgDisplay.AddError(new CustomError("SenderEmail", line, "发送端Email地址不能为空")); } else if (!emailreg.IsMatch(email.SenderEmail)) { msgDisplay.AddError(new CustomError("SenderEmail", line, "发送端Email地址格式错误")); } if (string.IsNullOrEmpty(email.SmtpServerAccount)) { msgDisplay.AddError(new CustomError("SmtpServerAccount",line,"邮箱用户名不能为空")); } if (string.IsNullOrEmpty(email.SmtpServerPassword)) { msgDisplay.AddError(new CustomError("SmtpServerPassword", line, "邮箱密码不能为空")); } if (email.Port > 65535 || email.Port < 2) { msgDisplay.AddError(new CustomError("Port", line, "SMTP服务器端口错误")); } }
private bool wf_Export(Workbook workbook, Worksheet worksheet, string as_symd, string as_eymd) { try { int li_ole_row_tol = ii_ole_row + 60; int li_ole_col, li_header = 0; DataTable dt = dao30640.GetData(as_symd, as_eymd); if (dt.Rows.Count <= 0) { MessageDisplay.Info(string.Format("{0},{1},無任何資料!", txtStartMonth.Text + "-" + txtEndMonth.Text, this.Text), GlobalInfo.ResultText); return(false); } li_header = 10; //PB有寫這段可是報表未顯示,先備註 //worksheet.Cells[1 , 5].Value = txtStartMonth.Text.Replace("/" , "") + " - " + txtEndMonth.Text.Replace("/" , "") + worksheet.Cells[1 , 5].Value; worksheet.Cells[li_header - 4, 0].Value = "查詢條件:" + txtStartMonth.Text.Replace("/", "") + "-" + txtEndMonth.Text.Replace("/", ""); //依資料條件判斷去填excel計算欄位 for (int i = 0; i < dt.Rows.Count; i++) { ii_ole_row = dt.Rows[i]["RPT_SEQ_NO"].AsInt(); li_ole_col = 0; switch (dt.Rows[i]["AM2_IDFG_TYPE"].AsInt()) { case 1: li_ole_col = 5; break; case 2: li_ole_col = 7; break; case 3: li_ole_col = 9; break; case 4: li_ole_col = 11; break; case 5: li_ole_col = 13; break; case 6: li_ole_col = 17; break; case 7: li_ole_col = 3; break; case 8: li_ole_col = 15; break; } if (ii_ole_row > 0 && li_ole_col > 0) { worksheet.Cells[ii_ole_row - 1, li_ole_col - 1].Value = dt.Rows[i]["AM2_OI"].AsDecimal(); } } return(true); } catch (Exception ex) { //失敗寫LOG WriteLog(ex); return(false); } }
protected void Page_Load(object sender, EventArgs e) { AddNavigationItem("注册新帐号"); #if !Passport PassportClientConfig setting = Globals.PassportClient; if (setting.EnablePassport) { Response.Redirect(setting.RegisterUrl); return; } #endif activeCode = _Request.Get("active", Method.Get); MessageDisplay msgDisplay = CreateMessageDisplay(); ValidateEmailAction activingEmailType = _Request.Get <ValidateEmailAction>("type", Method.Get, ValidateEmailAction.None); int isSent = _Request.Get("issent", Method.Get, 0); if (activingEmailType != ValidateEmailAction.None) { if (activingEmailType == ValidateEmailAction.ActivingUser) { IsActivingUser = true; } else { IsValidateEmail = true; } m_NeedActive = true; int userID = _Request.Get <int>("userid", Method.Get, 0); NeedActiveUser = UserBO.Instance.GetUser(userID); if (NeedActiveUser == null) { ShowError("该用户ID可能已经被删除,请重新注册!"); } m_email = NeedActiveUser.Email; CheckEmailLoginLink(m_email); } //判断用户是否点击了“注册”按钮 if (_Request.IsClick("register")) { Register(); } //判断用户是否点击了"重新发送邮件"按钮 else if (_Request.IsClick("sendmail")) { ResendEmail(); } //判断是否“激活帐号”操作 else if (!string.IsNullOrEmpty(activeCode)) { if (_Request.IsClick("activeme")) //这里加点击按钮判断是因为某些邮箱会抓取邮件里的链接,造成用户自动激活。 { using (ErrorScope es = new ErrorScope()) { if (UserBO.Instance.ActivingUser(activeCode)) { //用户激活成功 ShowSuccess("恭喜!您的账号" + My.Username + "已成功激活。", IndexUrl); } else { if (es.HasUnCatchedError) { es.CatchError <ErrorInfo>(delegate(ErrorInfo error) { IsOverrunLimitTimes = true; msgDisplay.AddError(error); }); } else { ShowError(new InvalidActiveCodeError("active", activeCode)); } } } } } //判断是否“重发激活邮件”的操作 else if (activingEmailType == ValidateEmailAction.ActivingUser && isSent != 1) { NeedSendMailClick = true; } //判断是否"重新发送验证邮箱的邮件" else if (activingEmailType == ValidateEmailAction.ValidateEmail && isSent != 1) { NeedSendMailClick = true; } }
//protected string MaxFileSize //{ // get // { // return ConvertUtil.FormatSize(EmoticonBO.Instance.MaxEmticonFileSize(MyUserID)); // } //} private void upload() { using (ErrorScope es = new ErrorScope()) { int uploadCount = 0, i = 0; MessageDisplay msgDisplay = CreateMessageDisplay(); HttpFileCollection files = Request.Files; int fileCount = 0, savedCount = 0; if (files.Count > 0) { List <EmoticonItem> emoticondDatas = new List <EmoticonItem>(); for (int j = 0; j < files.Count; j++) { if (files[j].ContentLength > 0) { uploadCount++; EmoticonItem item = new EmoticonItem(); i++; byte[] fileData = new byte[files[j].ContentLength]; item.MD5 = IOUtil.GetFileMD5Code(files[j].InputStream); files[j].InputStream.Seek(0, System.IO.SeekOrigin.Begin); files[j].InputStream.Read(fileData, 0, fileData.Length); item.Shortcut = _Request.Get("shortcut" + i, Method.Post); item.Data = fileData; item.FileName = files[j].FileName; emoticondDatas.Add(item); } } if (emoticondDatas.Count > 0) { Dictionary <string, List <EmoticonItem> > groupedDatas = new Dictionary <string, List <EmoticonItem> >(); groupedDatas.Add(string.Empty, emoticondDatas); EmoticonBO.Instance.BatchImportEmoticon(MyUserID, Group.GroupID, groupedDatas, out fileCount, out savedCount); } } if (uploadCount == 0) { message = "没有选择文件"; } else if (fileCount == 0) { message = "没有有效的表情文件"; } else if (savedCount == 0) { if (es.HasUnCatchedError) { es.CatchError <ErrorInfo>(delegate(ErrorInfo error) { message += error.Message; }); } else { message = "没有保存任何文件, 可能的原因:文件类型不正确, 或者文件大小超出限制!"; } } else { string msg = string.Empty; if (es.HasUnCatchedError) { es.CatchError <ErrorInfo>(delegate(ErrorInfo error) { message += "<br />" + error.Message; }); } message = uploadCount == savedCount ? "文件全部保存成功" : "共上传" + uploadCount + "个文件, 成功保存了" + savedCount + "个文件。" + msg; if (!es.HasUnCatchedError) { state = 2; } else { state = 1; } } } }
protected override ResultStatus COMPLETE() { MessageDisplay.Info(MessageDisplay.MSG_OK); Retrieve(); return(ResultStatus.Success); }
private void checkItem(Exceptable <T1> items, ExceptionItem <T1> item, string name, int id, List <int> sortOrders, List <Guid> roleIDs, MessageDisplay msgDisplay) { if (item != null) { //msgDisplay.HasAnyError == false 是为避免 有两个SortOrder 不为数字出错了(这时都为0) 而这里又提示重复 if (id != 0 && sortOrders.Contains(item.SortOrder) && msgDisplay.HasAnyError() == false) { msgDisplay.AddError(name, id, "排序数字不能重复"); } else { if (id != 0) { sortOrders.Add(item.SortOrder); } //items.Add(item); } if (item.RoleID != Guid.Empty && roleIDs.Contains(item.RoleID)) { msgDisplay.AddError(name, id, "已经存在对用户组“" + AllSettings.Current.RoleSettings.GetRole(item.RoleID).Name + "”的例外设置,不能重复设置"); } else { if (item.RoleID != Guid.Empty) { roleIDs.Add(item.RoleID); } items.Add(item); } } }
protected override ResultStatus Export() { try { #region 輸入&日期檢核 if (string.Compare(txtStartYMD.Text, txtEndYMD.Text) > 0) { MessageDisplay.Error(CheckDate.Datedif, GlobalInfo.ErrorText); return(ResultStatus.Fail); } #endregion //0. ready panFilter.Enabled = false; labMsg.Visible = true; labMsg.Text = "開始轉檔..."; this.Cursor = Cursors.WaitCursor; this.Refresh(); Thread.Sleep(5); /************************************* * chkGroup.Items[0] = MonQnty * chkGroup.Items[1] = OI * chkGroup.Items[2] = MonCnt * chkGroup.Items[3] = Amt * chkGroup.Items[4] = Acc * chkGroup.Items[5] = Id *************************************/ //1. 判斷是否至少勾選一個選項 if (chkGroup.CheckedItemsCount < 1) { MessageDisplay.Warning("請勾選至少一個選項!", GlobalInfo.WarningText); return(ResultStatus.Fail); } else { string tempMarketCode; //RadioButton (rbMarket0 = 一般 / rbMarket1 = 盤後 / rbMarketAll = 全部) if (gbMarket.EditValue.ToString() == "rbMarket0") { tempMarketCode = "一般"; } else if (gbMarket.EditValue.ToString() == "rbMarket1") { tempMarketCode = "盤後"; } else { tempMarketCode = "全部"; } //1.複製檔案 & 開啟檔案 (因檔案需因MarketCode更動,所以另外寫) string originalFilePath = Path.Combine(GlobalInfo.DEFAULT_EXCEL_TEMPLATE_DIRECTORY_PATH, _ProgramID + "." + FileType.XLS.ToString().ToLower()); string destinationFilePath = Path.Combine(GlobalInfo.DEFAULT_REPORT_DIRECTORY_PATH, _ProgramID + "_" + tempMarketCode + "_" + DateTime.Now.ToString("yyyy.MM.dd") + "-" + DateTime.Now.ToString("HH.mm.ss") + "." + FileType.XLS.ToString().ToLower()); File.Copy(originalFilePath, destinationFilePath, true); Workbook workbook = new Workbook(); workbook.LoadDocument(destinationFilePath); //2.填資料 bool result = false; result = wf_Export(workbook); //function 30592 if (!result) { workbook = null; File.Delete(destinationFilePath); return(ResultStatus.Fail); } //3.存檔 workbook.SaveDocument(destinationFilePath); labMsg.Visible = false; return(ResultStatus.Success); } } catch (Exception ex) { WriteLog(ex); } finally { panFilter.Enabled = true; labMsg.Text = ""; labMsg.Visible = false; this.Cursor = Cursors.Arrow; } return(ResultStatus.Fail); }
private void performExercise() { this.currentPage = WORKOUT_PAGE; ExerciseListGrid.Visibility = Visibility.Collapsed; MainMenuGrid.Visibility = Visibility.Collapsed; calibrateGrid.Visibility = Visibility.Collapsed; WorkoutGrid.Visibility = Visibility.Visible; clearSelectExerciseText(); this.messageDisplay = new MessageDisplay(this.errorList, 500, this.noErrorGrid); this.messageDisplay.render(); }
protected override ResultStatus Export() { try { this.Cursor = Cursors.WaitCursor; this.Refresh(); Thread.Sleep(5); lblProcessing.Visible = true; ShowMsg("開始轉檔..."); dao30224 = new D30224(); string rptId, file, rptName; int rowNum; rptName = "個股類歷次部位限制查詢"; rptId = "30224"; //讀取資料 DataTable dt30224 = dao30224.d_30224(txtSDate.Text.Replace("/", ""), txtEDate.Text.Replace("/", "")); if (dt30224.Rows.Count == 0) { MessageDisplay.Info(txtSDate.Text + "~" + txtEDate.Text + "," + rptId + '-' + rptName + ",無任何資料!"); return(ResultStatus.Fail); } //複製檔案 file = PbFunc.wf_copy_file(rptId, rptId); if (file == "") { return(ResultStatus.Fail); } logTxt = file; //開啟檔案 Workbook workbook = new Workbook(); workbook.LoadDocument(file); #region wf_30224 ShowMsg(rptId + '-' + rptName + " 轉檔中..."); //切換sheet Worksheet ws30224 = workbook.Worksheets[0]; ws30224.Cells[1, 0].Value = ws30224.Cells[1, 0].Value.ToString() + txtSDate.Text + "~" + txtEDate.Text; //填寫公告日期 //填入資料 rowNum = 2; foreach (DataRow dr in dt30224.Rows) { rowNum = rowNum + 1; if (dr["PLS2_YMD"] != DBNull.Value) { ws30224.Cells[rowNum, 0].Value = dr["PLS2_YMD"].AsDateTime("yyyyMMdd").ToString("yyyy/MM/dd"); } if (dr["PLS2_EFFECTIVE_YMD"] != DBNull.Value) { ws30224.Cells[rowNum, 1].Value = dr["PLS2_EFFECTIVE_YMD"].AsDateTime("yyyyMMdd").ToString("yyyy/MM/dd"); } if (dr["PLS2_RAISE_CNT"] != DBNull.Value) { ws30224.Cells[rowNum, 2].Value = dr["PLS2_RAISE_CNT"].AsInt(); } if (dr["PLS2_LOWER_CNT"] != DBNull.Value) { ws30224.Cells[rowNum, 3].Value = dr["PLS2_LOWER_CNT"].AsInt(); } if (dr["PLS2_NEW_CNT"] != DBNull.Value) { ws30224.Cells[rowNum, 4].Value = dr["PLS2_NEW_CNT"].AsInt(); } if (dr["PLS2_FUT_CNT"] != DBNull.Value) { ws30224.Cells[rowNum, 5].Value = dr["PLS2_FUT_CNT"].AsInt(); } if (dr["PLS2_OPT_CNT"] != DBNull.Value) { ws30224.Cells[rowNum, 6].Value = dr["PLS2_OPT_CNT"].AsInt(); } } #endregion //存檔 ws30224.ScrollToRow(0); workbook.SaveDocument(file); ShowMsg("轉檔成功"); } catch (Exception ex) { MessageDisplay.Error("輸出錯誤"); throw ex; } finally { this.Cursor = Cursors.Arrow; this.Refresh(); Thread.Sleep(5); } return(ResultStatus.Success); }
public static bool CheckValidateCode(string actionType, string id, MessageDisplay msgDisplay) { return CheckValidateCode(actionType, id, msgDisplay, true); }
private void ValidateLink(Link link, MessageDisplay msgDsp, int line) { if (string.IsNullOrEmpty(link.Name)) { msgDsp.AddError("name", line, Lang_Error.Link_EmptyNameError); } if (string.IsNullOrEmpty(link.Url)) { msgDsp.AddError("url", line, Lang_Error.Link_EmptyUrlError); } }
// ReSharper disable once UnusedMember.Local void Start() { _movementSensitivity = 1.3f; _mainCamera = GameObject.Find("/Main Camera"); _movementByMouse = false; _movementByItem = false; _mouseMovementTarget = new Vector2(); _mouseStopDistance = 0.15f; _pickupDistance = _mouseStopDistance*2; _mapGenerator = GameObject.FindGameObjectWithTag("MapGenerator"); _mapGeneratorScript = _mapGenerator.GetComponent<MapGenerator>(); _anim = gameObject.GetComponent<Animator>(); var messageDisplayPrefab = GameObject.FindGameObjectWithTag("MessageDisplay"); _messageDisplay = messageDisplayPrefab.GetComponent<MessageDisplay>(); }
private void checkNewItem(Exceptable <T1> items, ExceptionItem <T1> item, string name, List <int> sortOrders, List <Guid> roleIDs, MessageDisplay msgDisplay) { if (item != null) { if (item.SortOrder == -1) { int maxSortOrder = 0; foreach (int sortOrder in sortOrders) { if (sortOrder > maxSortOrder) { maxSortOrder = sortOrder; } } item.SortOrder = maxSortOrder + 1; } else if (sortOrders.Contains(item.SortOrder) && msgDisplay.HasAnyError() == false) { msgDisplay.AddError("new_" + name, "排序数字不能重复"); } if (item.RoleID != Guid.Empty && roleIDs.Contains(item.RoleID)) { msgDisplay.AddError("new_" + name, "已经存在对用户组“" + AllSettings.Current.RoleSettings.GetRole(item.RoleID).Name + "”的例外设置,不能重复设置"); } else { if (item.RoleID != Guid.Empty) { roleIDs.Add(item.RoleID); } } items.Add(item); } }
protected MessageDisplay CreateMessageDisplayForForm(string form, params string[] names) { MessageDisplay d = new MessageDisplay(form, names); return d; }
/// <summary> /// Execute startup tasks /// </summary> /// <param name="sender">object sending the event</param> /// <param name="e">event arguments</param> private void WindowLoaded(object sender, RoutedEventArgs e) { // Create the drawing group we'll use for drawing this.drawingGroup = new DrawingGroup(); // Create an image source that we can use in our image control this.imageSource = new DrawingImage(this.drawingGroup); // Display the drawing using our image control Image.Source = this.imageSource; // Allocate depth map variables this.colorBitmap = new WriteableBitmap((int) RenderWidth, (int) RenderHeight, 96.0, 96.0, PixelFormats.Bgr32, null); DepthImage.Source = this.colorBitmap; // prevent drawing outside of our render area this.drawingGroup.ClipGeometry = new RectangleGeometry(new Rect(0.0, 0.0, RenderWidth, RenderHeight)); // Look through all sensors and start the first connected one. // This requires that a Kinect is connected at the time of app startup. // To make your app robust against plug/unplug, // it is recommended to use KinectSensorChooser provided in Microsoft.Kinect.Toolkit (See components in Toolkit Browser). foreach (var potentialSensor in KinectSensor.KinectSensors) { if (potentialSensor.Status == KinectStatus.Connected) { this.sensor = potentialSensor; speechRecognizer = CreateSpeechRecognizer(); break; } } if (null != this.sensor) { // Turn on the skeleton stream to receive skeleton frames this.sensor.SkeletonStream.Enable(); this.sensor.DepthStream.Enable(); // Add an event handler to be called whenever there is new color frame data this.sensor.SkeletonFrameReady += this.SensorSkeletonFrameReady; // Add event handler for depth data this.sensor.DepthFrameReady += this.SensorDepthFrameReady; // Add event handler for Kinect switch KinectSensor.KinectSensors.StatusChanged += KinectSensors_StatusChanged; // Allocate Depth data objects this.depthPixels = new DepthImagePixel[this.sensor.DepthStream.FramePixelDataLength]; this.colorPixels = new byte[this.sensor.DepthStream.FramePixelDataLength * sizeof(int)]; // Initialize MessageDisplay object messageDisplay = new MessageDisplay(this.errorList, 500, this.noErrorGrid); this.currentPage = 0; // Start the sensor! try { this.sensor.Start(); StartKinectAudioStream(); } catch (IOException) { this.sensor = null; } } else { this.enterFormTrainerButton.Visibility = Visibility.Collapsed; } }
protected abstract T1 GetItemValue(string name, int id, bool isNew, MessageDisplay msgDisplay, out bool hasError);
/// <summary> /// 获取 除了例外的 用户组 排序 级别 还未获取T的值 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="name"></param> /// <param name="id"></param> /// <param name="isNew"></param> /// <param name="msgDisplay"></param> /// <returns></returns> private ExceptionItem <T1> GetExceptionItem(string name, int id, bool isNew, MessageDisplay msgDisplay) { if (_Request.Get <int>("delete_" + name + "_" + id, Method.Post, 0) == 1)//被删除的项 { return(null); } Guid roleID; LevelStatus level = LevelStatus.Currently; int sortOrder = 0; if (id == 0 && isNew == false) { roleID = Guid.Empty; } else { string roleIDName, sortOrderName, levelName; if (isNew) { roleIDName = "new_" + name + "_role"; sortOrderName = "new_" + name + "_sortorder"; levelName = "new_" + name + "_level"; } else { roleIDName = name + "_role_" + id; sortOrderName = name + "_sortorder_" + id; levelName = name + "_level_" + id; } roleID = _Request.Get <Guid>(roleIDName, Method.Post, Guid.Empty); if (roleID == Guid.Empty) { if (isNew && _Request.Get("display_tr_" + name, Method.Post, "0") == "1") { msgDisplay.AddError("new_" + name, "请选择一个用户组"); } else { return(null); } } string value = _Request.Get(sortOrderName, Method.Post, string.Empty); if (value == string.Empty) { sortOrder = -1; } else if (!int.TryParse(value, out sortOrder)) { if (isNew) { msgDisplay.AddError("new_" + name, "排序必须为整数"); } else { msgDisplay.AddError(name, id, "排序必须为整数"); } } level = _Request.Get <LevelStatus>(levelName, Method.Post, LevelStatus.Currently); } bool hasError; ExceptionItem <T1> t = new ExceptionItem <T1>(); t.LevelStatus = level; t.RoleID = roleID; t.SortOrder = sortOrder; t.Value = GetItemValue(name, id, isNew, msgDisplay, out hasError); if (hasError) { return(null); } return(t); }
private long GetSeconds(string name,MessageDisplay msgDisplay) { string valueString = _Request.Get(name + "Value", Method.Post, string.Empty); if(string.IsNullOrEmpty(valueString)) return 0; long value; if (long.TryParse(valueString, out value)) { TimeUnit unit = _Request.Get<TimeUnit>(name + "Unit", Method.Post, TimeUnit.Second); return DateTimeUtil.GetSeconds(value, unit); } else { msgDisplay.AddError(name, "请填写整数"); return 0; } }