// --------------------------------------------------------------------------------------------
 /// <summary>
 /// Initializes a new instance of the <see cref="HierarchyCommandContext"/> class.
 /// </summary>
 /// <param name="package">The package owning this context.</param>
 /// <param name="selection">The list of selected nodes belonging to this context.</param>
 /// <param name="origin">The command origin.</param>
 // --------------------------------------------------------------------------------------------
 public HierarchyCommandContext(PackageBase package, IList<HierarchyNode> selection,
     CommandOrigin origin)
     : base(package)
 {
     _Nodes = new ReadOnlyCollection<HierarchyNode>(selection);
       _Origin = origin;
       Handled = true;
       _ExplicitStatusSet = false;
       _Supported = false;
       _Disabled = false;
       _Invisible = false;
 }
Example #2
0
        public static string Render(PackageBase package, string renderStr)
        {
            string render_str = renderStr;
            Regex regex = new Regex(@"\$\w+\$");
            MatchCollection match = regex.Matches(render_str);

            foreach (Match pattern in match)
            {
                string match_pattern = pattern.Groups[0].Value.Replace("$", @"\$");
                string template_variable = match_pattern.Replace(@"\$", "");
                render_str = Regex.Replace(render_str, match_pattern, package[template_variable]);
            }
            return render_str;
        }
Example #3
0
        public static string RenderTest(PartPackage partPack, PackageBase[] itemPacks, string renderType)
        {
            partPack["PartTemplate"] = Properties.Resources.StandardPart;
            switch (renderType)
            {
                case "StandardItem":
                    partPack["ItemTemplate"] = Properties.Resources.StandardItem;
                    break;

                case "DerivateItem":
                    partPack["ItemTemplate"] = Properties.Resources.DerivateItem;
                    break;

                case "Caption":
                    partPack["ItemTemplate"] = Properties.Resources.Caption;
                    break;
            }
            return RenderPart(partPack, itemPacks);
        }
Example #4
0
        public static ToastNotification GenerateProgressToast(PackageBase package)
        {
            if (!OperatingSystem.IsWindowsVersionAtLeast(10, 0, 18362))
            {
                return(null);
            }

            var visualBinding = new ToastBindingGeneric
            {
                Children =
                {
                    new AdaptiveText
                    {
                        Text = new BindableString("progressTitle")
                    },
                    new AdaptiveProgressBar
                    {
                        Value  = new BindableProgressBarValue("progressValue"),
                        Title  = new BindableString("progressVersion"),
                        Status = new BindableString("progressStatus")
                    }
                },
            };

            if (package.GetAppIcon().Result is SDK.Images.FileImage image && !image.Uri.IsFile)
            {
                visualBinding.AppLogoOverride = new ToastGenericAppLogo
                {
                    Source = image.Url
                };
            }

            var content = new ToastContent
            {
                Visual = new ToastVisual
                {
                    BindingGeneric = visualBinding
                },
                // TODO: Add cancel and pause functionality
                //Actions = new ToastActionsCustom()
                //{
                //    Buttons =
                //    {
                //        new ToastButton("Pause", $"action=pauseDownload&packageName={package.PackageMoniker}")
                //        {
                //            ActivationType = ToastActivationType.Background
                //        },
                //        new ToastButton("Cancel", $"action=cancelDownload&packageName={package.PackageMoniker}")
                //        {
                //            ActivationType = ToastActivationType.Background
                //        }
                //    }
                //},
                Launch = $"package/{package.Urn}",
            };

            var notif = new ToastNotification(content.GetXml());

            notif.Data = new NotificationData(new Dictionary <string, string>()
            {
                { "progressTitle", package.Title },
                { "progressVersion", package.Version?.ToString() ?? string.Empty },
                { "progressStatus", "Downloading..." }
            });
            return(notif);
        }
 /// <inheritdoc />
 /// <summary>
 ///     Initializes a new instance of the <see cref="T:Jfevia.ProductivityShell.Vsix.Commands.ProjectItem.ShowInExplorerCommand" /> class.
 /// </summary>
 /// <param name="package">The package.</param>
 private ShowInExplorerCommand(PackageBase package)
     : base(package, PackageCommands.ProjectItemShowInExplorerCommand)
 {
 }
        private void RequestComplete(PackageResults packageRes, CommResults comRes, AckResults ackType, string strTag, PackageBase pack)
        {
            if (ackType != AckResults.ok
               || comRes != CommResults.ok
               || packageRes != PackageResults.ok)
            {
                if (strTag == "SetSaveSendCardsParameters")
                {
                    _isSaveToHWSuccessful = false;
                }
                if (strTag == "SetParameterStore2SpiFlash")
                {
                    string msg = "";
                    
                    msg = "保存信息到硬件失败!";
                    GetLangString(msg, "Lang_ScreenInfo_SaveDataFailt", out msg);

                    SendTextToMessageBox(msg, MessageBoxImage.Error);
                    CloseProcessForm();

                    return;
                }
                if (strTag == "SetReturnFactoryValues")
                {
                    string msg = "";
                    msg = "返回出厂设置失败!";
                    GetLangString(msg, "Lang_ScreenInfo_ReturnFactoryData", out msg);

                    SendTextToMessageBox(msg, MessageBoxImage.Error);
                    CloseProcessForm();

                    return;
                }
            }
            else
            {
                if (strTag == "SetParameterStore2SpiFlash")
                {
                    CustomTransform.Delay(SpecialPackTimeOut.SAVE_PARAMS_TIMEOUT * 1000, 60);
                    string msg = string.Empty;
                    msg = "保存信息到硬件成功!";
                    GetLangString(msg, "Lang_ScreenInfo_SendToHWSuccess", out msg);

                    _isSendDataToHW = false;

                    //if (_globalParams.AllBaseInfo.AllInfoDict.ContainsKey(pack.PortName))
                    //{
                    //    List<ILEDDisplayInfo> infoList = _globalParams.AllBaseInfo.AllInfoDict[pack.PortName].LEDDisplayInfoList;
                    //    infoList.Clear();
                    //    for (int i = 0; i < _oldDisplayList.Count; i++)
                    //    {
                    //        infoList.Add(_oldDisplayList[i]);
                    //    }
                    //}

                    SendTextToMessageBox(msg, MessageBoxImage.Exclamation);                    
                    CloseProcessForm();
                    Messenger.Default.Send<string>("", MsgToken.MSG_SCREENINFO_CHANGED);
                }
                else if (strTag == "SetReturnFactoryValues")
                {
                    SpecialPackageRequest spcPack = new SpecialPackageRequest(SpecialPackID.RETURN_FACTORY_ID,
                        SpecialPackTimeOut.RETURN_FACTORY);
                    int curID;
                    _serverProxy.SendEndRequestSpecialPacke(spcPack, out curID);

                    RedundancyInfoAccessor reduInfoAccessor = new RedundancyInfoAccessor(_serverProxy, _hwCardType, _selectedPortName);
                    HWSoftwareSpaceRes res = reduInfoAccessor.ClearHWReduInfo(OnClearReduInfoComplete);
                    if (res != HWSoftwareSpaceRes.OK)
                    {
                        string msg = "";
                        msg = "返回出厂设置失败!";
                        GetLangString(msg, "Lang_ScreenInfo_ReturnFactoryData", out msg);

                        SendTextToMessageBox(msg,MessageBoxImage.Error);                                            
                        CloseProcessForm();
                        return;
                    }
                }
            }
        }
Example #7
0
 public static void Instantiate(PackageBase package)
 => Instantiate(new ServiceHubLogCommand(package));
Example #8
0
        //***
        //===M

        private PathVariablesCommand(PackageBase package)
            : base(package, PackageIds.PathVariablesCommand)
        {
        }
Example #9
0
        private void OnTradeRcvMessage(object sender, PackageBase package)
        {
            if (this.InvokeRequired)
            {
                Smart.OnRcvMessage_EventHandler d = new Smart.OnRcvMessage_EventHandler(OnTradeRcvMessage);
                this.Invoke(d, new object[] { sender, package });
                return;
            }
            StringBuilder sbtmp = new StringBuilder();

            switch ((DT)package.DT)
            {
            case DT.LOGIN:      // Bona登入
                P001503 p1503 = (P001503)package;
                if (p1503.Code != 0)
                {
                    AddInfo("登入失敗 CODE = " + p1503.Code + " " + tfcom.GetMessageMap(p1503.Code));
                }
                else
                {
                    AddInfo("登入成功 ");
                    AddInfo("Yo:" + p1503.p001503_2[0].BrokeId + ":" + p1503.p001503_2[0].Account);
                }
                break;

            case DT.SECU_ALLOWANCE_RPT:       //子帳額度控管: 回補
                PT05002 p5002 = (PT05002)package;
                AddInfo(p5002.ToLog());
                break;

            case DT.SECU_ALLOWANCE:
                PT05003 p5003 = (PT05003)package;
                AddInfo(p5003.ToLog());
                break;

                #region 證券下單回報
            case DT.SECU_ORDER_ACK:       //下單第二回覆
//                    if (!cbShowUI.Checked) break;
                PT04002 p4002 = (PT04002)package;
                AddInfo(p4002.ToLog() + "訊息:" + tfcom.GetMessageMap(p4002.ErrorCode));
                break;

            case DT.SECU_ORDER_RPT:     // Bona委託回報
//                    if (!cbShowUI.Checked) break;
                PT04010 p4010 = (PT04010)package;
                AddInfo("RCV 4010 [" + p4010.CNT + "," + p4010.OrderNo + "]");
                // "委託型態", "分公司代號", "帳號", "綜合帳戶", "營業員代碼",                                                                                     "委託書號",            "交易日期",             "回報時間",           "委託日期時間",            "商品代號", "下單序號",             "委託來源別",                     "市場別",                        "買賣",                    "委託別",                         "委託種類",                      "委託價格",    "改量前數量",              "改量後數量",    "錯誤代碼", "錯誤訊息"
                string[] row4010 = { p4010.OrderFunc.ToString(), p4010.BrokerId, p4010.Account, p4010.SubAccount, p4010.OmniAccount, p4010.AgentId, p4010.OrderNo, p4010.TradeDate, p4010.ReportTime, p4010.ClientOrderTime, p4010.StockID, p4010.CNT, p4010.Channel.ToString(), p4010.Market.ToString(), p4010.Side.ToString(), p4010.OrdLot.ToString(), p4010.OrdClass.ToString(), p4010.Price, p4010.BeforeQty, p4010.AfterQty, p4010.ErrCode, p4010.ErrMsg };
//                    dgv4010.Rows.Add(row4010);
                break;

            case DT.SECU_DEAL_RPT:       //成交回報
//                    if (!cbShowUI.Checked) break;
                PT04011 p4011 = (PT04011)package;
                AddInfo("RCV 4011 [" + p4011.CNT + "]");
                //                            "委託型態",                             "分公司代號", "帳號",              "綜合帳戶", "營業員代碼",                  "委託書號",              "交易日期",               "回報時間", "電子單號",     "來源別",                          "市場別",                         "商品代碼",            "買賣別",             "委託別",                            ",委託種類",                          "成交價格", "成交數量", "市場成交序號"
                string[] row4011 = { p4011.OrderFunc.ToString(), p4011.BrokerId, p4011.Account, p4011.SubAccount, p4011.OmniAccount, p4011.AgentId, p4011.OrderNo, p4011.TradeDate, p4011.ReportTime, p4011.CNT, p4011.Channel.ToString(), p4011.Market.ToString(), p4011.StockID, p4011.Side.ToString(), p4011.OrdLot.ToString(), p4011.OrdClass.ToString(), p4011.Price, p4011.DealQty, p4011.MarketNo };
//                    dgv4011.Rows.Add(row4011);
                break;
                #endregion

                #region 證券複委託回報  <2015.11 Add >
            case DT.SECU_SUBORDER_ACK:       //下單第二回覆
//                    if (!cbShowUI.Checked) break;
                PT04102 p4102 = (PT04102)package;
                sbtmp.Append("[RCV 4102]").Append(" RequestId=").Append("" + p4102.RequestId)
                .Append(";CNT=").Append(p4102.CNT)
                .Append(";WEBID=").Append(p4102.WEBID)
                .Append(";Code=").Append("" + p4102.Code)
                //.Append(";CustomerID=").Append(p4102.CustomerID)
                .Append(";SeqNum=").Append(p4102.SeqNum)
                .Append(";OrdgSeqNum=").Append(p4102.OrdgSeqNum)
                .Append(";OrderNo=").Append(p4102.OrderNo)
                .Append(";ErrCode=").Append(p4102.ErrCode)
                .Append(";ErrMsg=").Append(p4102.ErrMsg);
                //AddInfo("RCV 4102 [" + p4102.RequestId + "," + p4102.WEBID + "," +  "]");
                AddInfo(sbtmp.ToString());
                break;

            case DT.SECU_SUBORDER_RPT:     //委託回報
//                    if (!cbShowUI.Checked) break;
                PT04110 p4110 = (PT04110)package;
                AddInfo("RCV 4110 [ SeqNo=" + p4110.SeqNo + " OrderNO=" + p4110.OrderNo + " OrgSeqNo=" + p4110.OrgSeqNo + "]");
                //"委託型態",            "客戶帳號",             "客戶姓名",                "委託書號",           "交易日期",           "市場別",         "商品代號",           "商品名稱",          "買賣別",                   "幣別",            "價格",          "數量",        "成交/改單數量", "成交狀態",        "成交數量",      "委託狀態",       " 委託序號",   "原始委託序號",       "接單方式",                "錯誤代碼",            "錯誤訊息",         "下單IP", "下單管道",         "通路別",            "建立日期"
                string[] row4110 = { p4110.OrderFunc, p4110.CustomerId, p4110.CustomerName, p4110.OrderNo, p4110.TradeDate, p4110.Market, p4110.Symbol, p4110.SymbolName, p4110.BS.ToString(), p4110.Currency, p4110.Price, p4110.Qty, p4110.Qty2, p4110.ExeStatus, p4110.ExeQty, p4110.Status, p4110.SeqNo, p4110.OrgSeqNo, p4110.OrderMethod, p4110.ErrorCode, p4110.ErrorMsg, p4110.IP, p4110.SystemID, p4110.Channel, p4110.CreateDate };
//                    dgv4110.Rows.Add(row4110);
                break;

            case DT.SECU_SUBDEAL_RPT:       //成交回報
//                    if (!cbShowUI.Checked) break;
                PT04111 p4111 = (PT04111)package;
                AddInfo("RCV 4111 [" + p4111.OrderNo + "]");
                //                            "客戶帳號",               "客戶姓名",               "交易日期",                "市場別",        "商品代碼",       "商品名稱",             "委託價格",    "委託數量", "成交價格",             "成交數量",         "委託書號",         "成交序號",         "下單管道",         "通路別"
                string[] row4111 = { p4111.CustomerId, p4111.CustomerName, p4111.TradeDate, p4111.Market, p4111.Symbol, p4111.SymbolName, p4111.Price, p4111.Qty, p4111.MatchPrice, p4111.MatchQty, p4111.OrderNo, p4111.MatchNo, p4111.SystemID, p4111.Channel };
//                    dgv4111.Rows.Add(row4111);
                break;

                #endregion
                #region 複委託帳務查詢
            case DT.FINANCIAL_RCORDER:                    //4113. 複委託委託查詢
                PT04113 p4113 = (PT04113)package;
                AddInfo("RCV 4113 [" + p4113.Code + "][" + p4113.CodeDesc + "][ 筆數:" + p4113.Rows + "]");
                if (p4113.Code == 0)
                {
//                        dgvRCQuery.DataSource = p4113.Detail;
//                        SetGridHeader(4113);
                }
                break;

            case DT.FINANCIAL_RCMATCHSUM:             //4115. 複委託成交彙總查詢

                PT04115 p4115 = (PT04115)package;
                AddInfo("RCV 4115 [" + p4115.Code + "][" + p4115.CodeDesc + "][ 筆數:" + p4115.Rows + "]");
                if (p4115.Code == 0)
                {
//                        dgvRCQuery.DataSource = p4115.Detail;
//                        SetGridHeader(4115);
                }
                break;

            case DT.FINANCIAL_RCMATCHDETAIL:          //4117. 複委託成交明細查詢
                PT04117 p4117 = (PT04117)package;
                AddInfo("RCV 4117 [" + p4117.Code + "][" + p4117.CodeDesc + "][ 筆數:" + p4117.Rows + "]");
                if (p4117.Code == 0)
                {
//                        dgvRCQuery.DataSource = p4117.Detail;
//                        SetGridHeader(4117);
                }
                break;

            case DT.FINANCIAL_RCPOSITIONSUM:         //4119. 複委託整戶部位明細查詢

                PT04119 p4119 = (PT04119)package;
                AddInfo("RCV 4119 [" + p4119.Code + "][" + p4119.CodeDesc + "][ 筆數:" + p4119.Rows + "]");
                if (p4119.Code == 0)
                {
//                        dgvRCQuery.DataSource = p4119.Detail;
//                        SetGridHeader(4119);
                }
                break;

            case DT.FINANCIAL_RCCURRENCY:              //4121. 複委託單一幣別帳務查詢
                PT04121 p4121 = (PT04121)package;
                AddInfo("RCV 4121 [" + p4121.Code + "][" + p4121.CodeDesc + "][ 筆數:" + p4121.Rows + "]");
                if (p4121.Code == 0)
                {
//                        dgvRCQuery.DataSource = p4121.Detail;
//                        SetGridHeader(4121);
                }
                break;

            case DT.FINANCIAL_RCSTOCKPOSITION:      //4123. 複委託股票庫存部位查詢 ;

                PT04123 p4123 = (PT04123)package;
                AddInfo("RCV 4123 [" + p4123.Code + "][" + p4123.CodeDesc + "][ 筆數:" + p4123.Rows + "]");
                if (p4123.Code == 0)
                {
//                        dgvRCQuery.DataSource = p4123.Detail;
//                        SetGridHeader(4123);
                }
                break;

            case DT.FINANCIAL_RCDELIVERY:               //4125. 複委託交割金額試算 ; 交割:Delivery ;
                PT04125 p4125 = (PT04125)package;
                AddInfo("RCV 4125 [" + p4125.Code + "][" + p4125.CodeDesc + "][ 筆數:" + p4125.Rows + "]");
                if (p4125.Code == 0)
                {
//                        dgvRCQuery.DataSource = p4125.Detail;
//                        SetGridHeader(4125);
                }
                break;

                #endregion

                #region 帳務中台WebSerivce 查詢
            case DT.FINANCIAL_WSSETAMTTRIAL:      //當日交割金額試算查詢
                PT04302 p4302 = (PT04302)package;
                AddInfo("RCV 4302 [" + p4302.Code + "][" + p4302.CodeDesc + "][ 筆數:" + p4302.Rows1 + " , " + p4302.Rows2 + "]");
//                    lbResult.Text = "4302[ " + p4302.Rows1 + "]筆";
//                    lbResult1.Text = "4302_2[ " + p4302.Rows2 + "]筆";
                if (p4302.Code == 0)
                {
//                        dgvWSDetail1.DataSource = p4302.Detail1;
//                        dgvWSDetail2.DataSource = p4302.Detail2;
//                        SetWSGridHeader(4302);
                }
                break;

            case DT.FINANCIAL_WSSETAMTDETAIL:     //當日交割金額_沖銷明細(非當沖)查詢
                PT04304 p4304 = (PT04304)package;
                AddInfo("RCV 4304 [" + p4304.Code + "][" + p4304.CodeDesc + "][ 筆數:" + p4304.Rows + "]");
//                    lbResult.Text = "4304[ " + p4304.Rows + "]筆";
                if (p4304.Code == 0)
                {
//                        dgvWSDetail1.DataSource = p4304.Detail;
//                        SetWSGridHeader(4304);
                }
                break;

            case DT.FINANCIAL_WSSETTLEAMT:    //交割金額查詢(3日)查詢
                PT04306 p4306 = (PT04306)package;
                AddInfo("RCV 4306 [" + p4306.Code + "][" + p4306.CodeDesc + "][ 筆數:" + p4306.Rows + "]");
//                    lbResult.Text = "4304[ " + p4306.Rows + "]筆";
                if (p4306.Code == 0)
                {
//                        dgvWSDetail1.DataSource = p4306.Detail;
//                        SetWSGridHeader(4306);
                }
                break;

            case DT.FINANCIAL_WSINVENTORY:    //庫存損益及即時維持率試算查詢
                PT04308 p4308 = (PT04308)package;
                AddInfo("RCV 4308 [" + p4308.Code + "][" + p4308.CodeDesc + "][ 筆數:" + p4308.Rows + "]");
//                    lbResult.Text = "4308[ " + p4308.Rows + "]筆";
                if (p4308.Code == 0)
                {
//                        dgvWSDetail1.DataSource = p4308.Detail;
//                        SetWSGridHeader(4308);
                }
                break;

            case DT.FINANCIAL_WSINVENTORYSUM:    //證券庫存彙總查詢
                PT04310 p4310 = (PT04310)package;
                AddInfo("RCV 4310 [" + p4310.Code + "][" + p4310.CodeDesc + "][ 筆數:" + p4310.Rows + "]");
//                    lbResult.Text = "4310[ " + p4310.Rows + "]筆";
                if (p4310.Code == 0)
                {
//                        dgvWSDetail1.DataSource = p4310.Detail;
//                        SetWSGridHeader(4310);
                }
                break;

            case DT.FINANCIAL_WSBALANCESTATEMENT:    //證券對帳單查詢
                PT04312 p4312 = (PT04312)package;
                AddInfo("RCV 4312 [" + p4312.Code + "][" + p4312.CodeDesc + "][ 筆數:" + p4312.Rows + "]");

//                    lbResult.Text = "4312[ " + p4312.Rows + "]筆";
                if (p4312.Code == 0)
                {
//                        dgvWSDetail1.DataSource = p4312.Detail;
//                        SetWSGridHeader(4312);
                }

                break;

                #endregion

            case DT.SECU_EARMARK_SET:     //圈存 ;
                //string[] header4031 = { "Requestid", "webid", "1.圈/D.解圈", "分公司代號", "帳號", "證券代號", "申請張數", "回覆張數", "申請日期" ,"申請時間","回覆時間","序號","代碼","訊息"};
                P004031 p4031 = (P004031)package;
                //MessageBox.Show("EarMark Set:" + p4031.ErrCode);
                string[] row4031 = { p4031.RequestId.ToString(), p4031.Webid, p4031.TCode.ToString(), p4031.BrokerId, p4031.Account, p4031.StockNO, p4031.ApplyQTY, p4031.ReplyQTY, p4031.ApplyDate, p4031.ApplyTime, p4031.ReplyTime, p4031.Seqno, p4031.ErrCode, p4031.ErrMsg };
//                    dgv4031.Rows.Add(row4031);
                break;
            }
        }
