Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }