Пример #1
0
        protected override ResultStatus Open()
        {
            base.Open();
            labTradeDate.Text = "交易日期:" + PbFunc.f_ocf_date(0, "fut");

            //設定價差數值型態下拉選單
            List <LookupItem> priceFluc = new List <LookupItem>()
            {
                new LookupItem()
                {
                    ValueMember = "F", DisplayMember = " "
                },
                new LookupItem()
                {
                    ValueMember = "P", DisplayMember = "百分比"
                }
            };

            //價差數值型態下拉選單
            lupPriceFluc = new RepositoryItemLookUpEdit();
            lupPriceFluc.SetColumnLookUp(priceFluc, "ValueMember", "DisplayMember", TextEditStyles.DisableTextEditor, "");
            gcMain.RepositoryItems.Add(lupPriceFluc);

            wf_retrieve();
            return(ResultStatus.Success);
        }
        /// <summary>
        /// PB在這邊設定dataWindow的連線
        /// </summary>
        protected virtual void Open()
        {
            //Input Condition
            em_date.Text  = PbFunc.f_ocf_date(0);
            em_month.Text = em_date.Text.Substring(0, 6);
            DateTime.TryParse(em_date.Text, out gdt_ocf_date);

            st_msg_txt.Visible = false;
        }
Пример #3
0
 protected override ResultStatus Open()
 {
     if (DesignMode)
     {
         return(ResultStatus.Success);
     }
     base.Open();
     txtPrevOcfDate.DateTimeValue = PbFunc.f_ocf_date(5, _DB_TYPE).AsDateTime("yyyyMMdd"); //GlobalInfo.OCF_DATE;
     return(ResultStatus.Success);
 }
Пример #4
0
        protected override ResultStatus Open()
        {
            if (DesignMode)
            {
                return(ResultStatus.Success);
            }
            base.Open();

            //txtPrevOcfDate.DateTimeValue = GlobalInfo.OCF_PREV_DATE;
            txtOcfDate.DateTimeValue = PbFunc.f_ocf_date(0, _DB_TYPE).AsDateTime(); //GlobalInfo.OCF_DATE;

            gcMain.DataSource  = servicePrefix1.ListTxfByTxn(_ProgramID).Trim();
            gcLogsp.DataSource = servicePrefix1.ListLogsp(txtOcfDate.DateTimeValue, _ProgramID).Trim();

            return(ResultStatus.Success);
        }
Пример #5
0
        private void wf_70010(string marketCode)
        {
            DateTime edate = txtOcfDate.DateTimeValue;

            #region 日
            string symd = edate.ToString("yyyyMM01");
            string eymd = txtOcfDate.FormatValue;
            createFile(symd, eymd, "D", "Daily", marketCode);
            #endregion

            string    nextYmd       = PbFunc.f_ocf_date(2, _DB_TYPE);
            DateTime  nextDate      = DateTime.ParseExact(nextYmd, "yyyyMMdd", null);
            DayOfWeek nextYmdDayNum = nextDate.DayOfWeek;

            #region 月
            nextYmd = nextYmd.Substring(0, 6);
            symd    = edate.ToString("yyyy01");
            eymd    = edate.ToString("yyyyMM");
            // 當下營業日換月份時,才產出月檔
            if (eymd != nextYmd)
            {
                createFile(symd, eymd, "M", "Monthly", marketCode);
            }
            #endregion

            #region 週
            DayOfWeek dayNum = edate.DayOfWeek;
            eymd = txtOcfDate.FormatValue;
            symd = "";
            if (dayNum > nextYmdDayNum && Math.Abs(new TimeSpan(edate.Ticks - nextDate.Ticks).Days) > 6)
            {
                createFile(symd, eymd, "D", "Weekly", marketCode);
            }
            #endregion

            #region 年
            eymd    = edate.ToString("yyyy");
            nextYmd = nextYmd.Substring(0, 4);
            if (eymd != nextYmd)
            {
                symd = (int.Parse(eymd) - 9).ToString();
                createFile(symd, eymd, "Y", "Yearly", marketCode);
            }
            #endregion
        }