Example #10
0
 public void OnRcvMessage(object sender, PackageBase package)
 {
     switch ((DT)package.DT)
     {
         case DT.INVENTORY_TRADER: //1616
             P001616 p1616 = (P001616)package;
                            if (p1616.Rows > 0)
             {
                 foreach (P001616_2 p1616b in p1616.p001616_2)
                 {
                     string[] row1616 = { p1616b.BrokerId, p1616b.Account, p1616b.Group, p1616b.Trader, p1616b.Exchange, p1616b.ComType, p1616b.ComID, p1616b.ComYM, p1616b.StrikePrice, p1616b.CP, p1616b.BS, p1616b.DeliveryDate, p1616b.Currency, p1616b.OTQty, p1616b.TrdPrice, p1616b.MPrice, p1616b.PRTLOS, p1616b.DealPrice };
                     AddInfo("ComID : " + p1616b.ComID);
                     AddInfo("OTQty : " + p1616b.BS + p1616b.OTQty);
                     AddInfo("Keep  : " + p1616b.DealPrice);
                     if (p1616b.BS == "B")
                     {
                         chkQty = int.Parse(p1616b.OTQty);
                         kgikeep = int.Parse(p1616b.DealPrice.Split('.')[0]);
                         Console.WriteLine("CMD : kgiCheck keep B :" + kgikeep.ToString() + " : " + chkQty.ToString());
                     }
                     else
                     {
                         chkQty = -int.Parse(p1616b.OTQty);
                         kgikeep = int.Parse(p1616b.DealPrice.Split('.')[0]);
                         Console.WriteLine("CMD : kgiCheck keep S : "+ kgikeep.ToString() + " : " + chkQty.ToString());
                     }
                 }
             }
             break;
         case DT.FINANCIAL_COVER_TRADER: //1614 
             P001614 p1614 = (P001614)package;
             break;
     }
 }
