Exemple #1
0
            public override ReturnMessageClass Export()
            {
                ReturnMessageClass msg = new ReturnMessageClass();

                msg.Status = ResultStatus.Fail;

                try {
                    FilePath = PbFunc.wf_copy_file(ProgramId, $"{ProgramId}_{AdjType}");

                    base.OpenFileAndSetYear();

                    string prepoStr = Dt.AsEnumerable().Any(d => d.Field <string>("prod_type") == "F") ? "期貨契約保證金及" : "";
                    foreach (DataRow dr in Dt.Rows)
                    {
                        string abbrName      = dr["KIND_ABBR_NAME"].AsString();
                        string abbrName_Desc = dr["rule_full_name"].AsString() + "交易規則";

                        base.GenKindNameList(dr, prepoStr, abbrName, abbrName_Desc);
                    }

                    string beginDate = Dt.Rows[0]["issue_begin_ymd"].AsDateTime("yyyyMMdd").AsTaiwanDateTime("{0}年{1}月{2}日", 3);
                    ReplaceElementWord(GenArrayTxt(KindNameList), beginDate, GenArrayTxt(KindNameList_Desc), GenArrayTxt(KindNameList));

                    Doc.Save(FilePath);
                    msg.Status = ResultStatus.Success;
                    return(msg);
                } catch (Exception ex) {
                    base.ErrorHandle(ex, msg);
                    return(msg);
                }
            }
Exemple #2
0
        protected override ResultStatus Export()
        {
            ExportShow.Text = "轉檔中...";
            ExportShow.Show();
            try {
                object[]           args    = { new D40xxx(), TxtDate, AdjType, _ProgramID };
                IExport40xxxData   xmlData = CreateXmlData(GetType(), "ExportXml" + AdjType, args);
                ReturnMessageClass msg     = xmlData.GetData();

                //無資料時不產檔
                if (msg.Status != ResultStatus.Success)
                {
                    ExportShow.Text = MessageDisplay.MSG_IMPORT_FAIL;
                    MessageDisplay.Info($"{txtDate.DateTimeValue.ToShortDateString()},{_ProgramID}-{ddlAdjType.Properties.GetDisplayText(AdjType)},{MessageDisplay.MSG_NO_DATA}");
                    return(msg.Status);
                }

                msg = xmlData.Export();

                if (msg.Status != ResultStatus.Success)
                {
                    ExportShow.Text = MessageDisplay.MSG_IMPORT_FAIL;
                    MessageDisplay.Info(MessageDisplay.MSG_IMPORT_FAIL);
                    return(msg.Status);
                }
            } catch (Exception ex) {
                ExportShow.Text = MessageDisplay.MSG_IMPORT_FAIL;
                WriteLog(ex);
                return(ResultStatus.Fail);
            }
            ExportShow.Text = "轉檔成功!";
            return(ResultStatus.Success);
        }
Exemple #3
0
            public virtual ReturnMessageClass GetData()
            {
                ReturnMessageClass msg = new ReturnMessageClass(MessageDisplay.MSG_NO_DATA);

                msg.Status = ResultStatus.Fail;

                Dt = Dao.GetData(TxtDate, AsAdjType, AdjType.SubStr(1, 1));

                //無資料時return fail (不產檔)
                if (Dt != null)
                {
                    if (Dt.Rows.Count > 0)
                    {
                        msg.Status = ResultStatus.Success;
                    }
                }

                Dt.Filter("ab_type in ('A','-')");
                return(msg);
            }
Exemple #4
0
            public override ReturnMessageClass GetData()
            {
                ReturnMessageClass msg = new ReturnMessageClass(MessageDisplay.MSG_NO_DATA);

                Dt = Dao.GetData(TxtDate, AsAdjType, AdjType.SubStr(1, 1));

                //一般 / 股票 要多撈一次資料
                if (AdjType == "0B")
                {
                    DataTable dtTmp = Dao.GetData(TxtDate, "3", AdjType.SubStr(1, 1));
                    if (dtTmp != null)
                    {
                        if (dtTmp.Rows.Count > 0)
                        {
                            foreach (DataRow r in dtTmp.Rows)
                            {
                                DataRow addRow = r;
                                Dt.ImportRow(r);
                            }
                        }
                    }
                }

                if (Dt == null)
                {
                    msg.Status = ResultStatus.Fail;
                    return(msg);
                }

                if (Dt.Rows.Count <= 0)
                {
                    msg.Status = ResultStatus.Fail;
                    return(msg);
                }

                msg.Status = ResultStatus.Success;
                return(msg);
            }
Exemple #5
0
            public virtual ReturnMessageClass Export()
            {
                ReturnMessageClass msg = new ReturnMessageClass();

                msg.Status = ResultStatus.Fail;

                try {
                    FilePath = PbFunc.wf_copy_file(ProgramId, $"{ProgramId}_{AdjType}");

                    OpenFileAndSetYear();

                    //說明文
                    string prepoStr = Dt.AsEnumerable().Any(d => d.Field <string>("prod_type") == "F") ? "期貨契約保證金及" : "";

                    foreach (DataRow dr in Dt.Rows)
                    {
                        string abbrName      = string.Format("{0}({1})", dr["KIND_ABBR_NAME"].AsString(), dr["kind_id"].AsString());
                        string abbrName_Desc = string.Format("{0}({1})", dr["KIND_ABBR_NAME"].AsString(), dr["kind_id"].AsString());

                        GenKindNameList(dr, prepoStr, abbrName, abbrName_Desc);

                        if (AddDescElement)
                        {
                            MakeDescElement(dr, abbrName);
                        }
                    }

                    ReplaceElementWord(GenArrayTxt(KindNameList_Desc), GenArrayTxt(KindNameList));

                    Doc.Save(FilePath);

                    msg.Status = ResultStatus.Success;
                    return(msg);
                } catch (Exception ex) {
                    ErrorHandle(ex, msg);
                    return(msg);
                }
            }
Exemple #6
0
            public override ReturnMessageClass Export()
            {
                ReturnMessageClass msg = base.Export();

                return(msg);
            }
Exemple #7
0
 /// <summary>
 /// 錯誤處理
 /// </summary>
 /// <param name="ex">Exception</param>
 /// <param name="msg"></param>
 public virtual void ErrorHandle(Exception ex, ReturnMessageClass msg)
 {
     WriteLog(ex.ToString(), "Info", "Z");
     msg.Status        = ResultStatus.Fail;
     msg.ReturnMessage = MessageDisplay.MSG_IMPORT_FAIL;
 }