Пример #6
0
        protected override ResultStatus Open()
        {
            if (DesignMode)
            {
                return(ResultStatus.Success);
            }
            base.Open();

            //txtPrevOcfDate.DateTimeValue = GlobalInfo.OCF_PREV_DATE;

            txtOcfDate.DateTimeValue = PbFunc.f_ocf_date(0, _DB_TYPE).AsDateTime(); //GlobalInfo.OCF_DATE;
            OCF_TYPE = txtOcfDate.DateType == BaseGround.Widget.TextDateEdit.DateTypeItem.Month ? "M" : "D";

            gcMain.DataSource = servicePrefix1.ListTxfByTxn(_ProgramID).Trim();

            gcLogsp.DataSource = servicePrefix1.ListLogsp(txtOcfDate.DateTimeValue, _ProgramID, OCF_TYPE).Trim();
            gvSpLog.AppearancePrint.HeaderPanel.Font = new Font("標楷體", 10);
            gvSpLog.AppearancePrint.Row.Font         = new Font("標楷體", 10);
            return(ResultStatus.Success);
        }
Пример #7
0
        //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);
        }
Пример #8
0
        //RadioButton 判斷
        private int wf_retrieve()
        {
            try {
                string ls_dw_name, ls_date;
                systemType = "";
                if (gbMarket.EditValue.AsString() == "rbMarket1")
                {
                    ls_dw_name = "";
                    if (gbType.EditValue.AsString() == "rbTypeFut")
                    {
                        ls_dw_name += "_fut";
                        ls_date     = PbFunc.f_ocf_date(0, "futAH");
                        systemType  = "(期貨夜盤)";
                    }
                    else
                    {
                        ls_dw_name += "_opt";
                        ls_date     = PbFunc.f_ocf_date(0, "optAH");
                        systemType  = "(選擇權夜盤)";
                    }
                    ls_dw_name += "_AH";
                }
                else
                {
                    ls_dw_name = "";
                    if (gbType.EditValue.AsString() == "rbTypeFut")
                    {
                        ls_dw_name += "_fut";
                        ls_date     = PbFunc.f_ocf_date(0, "fut");
                        systemType  = "(期貨一般)";
                    }
                    else
                    {
                        ls_dw_name += "_opt";
                        ls_date     = PbFunc.f_ocf_date(0, "opt");
                        systemType  = "(選擇權一般)";
                    }
                }

                //若資料有變動 未儲存前retrieve則跳出msg
                //if      dw_1.modifiedCount() > 0 then
                //     if      messagebox(gs_t_question , "資料有異動,是否放棄異動?" , Question!, YesNo!, 2) <> 1 then
                //                return -1
                //     end if
                //end if

                DataTable dt = dao51070.ListData(ls_dw_name);
                labTradeDate.Text = "交易日期:" + (ls_date == "0001/01/01" ? " " : ls_date);

                //1. 設定gvMain
                gvMain.Columns.Clear();
                gvMain.OptionsBehavior.AutoPopulateColumns = true;
                gcMain.DataSource = dt;

                string[] showColCaption = { "商品",                             "最大值",                          "最小值", "價差", $"月份{Environment.NewLine}順序",
                                            $"報價價差{Environment.NewLine}放寬倍數", $"價差{Environment.NewLine}max",
                                            " ",                              $"最低{Environment.NewLine}報價口數", $"價差{Environment.NewLine}數值型態" };

                //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.OptionsView.AllowCellMerge = true;
                    gvMain.Columns[dc.ColumnName].AppearanceCell.TextOptions.VAlignment = VertAlignment.Center;
                    gvMain.Columns[dc.ColumnName].OptionsColumn.AllowMerge = (dc.ColumnName == "SLT_KIND_ID") ? DefaultBoolean.True : DefaultBoolean.False;
                }

                //1.2 設定dropdownlist
                gvMain.Columns["SLT_PRICE_FLUC"].ColumnEdit = lupPriceFluc;
                lupPriceFluc.ReadOnly = true;

                //1.3 設定欄位順序
                gvMain.Columns["SLT_KIND_ID"].VisibleIndex = 0;
                gvMain.Columns["SLT_MIN"].VisibleIndex     = 1;
                gvMain.Columns["SLT_MAX"].VisibleIndex     = 2;
                gvMain.Columns["SLT_SPREAD"].VisibleIndex  = 3;

                gvMain.Columns["SLT_SPREAD_LONG"].VisibleIndex  = 4;
                gvMain.Columns["SLT_SPREAD_MULTI"].VisibleIndex = 5;
                gvMain.Columns["SLT_SPREAD_MAX"].VisibleIndex   = 6;
                gvMain.Columns["SLT_VALID_QNTY"].VisibleIndex   = 7;
                gvMain.Columns["SLT_PRICE_FLUC"].VisibleIndex   = 8;
                gvMain.Columns["OP_TYPE"].VisibleIndex          = 9;

                //1.4 設定cell style
                gvMain.Columns["OP_TYPE"].AppearanceCell.ForeColor        = Color.Red;
                gvMain.Columns["SLT_KIND_ID"].VisibleIndex                = 1;
                gvMain.Columns["SLT_PRICE_FLUC"].AppearanceCell.ForeColor = Color.Red;
                gvMain.Columns["SLT_PRICE_FLUC"].AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;

                //1.5 設定欄位format格式
                RepositoryItemTextEdit spread = new RepositoryItemTextEdit();
                gcMain.RepositoryItems.Add(spread);
                gvMain.Columns["SLT_SPREAD"].ColumnEdit = spread;
                spread.DisplayFormat.FormatType         = FormatType.Numeric;
                spread.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
                spread.DisplayFormat.FormatString = "########0.####";
                spread.Mask.EditMask = "########0.####";
                spread.MaxLength     = 14;

                RepositoryItemTextEdit multi = new RepositoryItemTextEdit();
                gcMain.RepositoryItems.Add(multi);
                gvMain.Columns["SLT_SPREAD_MULTI"].ColumnEdit = multi;
                multi.DisplayFormat.FormatType   = FormatType.Numeric;
                multi.Mask.MaskType              = DevExpress.XtraEditors.Mask.MaskType.Numeric;
                multi.DisplayFormat.FormatString = "#######0.####";
                multi.Mask.EditMask              = "#######0.####";
                multi.MaxLength = 13;

                RepositoryItemTextEdit max = new RepositoryItemTextEdit();
                gcMain.RepositoryItems.Add(max);
                gvMain.Columns["SLT_SPREAD_MAX"].ColumnEdit = max;
                max.DisplayFormat.FormatType   = FormatType.Numeric;
                max.Mask.MaskType              = DevExpress.XtraEditors.Mask.MaskType.Numeric;
                max.DisplayFormat.FormatString = "#######0.####";
                max.Mask.EditMask              = "#######0.####";
                max.MaxLength = 13;

                RepositoryItemTextEdit qnty = new RepositoryItemTextEdit();
                gcMain.RepositoryItems.Add(qnty);
                gvMain.Columns["SLT_VALID_QNTY"].ColumnEdit = qnty;
                qnty.MaxLength = 9;

                gvMain.BestFitColumns();
                GridHelper.SetCommonGrid(gvMain);
                gvMain.Columns["OP_TYPE"].Width = 25;
                gcMain.Focus();

                return(1);
            } catch (Exception ex) {
                WriteLog(ex);
                return(-1);
            }
        }