Example #11
0
        private static string RenderItemAsIfSectionPack(PackageBase itemPack, PartPackage partPack)
        {
            SectionPackage section = itemPack as SectionPackage;
            if (section != null)
            {
                // sectionのHタグのために設定
                int depth = int.Parse(partPack["Depth"]);
                itemPack["Depth"] = (depth + 3).ToString();
                itemPack["Indent"] = AddIndent(depth);
            }

            return TemplateBase.Render(itemPack, partPack["ItemTemplate"]) + "\n";
        }
Example #12
0
        private static string RenderItemAsIfRenderSection(PackageBase itemPack, PartPackage partPack)
        {
            string result = RenderItemAsIfSectionPack(itemPack, partPack);

            SectionPackage section_pack = itemPack as SectionPackage;
            if (section_pack != null)
            {
                var childs = section_pack.Childs.ToArray();
                if (childs.Length > 0)
                {
                    int depth = int.Parse(partPack["Depth"]) + 1;
                    result += SectionPart.RenderSection(childs, depth);
                }
            }
            return result;
        }
Example #13
0
        private static string RenderingItems(PartPackage partPack, PackageBase[] itemPacks)
        {
            string result = "";

            if (itemPacks.Length > 0)
            {
                result += RenderItemAsIfRenderSection(itemPacks[0], partPack);
                for (int i = 1; i < itemPacks.Length; i++)
                {
                    string indent = "";
                    if (partPack.ContainsKey("Depth"))
                    {
                        int depth = int.Parse(partPack["Depth"]);
                        indent = AddIndent(depth);
                        indent += "    ";
                    }
                    result += "\n" + indent + Properties.Resources.Separate;
                    result += RenderItemAsIfRenderSection(itemPacks[i], partPack);
                }
            }

            return result;
        }
