예제 #1
0
        public object done()
        {
            Action startJob_ = () =>
            {
                log.exceuteInContext = _done;
                log.show();
            };

            Action askFirm_ = () =>
            {
                string firms_ = CurrentVersion.ENV.getFirms();

                if (firms_ == string.Empty)
                {
                    startJob_.Invoke();
                }
                else
                {
                    List <string> lNr   = new List <string>();
                    List <string> lDesc = new List <string>();
                    string[]      arr_  = ToolString.explodeList(firms_);
                    //
                    for (int i = 0; i < arr_.Length; i += 2)
                    {
                        lNr.Add(arr_[i]);
                        lDesc.Add(arr_[i + 1]);
                    }
                    //

                    ToolMsg.askList(null, lDesc.ToArray(), (s, e) =>
                    {
                        int nr_ = XmlFormating.helper.parseInt(lNr[e.Which]);

                        int port_ = CurrentVersion.getPortByFirmNr(nr_);

                        CurrentVersion.ENV.setEnv(CurrentVersion.ENV.PORT, XmlFormating.helper.format(port_));

                        startJob_.Invoke();
                    }

                                    );
                }
            };

            ToolMsg.confirm(null, string.Format("{0} - {1}", MessageCollection.T_MSG_COMMIT_BEGIN, MessageCollection.T_MSG_DATA_RECEIVING), () =>
            {
                askFirm_();
                //log.exceuteInContext = _done;
                //log.show();
            }, null);


            return(null);
        }