Пример #9
0
        protected override ResultStatus Save(PokeBall poke)
        {
            try {
                DataTable dtCurrent = (DataTable)gcMain.DataSource;
                gvMain.CloseEditor();
                gvMain.UpdateCurrentRow();

                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);
                }

                dtChange = dtCurrent.GetChanges();
                string ls_dw_name, ls_date;
                systemType = "";
                if (gbMarket.EditValue.AsString() == "rbMarket1")
                {
                    ls_dw_name = "";
                    if (gbType.EditValue.AsString() == "rbTypeFut")
                    {
                        ls_dw_name += "_fut";
                        ls_date     = PbFunc.f_ocf_date(0, "futAH");
                        systemType  = "(期貨夜盤)";
                    }
                    else
                    {
                        ls_dw_name += "_opt";
                        ls_date     = PbFunc.f_ocf_date(0, "optAH");
                        systemType  = "(選擇權夜盤)";
                    }
                    ls_dw_name += "_AH";
                }
                else
                {
                    ls_dw_name = "";
                    if (gbType.EditValue.AsString() == "rbTypeFut")
                    {
                        ls_dw_name += "_fut";
                        ls_date     = PbFunc.f_ocf_date(0, "fut");
                        systemType  = "(期貨一般)";
                    }
                    else
                    {
                        ls_dw_name += "_opt";
                        ls_date     = PbFunc.f_ocf_date(0, "opt");
                        systemType  = "(選擇權一般)";
                    }
                }

                ResultData result = dao51070.UpdateData(dtChange, ls_dw_name);
                if (result.Status == ResultStatus.Fail)
                {
                    return(ResultStatus.Fail);
                }
                Print(_ReportHelper);
                //AfterSaveForPrint(gcMain , dtChange , systemType);
            } catch (Exception ex) {
                WriteLog(ex);
            }
            return(ResultStatus.Success);
        }