Example #14
0
 public static string RenderPart(PartPackage partPack, PackageBase[] itemPacks)
 {
     partPack["Contents"] = RenderingItems(partPack, itemPacks);
     return DepthForIndent(partPack) + TemplateBase.Render(partPack, partPack["PartTemplate"]);
 }
Example #15
0
        //!!!

        public static void Instantiate(PackageBase package)
        => Instantiate(new RestartNormalCommand(package));
        //===M

        private InsertGuidCommand(PackageBase package) : base(package, CommandId)
        { }
Example #17
0
 public CarPay(PackageBase pb)
     : base(pb)
 {
 }
        //===M

        public static void Instantiate(PackageBase package)
            => Instantiate(new InsertGuidCommand(package));
        //***
        //!!!

        private TimeSaversOptionsCommand(PackageBase package) : base(package, PackageIds.TimeSaversOptionsCommand)
        {
        }
Example #20
0
 // --------------------------------------------------------------------------------------------
 /// <summary>
 /// Displays the message in a Visual Studio message box.
 /// </summary>
 /// <param name="package">Package the action is used from</param>
 /// <param name="id">Command ID activating the action.</param>
 // --------------------------------------------------------------------------------------------
 public override void ExecuteAction(PackageBase package, CommandID id)
 {
     VsMessageBox.Show(_Text, _Title, _Buttons, _Icon, _DefaultButton);
 }
Example #21
0
 // --------------------------------------------------------------------------------------------
 /// <summary>
 /// Initializes a new instance of the <see cref="CommandContext"/> class.
 /// </summary>
 /// <param name="package">The package belonging to this context.</param>
 // --------------------------------------------------------------------------------------------
 public CommandContext(PackageBase package)
 {
     Package = package;
 }
Example #22
0
 // --------------------------------------------------------------------------------------------
 /// <summary>
 /// Puts the message to the current pane of the output window.
 /// </summary>
 /// <param name="package">Package the action is used from</param>
 /// <param name="id">Command ID activating the action.</param>
 // --------------------------------------------------------------------------------------------
 public override void ExecuteAction(PackageBase package, CommandID id)
 {
     package.ShowToolWindow(_Type, _InstanceId);
 }
Example #23
0
 /// <summary>
 ///     Initializes the specified package.
 /// </summary>
 /// <param name="package">The package.</param>
 public static void Initialize(PackageBase package)
 {
     Instance = new ReloadCommand(package);
 }
Example #24
0
 // --------------------------------------------------------------------------------------------
 /// <summary>
 /// Carries out the actions expected.
 /// </summary>
 /// <param name="package">Package the action is used from</param>
 /// <param name="id">Command ID activating the action.</param>
 // --------------------------------------------------------------------------------------------
 public override void ExecuteAction(PackageBase package, CommandID id)
 {
     Console.WriteLine(_Message);
 }
Example #25
0
 public CReverse_QMPay(PackageBase pb)
     : base(pb)
 {
 }
Example #26
0
 // --------------------------------------------------------------------------------------------
 /// <summary>
 /// Executes the specified Visual Studio command.
 /// </summary>
 /// <param name="package">Package the action is used from</param>
 /// <param name="id">Command ID activating the action.</param>
 // --------------------------------------------------------------------------------------------
 public override void ExecuteAction(PackageBase package, CommandID id)
 {
     VsIde.ExecuteCommand(_CommandName, _Args);
 }
 /// <summary>
 ///     Initializes the specified package.
 /// </summary>
 /// <param name="package">The package.</param>
 public static void Initialize(PackageBase package)
 {
     Instance = new ShowInExplorerCommand(package);
 }
