protected override ResultStatus Open() { base.Open(); try { txtStartDate.Text = GlobalInfo.OCF_DATE.ToString("yyyy/01/01"); txtEndDate.DateTimeValue = GlobalInfo.OCF_DATE; #if DEBUG //winni test txtStartDate.DateTimeValue = DateTime.ParseExact("2019/03/01", "yyyy/MM/dd", null); txtEndDate.DateTimeValue = DateTime.ParseExact("2019/03/28", "yyyy/MM/dd", null); this.Text += "(開啟測試模式),Date=2019/03/01~2019/03/28"; #endif //交易所+商品清單 DataTable dtTradekindId = new MGT8().ListDataByMGT8(); Extension.SetColumnLookUp(lupTradekindId, dtTradekindId, "MGT8_F_ID", "CP_DISPLAY", TextEditStyles.DisableTextEditor, ""); gcMain.RepositoryItems.Add(lupTradekindId); MG8_F_ID.ColumnEdit = lupTradekindId; return(ResultStatus.Success); } catch (Exception ex) { WriteLog(ex); } return(ResultStatus.Fail); }
protected override ResultStatus Open() { base.Open(); try { #region 拉選單設定 //商品別 lupProdType = new RepositoryItemLookUpEdit(); DataTable dtProdType = new CODW().ListLookUpEdit("APDK", "APDK_PROD_TYPE"); lupProdType.SetColumnLookUp(dtProdType, "CODW_ID", "CODW_DESC", TextEditStyles.DisableTextEditor, null); gcMain.RepositoryItems.Add(lupProdType); //契約類別 lupProdSubtypeCod = new RepositoryItemLookUpEdit(); DataTable dtProdSubtypeCod = new CODW().ListLookUpEdit("APDK", "APDK_PROD_SUBTYPE"); Extension.SetColumnLookUp(lupProdSubtypeCod, dtProdSubtypeCod, "CODW_ID", "CODW_DESC", TextEditStyles.DisableTextEditor, ""); gcMain.RepositoryItems.Add(lupProdSubtypeCod); //商品狀態 lupDataType = new RepositoryItemLookUpEdit(); DataTable dataTypeList = new CODW().ListLookUpEdit("49020", "DATA_TYPE"); Extension.SetColumnLookUp(lupDataType, dataTypeList, "CODW_ID", "CODW_DESC", TextEditStyles.DisableTextEditor, ""); gcMain.RepositoryItems.Add(lupDataType); //風險價格係數計算方式 lupCpKind = new RepositoryItemLookUpEdit(); DataTable dtCpKind = new CODW().ListLookUpEdit("49020", "MGT2_CP_KIND"); Extension.SetColumnLookUp(lupCpKind, dtCpKind, "CODW_ID", "CODW_DESC", TextEditStyles.DisableTextEditor, ""); gcMain.RepositoryItems.Add(lupCpKind); //國內/國外類別 lupAbroad = new RepositoryItemLookUpEdit(); DataTable dtAbroad = new CODW().ListLookUpEdit("MGT2", "MGT2_ABROAD"); Extension.SetColumnLookUp(lupAbroad, dtAbroad, "CODW_ID", "CODW_DESC", TextEditStyles.DisableTextEditor, ""); gcMain.RepositoryItems.Add(lupAbroad); //交易所+商品清單 lupTradekindId = new RepositoryItemLookUpEdit(); DataTable dtTradekindId = new MGT8().ListDataByMGT8_TrimID(); Extension.SetColumnLookUp(lupTradekindId, dtTradekindId, "MGT8_F_ID", "CP_DISPLAY", TextEditStyles.DisableTextEditor, ""); gcMain.RepositoryItems.Add(lupTradekindId); #endregion Retrieve(); return(ResultStatus.Success); } catch (Exception ex) { WriteLog(ex); return(ResultStatus.Fail); } }
protected override ResultStatus Save(PokeBall poke) { try { gvMain.CloseEditor(); gvMain.UpdateCurrentRow(); DataTable dtCurrent = (DataTable)gcMain.DataSource; //檢查是否有空值 //if (!checkComplete(dtCurrent)) return ResultStatus.FailButNext; DataTable dtChange = dtCurrent.GetChanges(); DataTable dtForAdd = dtCurrent.GetChanges(DataRowState.Added); DataTable dtForModified = dtCurrent.GetChanges(DataRowState.Modified); DataTable dtForDeleted = dtCurrent.GetChanges(DataRowState.Deleted); if (dtChange == null) { MessageDisplay.Warning("沒有變更資料,不需要存檔!", GlobalInfo.WarningText); return(ResultStatus.Fail); } if (dtChange.Rows.Count == 0) { MessageDisplay.Warning("沒有變更資料,不需要存檔!", GlobalInfo.WarningText); return(ResultStatus.Fail); } //隱藏欄位賦值 foreach (DataRow dr in dtCurrent.Rows) { if (dr.RowState == DataRowState.Added) { dr["MGT8_W_TIME"] = DateTime.Now; dr["MGT8_W_USER_ID"] = GlobalInfo.USER_ID; if (string.IsNullOrEmpty(dr["MGT8_RT_ID"].AsString())) { continue; } else if (string.IsNullOrEmpty(dr["MGT8_KIND_TYPE"].AsString())) { dr["MGT8_KIND_TYPE"] = " "; } //else { // MessageDisplay.Warning("新增資料欄位不可為空!",GlobalInfo.WarningText); // return ResultStatus.FailButNext; //} if (dr["MGT8_FOREIGN"].AsString() == "D") { dr["MGT8_FOREIGN"] = " "; } } if (dr.RowState == DataRowState.Modified) { dr["MGT8_W_TIME"] = DateTime.Now; dr["MGT8_W_USER_ID"] = GlobalInfo.USER_ID; if (dr["MGT8_FOREIGN"].AsString() == "D") { dr["MGT8_FOREIGN"] = " "; } } } dtChange = dtCurrent.GetChanges(); ResultData result = new MGT8().UpdateData(dtChange); if (result.Status == ResultStatus.Fail) { return(ResultStatus.Fail); } AfterSaveForPrint(gcMain, dtForAdd, dtForDeleted, dtForModified); } catch (Exception ex) { MessageDisplay.Error("儲存錯誤", GlobalInfo.ErrorText); WriteLog(ex, "", false); return(ResultStatus.FailButNext); } return(ResultStatus.Success); }
protected override ResultStatus Retrieve() { try { DataTable dt = new MGT8().ListData(); //0.check (沒有資料時,則自動新增一筆) if (dt.Rows.Count <= 0) { InsertRow(); } //1.1 設定欄位caption gvMain.Columns.Clear(); gvMain.OptionsBehavior.AutoPopulateColumns = true; gcMain.DataSource = dt; GridHelper.SetCommonGrid(gvMain); string[] showColCaption = { "交易所+商品代號", "交易所", "商品", "路透代號", "商品類別", "國內/外", "幣別", "", "金額類型", "契約乘數", "異動人員", "異動時間", "" }; //1.1 設定欄位caption foreach (DataColumn dc in dt.Columns) { gvMain.SetColumnCaption(dc.ColumnName, showColCaption[dt.Columns.IndexOf(dc)]); gvMain.Columns[dc.ColumnName].AppearanceHeader.TextOptions.WordWrap = WordWrap.Wrap; gvMain.Columns[dc.ColumnName].AppearanceCell.TextOptions.WordWrap = WordWrap.Wrap; gvMain.Columns[dc.ColumnName].OptionsColumn.AllowMerge = DefaultBoolean.False; //設定欄位header顏色 if (dc.ColumnName == "MGT8_F_ID") { gvMain.Columns[dc.ColumnName].AppearanceHeader.BackColor = GridHelper.PK; } else { gvMain.Columns[dc.ColumnName].AppearanceHeader.BackColor = GridHelper.NORMAL; } } //1.2 設定隱藏欄位 gvMain.Columns["MGT8_STRUTURE"].Visible = false; gvMain.Columns["MGT8_W_USER_ID"].Visible = false; gvMain.Columns["MGT8_W_TIME"].Visible = false; gvMain.Columns["IS_NEWROW"].Visible = false; //1.2 設定欄位format格式 RepositoryItemTextEdit exchange = new RepositoryItemTextEdit(); //交易所 gcMain.RepositoryItems.Add(exchange); gvMain.Columns["MGT8_F_EXCHANGE"].ColumnEdit = exchange; exchange.MaxLength = 12; RepositoryItemTextEdit fName = new RepositoryItemTextEdit(); //商品 gcMain.RepositoryItems.Add(fName); gvMain.Columns["MGT8_F_NAME"].ColumnEdit = fName; fName.MaxLength = 29; RepositoryItemTextEdit rtId = new RepositoryItemTextEdit(); //路透代號 gcMain.RepositoryItems.Add(rtId); gvMain.Columns["MGT8_RT_ID"].ColumnEdit = rtId; rtId.MaxLength = 10; RepositoryItemTextEdit mgt8Xxx = new RepositoryItemTextEdit(); //契約乘數 gcMain.RepositoryItems.Add(mgt8Xxx); gvMain.Columns["MGT8_XXX"].ColumnEdit = mgt8Xxx; mgt8Xxx.DisplayFormat.FormatType = FormatType.Numeric; mgt8Xxx.DisplayFormat.FormatString = "#######0.###"; mgt8Xxx.Mask.EditMask = "#######0.###"; mgt8Xxx.MaxLength = 12; mgt8Xxx.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric; //1.3 設定dropdownlist gvMain.Columns["MGT8_KIND_TYPE"].ColumnEdit = lupKind; gvMain.Columns["MGT8_FOREIGN"].ColumnEdit = lupForeign; gvMain.Columns["MGT8_CURRENCY_TYPE"].ColumnEdit = lupCurrency; gvMain.Columns["MGT8_AMT_TYPE"].ColumnEdit = lupAmt; //1.4 設定欄位順序 gvMain.Columns["MGT8_F_ID"].VisibleIndex = 0; gvMain.Columns["MGT8_F_EXCHANGE"].VisibleIndex = 1; gvMain.Columns["MGT8_F_NAME"].VisibleIndex = 2; gvMain.Columns["MGT8_RT_ID"].VisibleIndex = 3; gvMain.Columns["MGT8_KIND_TYPE"].VisibleIndex = 4; gvMain.Columns["MGT8_FOREIGN"].VisibleIndex = 5; gvMain.Columns["MGT8_CURRENCY_TYPE"].VisibleIndex = 6; gvMain.Columns["MGT8_AMT_TYPE"].VisibleIndex = 7; gvMain.Columns["MGT8_XXX"].VisibleIndex = 8; gvMain.BestFitColumns(); gcMain.Focus(); return(ResultStatus.Success); } catch (Exception ex) { WriteLog(ex); } return(ResultStatus.Fail); }