Example #28
0
        }//sim


        public void OnQuoteRcvMessage(object sender, PackageBase package)
        {
            kgiQuotesrv = true;
            if (package.TOPIC != null)
                if (RecoverMap.ContainsKey(package.TOPIC))
                    RecoverMap[package.TOPIC]++;

            switch (package.DT)
            {
                case (ushort)DT.LOGIN:
                    P001503 _p001503 = (P001503)package;
                    if (_p001503.Code == 0)
                        AddInfo("可註冊檔數:" + _p001503.Qnum);
                    break;
                #region 公告 2014.12.12 ADD
                case (ushort)DT.NOTICE_RPT:
                    P001701 p1701 = (P001701)package;
                    AddInfo(p1701.ToLog());
                    break;    //公告(被動查詢) 
                case (ushort)DT.NOTICE:   //公告(主動)
                    P001702 p1702 = (P001702)package;
                    AddInfo(p1702.ToLog());
                    break;
                #endregion 
                case (ushort)DT.QUOTE_I020:
                case 20022:
                    PI20020 i20020 = (PI20020)package;
                    
                    kgi_tick_v = i20020.MatchQuantity;
                    kgi_tick_price = (int)i20020.Price;
                    kgi_tick_time = (int)i20020.MatchTime;

                    int kgihour = (int)kgi_tick_time / 1000000;
                    int kgim = (int)(kgi_tick_time % 1000000) / 10000;
                    int kgis = (int)((kgi_tick_time % 1000000) % 10000 ) / 100;
                    kginowidx = kgihour * 60 * 60 / 12 + kgim * 60 / 12 + kgis / 12 - 8 * 60 * 60 / 12 - 45 * 60 / 12;
                    if (kginowidx < 0)
                    {
                        //Console.WriteLine(kgitime.ToString());
                        //Console.WriteLine("   "+kgihour.ToString()+" "+kgim.ToString() + " " + kgis.ToString()+"  "+kgi_idx.ToString());
                        Console.WriteLine("Wait Trade open");
                        Console.WriteLine(kginowidx.ToString());
                    }

                    kgisrv_wdg = true;
                    if ((kginowidx >= 0) && (kginowidx <= 1400))
                    {
                        if (kgi_idx == -1)
                        {
                            tempidx = kginowidx;
                            kgi_idx += 1;
                            kgitrademin_p[kgi_idx] = kgi_tick_price;
                            kgitrademin_n[kgi_idx] = 1;
                            kgitrademin_v[kgi_idx] = kgi_tick_v;

                            kgi_usavgp = kgi_tick_price;
                            kgi_usavgn = 1;
                        }
                        if (tempidx < kginowidx) 
                        {
                            if (kgitrademin_v[kgi_idx] != 0)
                            {
                                kgitrademin_p[kgi_idx] /= kgitrademin_n[kgi_idx];
                                nowp = kgitrademin_p[kgi_idx];
                                kgi_idx += 1;
                                //Sync.sync_kgidata_flash = true;  //使用強制 tick to python / 250ms , 這裡如果在加 , 可能會亂
                            }
                            else // 假如這個時間區塊無資料  將下個時間區塊替補上
                            {
                                //kgitrademin_p[kgi_idx] = kgitrademin_p[kgi_idx - 1];
                                //kgitrademin_v[kgi_idx] = 1;
                            }
                            //Console.WriteLine(kgitrademin_p[kgi_idx].ToString() + " " + kgitrademin_v[kgi_idx].ToString());
                            //Console.WriteLine(kgihour.ToString() + " " + kgim.ToString() + " " + kgis.ToString() + "  " + kgi_idx.ToString());

                            tempidx = kginowidx;
                            kgitrademin_p[kgi_idx] = kgi_tick_price;
                            kgitrademin_n[kgi_idx] = 1;
                            kgitrademin_v[kgi_idx] = kgi_tick_v;
                        }
                        else
                        {
                            kgitrademin_p[kgi_idx] += kgi_tick_price;
                            kgitrademin_n[kgi_idx] += 1;
                            kgitrademin_v[kgi_idx] += kgi_tick_v;

                            kgi_usavgp = kgi_tick_price;
                            kgi_usavgn = 1;
                            kgi_usavg_kgidata_flash = true;
                        }
                    }
                    ticksrv_kgidata_flash = true;
                    break;
            }
        }
Example #29
0
 public CTransScript(PackageBase pb)
     : base(pb)
 {
 }
Example #30
0
        /// <summary>
        ///     Gets an enumerable set of the selected UI hierarchy items.
        /// </summary>
        /// <param name="package">The hosting package.</param>
        /// <returns>The enumerable set of selected UI hierarchy items.</returns>
        internal static IEnumerable <UIHierarchyItem> GetSelectedUIHierarchyItems(PackageBase package)
        {
            var solutionExplorer = GetSolutionExplorer(package);

            return(((object[])solutionExplorer.SelectedItems).Cast <UIHierarchyItem>().ToList());
        }
Example #31
0
        //***
        //!!!

        private RestartNormalCommand(PackageBase package) : base(package, PackageIds.RestartNormalCommand)
        {
        }
Example #32
0
 /// <summary>
 ///     Gets the solution explorer for the specified hosting package.
 /// </summary>
 /// <param name="package">The hosting package.</param>
 /// <returns>The solution explorer.</returns>
 internal static UIHierarchy GetSolutionExplorer(PackageBase package)
 {
     return(package.Dte.ToolWindows.SolutionExplorer);
 }
Example #33
0
 // --------------------------------------------------------------------------------
 /// <summary>
 /// Explicitly defined default constructor. Initialize new instance of the
 /// EditorFactory object.
 /// </summary>
 // --------------------------------------------------------------------------------
 public EditorFactoryBase()
 {
     Package = PackageBase.GetPackageInstance <TPackage>();
 }
Example #34
0
        /// <summary>
        ///     Gets the top level (solution) UI hierarchy item.
        /// </summary>
        /// <param name="package">The hosting package.</param>
        /// <returns>The top level (solution) UI hierarchy item, otherwise null.</returns>
        internal static UIHierarchyItem GetTopUIHierarchyItem(PackageBase package)
        {
            var solutionExplorer = GetSolutionExplorer(package);

            return(solutionExplorer.UIHierarchyItems.Count > 0 ? solutionExplorer.UIHierarchyItems.Item(1) : null);
        }
Example #35
0
        private void OnQuoteRcvMessage(object sender, PackageBase package)
        {
            if (package.TOPIC != null)
            {
                if (RecoverMap.ContainsKey(package.TOPIC))
                {
                    RecoverMap[package.TOPIC]++;
                }
            }

            StringBuilder sb;

            switch (package.DT)
            {
            case (ushort)DT.LOGIN:
                P001503 _p001503 = (P001503)package;
                if (_p001503.Code == 0)
                {
                    AddInfo("可註冊檔數:" + _p001503.Qnum);
                    if (quoteCom.QuoteFuture)
                    {
                        AddInfo("可註冊期貨報價");
                    }
                    if (quoteCom.QuoteStock)
                    {
                        AddInfo("可註冊證券報價");
                    }
                }
                break;

            case (ushort)DT.QUOTE_STOCK_MATCH1:       //上市成交
            case (ushort)DT.QUOTE_STOCK_MATCH2:       //上櫃成交
                PI31001 pi31001 = (PI31001)package;
                if (!cbShow.Checked)
                {
                    break;
                }
                sb = new StringBuilder(Environment.NewLine);
                sb.Append((package.DT == (ushort)DT.QUOTE_STOCK_MATCH1) ? "上市 " : "上櫃 ");
                if (pi31001.Status == 0)
                {
                    sb.Append("<試撮>");
                }
                sb.Append("商品代號: ").Append(pi31001.StockNo).Append("  更新時間: ").Append(pi31001.Match_Time).Append(Environment.NewLine);
                sb.Append(" 成交價: ").Append(pi31001.Match_Price).Append("  單量: ").Append(pi31001.Match_Qty);
                sb.Append(" 總量: ").Append(pi31001.Total_Qty).Append("  來源: ").Append(pi31001.Source).Append(Environment.NewLine);
                sb.Append("=========================================");
                AddInfo(sb.ToString());
                break;

            case (ushort)DT.QUOTE_STOCK_DEPTH1:     //上市五檔
            case (ushort)DT.QUOTE_STOCK_DEPTH2:     //上櫃五檔
                PI31002 i31002 = (PI31002)package;
                if (!cbShow.Checked)
                {
                    break;
                }
                sb = new StringBuilder(Environment.NewLine);
                sb.Append((package.DT == (ushort)DT.QUOTE_STOCK_DEPTH1) ? "上市 " : "上櫃 ");
                if (i31002.Status == 0)
                {
                    sb.Append("<試撮> ");
                }
                sb.Append("商品代號: ").Append(i31002.StockNo).Append(" 更新時間: ").Append(i31002.Match_Time).Append("  來源: ").Append(i31002.Source).Append(Environment.NewLine);
                for (int i = 0; i < 5; i++)
                {
                    sb.Append(String.Format("五檔[{0}] 買[價:{1:N} 量:{2:N}]    賣[價:{3:N} 量:{4:N}]", i + 1, i31002.BUY_DEPTH[i].PRICE, i31002.BUY_DEPTH[i].QUANTITY, i31002.SELL_DEPTH[i].PRICE, i31002.SELL_DEPTH[i].QUANTITY)).Append(Environment.NewLine);
                }
                sb.Append("=========================================");

                AddInfo(sb.ToString());
                break;

            case (ushort)DT.QUOTE_LAST_PRICE_STOCK:
                PI30026 pi30026 = (PI30026)package;
                #region Comfup Add
                UpdateStockComfup(pi30026);
                #endregion
                sb = new StringBuilder(Environment.NewLine);
                sb.Append("商品代號:").Append(pi30026.StockNo).Append(" 最後價格:").Append(pi30026.LastMatchPrice).Append(Environment.NewLine);
                sb.Append("當日最高成交價格:").Append(pi30026.DayHighPrice).Append(" 當日最低成交價格:").Append(pi30026.DayLowPrice);
                sb.Append("開盤價:").Append(pi30026.FirstMatchPrice).Append(" 開盤量:").Append(pi30026.FirstMatchQty).Append(Environment.NewLine);
                sb.Append("參考價:").Append(pi30026.ReferencePrice).Append(Environment.NewLine);
                sb.Append("成交單量:").Append(pi30026.LastMatchQty).Append(Environment.NewLine);
                sb.Append("成交總量:").Append(pi30026.TotalMatchQty).Append(Environment.NewLine);
                for (int i = 0; i < 5; i++)
                {
                    sb.Append(String.Format("五檔[{0}] 買[價:{1:N} 量:{2:N}]    賣[價:{3:N} 量:{4:N}]", i + 1, pi30026.BUY_DEPTH[i].PRICE, pi30026.BUY_DEPTH[i].QUANTITY, pi30026.SELL_DEPTH[i].PRICE, pi30026.SELL_DEPTH[i].QUANTITY)).Append(Environment.NewLine);
                }
                sb.Append("==============================================");
                AddInfo(sb.ToString());
                break;

            case (ushort)DT.QUOTE_STOCK_INDEX1:      //上市指數
                PI31011 pi31011 = (PI31011)package;
                sb = new StringBuilder(Environment.NewLine);
                sb.Append("[上市指數]更新時間:").Append(pi31011.Match_Time).Append("   筆數: ").Append(pi31011.COUNT).Append(Environment.NewLine);
                for (int i = 0; i < pi31011.COUNT; i++)
                {
                    sb.Append(" [" + (i + 1) + "] ").Append(pi31011.IDX[i].VALUE);
                }
                sb.Append("==============================================");
                AddInfo(sb.ToString());
                break;

            case (ushort)DT.QUOTE_STOCK_INDEX2:      //上櫃指數
                PI31011 pi32011 = (PI31011)package;
                sb = new StringBuilder(Environment.NewLine);
                sb.Append("[上櫃指數]更新時間:").Append(pi32011.Match_Time).Append("   筆數: ").Append(pi32011.COUNT).Append(Environment.NewLine);
                for (int i = 0; i < pi32011.COUNT; i++)
                {
                    sb.Append(" [" + (i + 1) + "]").Append(pi32011.IDX[i].VALUE);
                }
                sb.Append("==============================================");
                AddInfo(sb.ToString());
                break;

            case (ushort)DT.QUOTE_STOCK_NEWINDEX1:      //上市新編指數
                PI31021 pi31021 = (PI31021)package;
                sb = new StringBuilder(Environment.NewLine);
                sb.Append("上市新編指數[").Append(pi31021.IndexNo).Append("] 時間:").Append(pi31021.IndexTime);
                sb.Append("指數:  ").Append(pi31021.LatestIndex).Append(Environment.NewLine);
                AddInfo(sb.ToString());
                break;

            case (ushort)DT.QUOTE_STOCK_NEWINDEX2:      //上櫃新編指數
                PI31021 pi32021 = (PI31021)package;
                sb = new StringBuilder(Environment.NewLine);
                sb.Append("上櫃新編指數[").Append(pi32021.IndexNo).Append("] 時間:").Append(pi32021.IndexTime);
                sb.Append("最新指數: ").Append(pi32021.LatestIndex).Append(Environment.NewLine);
                AddInfo(sb.ToString());
                break;

            case (ushort)DT.QUOTE_LAST_INDEX1:      //上市最新指數查詢
                PI31026 pi31026 = (PI31026)package;
                sb = new StringBuilder(Environment.NewLine);
                sb.Append("  最新上市指數  筆數: ").Append(pi31026.COUNT).Append(Environment.NewLine);
                for (int i = 0; i < pi31026.COUNT; i++)
                {
                    sb.Append(" [" + (i + 1) + "] ").Append(" 昨日收盤指數:").Append(pi31026.IDX[i].RefIndex);
                    sb.Append(" 開盤指數:").Append(pi31026.IDX[i].FirstIndex).Append(" 最新指數:").Append(pi31026.IDX[i].LastIndex);
                    sb.Append(" 最高指數:").Append(pi31026.IDX[i].DayHighIndex).Append(" 最低指數:").Append(pi31026.IDX[i].DayLowIndex).Append(Environment.NewLine);
                    sb.Append("==============================================");
                }
                AddInfo(sb.ToString());
                break;

            case (ushort)DT.QUOTE_LAST_INDEX2:      //上櫃最新指數查詢
                PI31026 pi32026 = (PI31026)package;
                sb = new StringBuilder(Environment.NewLine);
                sb.Append("  最新上櫃指數  筆數: ").Append(pi32026.COUNT).Append(Environment.NewLine);
                for (int i = 0; i < pi32026.COUNT; i++)
                {
                    sb.Append(" [" + (i + 1) + "] ").Append(" 昨日收盤指數:").Append(pi32026.IDX[i].RefIndex);
                    sb.Append(" 開盤指數:").Append(pi32026.IDX[i].FirstIndex).Append(" 最新指數:").Append(pi32026.IDX[i].LastIndex);
                    sb.Append(" 最高指數:").Append(pi32026.IDX[i].DayHighIndex).Append(" 最低指數:").Append(pi32026.IDX[i].DayLowIndex).Append(Environment.NewLine);
                    sb.Append("==============================================");
                }
                AddInfo(sb.ToString());
                break;

            case (ushort)DT.QUOTE_STOCK_AVGINDEX:      //加權平均指數 2014.8.6 ADD ;
                PI31022 pi31022 = (PI31022)package;
                sb = new StringBuilder(Environment.NewLine);
                sb.Append("加權平均指數[").Append(pi31022.IndexNo).Append("] 時間:").Append(pi31022.IndexTime);
                sb.Append("最新指數: ").Append(pi31022.LatestIndex).Append(Environment.NewLine);
                AddInfo(sb.ToString());
                break;
            }
        }
Example #36
0
        //***
        //===M

        private RebuildSolutionCommand(PackageBase package) : base(package, PackageIds.RebuildSolutionCommand)
        {
        }
Example #37
0
 public RestartVS(PackageBase package)
     : base(package)
 {
 }
Example #38
0
 public YAPaymentPay(PackageBase pb)
     : base(pb)
 {
 }
        //!!!

        public static void Instantiate(PackageBase package)
        => Instantiate(new TimeSaversOptionsCommand(package));
        //***
        //!!!

        private CloseSolutionCommand(PackageBase package) : base(package, PackageIds.CloseSolutionCommand)
        {
        }
Example #41
0
        //===M

        public static void Instantiate(PackageBase package)
        => Instantiate(new PathVariablesCommand(package));
        //!!!

        public static void Instantiate(PackageBase package)
        => Instantiate(new CloseSolutionCommand(package));
Example #43
0
 private ServiceHubLogCommand(PackageBase package) : base(package, PackageIds.ServiceHubLogCommand)
 {
 }
        //***
        //!!!

        private KeyboardOptionsCommand(PackageBase package) : base(package, PackageIds.KeyboardOptionsCommand)
        {
        }
Example #45
0
 /// <inheritdoc />
 /// <summary>
 ///     Initializes a new instance of the <see cref="T:Jfevia.ProductivityShell.Vsix.Commands.Project.ReloadCommand" />
 ///     class.
 /// </summary>
 /// <param name="package">The package.</param>
 private ReloadCommand(PackageBase package)
     : base(package, PackageCommands.ProjectReloadCommand)
 {
 }
        //!!!

        public static void Instantiate(PackageBase package)
        => Instantiate(new KeyboardOptionsCommand(package));
Example #47
0
 protected OtherCommand(PackageBase package, int id) : base(package, id)
 {
 }
Example #48
0
 // --------------------------------------------------------------------------------------------
 /// <summary>
 /// Carries out the actions expected.
 /// </summary>
 /// <param name="package">Package the action is used from</param>
 /// <param name="id">Command ID activating the action.</param>
 // --------------------------------------------------------------------------------------------
 public abstract void ExecuteAction(PackageBase package, CommandID id);