internal List<string> ListProjects()
        {
            if (_projects != null)
                return _projects;

            XmlHelper req = new XmlHelper("<Request/>");
            req.AddElement(".", "Condition");
            req.AddElement("Condition", "Name", PROJECT_LIST_PS_NAME);
            Envelope evn = MainForm.LoginArgs.GreeningConnection.SendRequest("GetMySpace", new Envelope(req));
            XmlHelper rsp = new XmlHelper(evn.Body);

            _projects = new List<string>();

            if (rsp.GetElement("Space") == null)
            {
                req = new XmlHelper("<Request/>");
                req.AddElement(".", "Space");
                req.AddElement("Space", "Name", PROJECT_LIST_PS_NAME);
                XmlElement content = req.AddElement("Space", "Content");
                XmlCDataSection section = content.OwnerDocument.CreateCDataSection("<ProjectList/>");
                content.AppendChild(section);
                MainForm.LoginArgs.GreeningConnection.SendRequest("CreateSpace", new Envelope(req));
            }
            else
            {
                string content = rsp.GetText("Space/Content");
                XmlHelper h = new XmlHelper(content);

                foreach (XmlElement projectElement in h.GetElements("Project"))
                    _projects.Add(projectElement.GetAttribute("Name"));
            }
            return _projects;
        }
        internal void ExportPML(string filename)
        {
            XmlHelper  h = new XmlHelper("<Project/>");
            XmlElement e = h.GetElement(".");

            e.SetAttribute("Name", Project.Name);

            XmlElement udtElement = h.AddElement(".", "Property");

            udtElement.SetAttribute("Name", "UDT");
            XmlHelper udtHelper = new XmlHelper(udtElement);

            foreach (UDTTable table in MainForm.CurrentUDT.Tables)
            {
                udtHelper.AddElement(".", table.GetContent());
            }

            XmlElement udsElement = h.AddElement(".", "Property");

            udsElement.SetAttribute("Name", "UDS");
            XmlHelper udsHelper = new XmlHelper(udsElement);

            foreach (ContractHandler contract in MainForm.CurrentUDS.Contracts)
            {
                udsHelper.AddElement(".", contract.GetXml());
            }

            e.OwnerDocument.Save(filename);
        }
        public void Start()
        {
            int count = _recElements.Count;

            for (int batchNumber = 0; batchNumber < this.BatchCount; batchNumber++)
            {
                XmlHelper h = new XmlHelper(RequestContentElement);

                int start = batchNumber * this.Size;
                int end   = start + this.Size;
                if (end > count)
                {
                    end = count;
                }

                for (int i = start; i < end; i++)
                {
                    XmlElement rec = _recElements[i];
                    h.AddElement(".", rec);
                }

                Envelope  env = new Envelope(h);
                XmlHelper p   = new XmlHelper("<Parameter/>");
                p.AddElement(".", "BatchID", _batchID);
                p.AddElement(".", "BatchNumber", batchNumber.ToString());
                env.Headers.Add(p);

                BackgroundWorker w = new BackgroundWorker();
                w.DoWork             += new DoWorkEventHandler(w_DoWork);
                w.RunWorkerCompleted += new RunWorkerCompletedEventHandler(w_RunWorkerCompleted);
                w.RunWorkerAsync(env);
            }
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (txtModule.Text == _moduleURL && txtGreening.Text == _greeningURL)
            {
                this.Close();
                return;
            }
            DialogResult dr = MessageBox.Show("設定已變更, 儲存後必須重新啟動程式以套用新設定。\n是否儲存?", "問題", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (dr == System.Windows.Forms.DialogResult.Yes)
            {
                string path = Path.Combine(Environment.CurrentDirectory, "Setup.config");
                //if (File.Exists(path))
                //    File.Delete(path);

                XmlHelper h = new XmlHelper("<Setup/>");
                h.AddElement(".", "GreeningAccessPoint", txtGreening.Text);
                h.AddElement(".", "ModuleAccessPoint", txtModule.Text);
                h.GetElement(".").OwnerDocument.Save(path);

                if (SetupChanged != null)
                {
                    SetupChanged.Invoke(this, e);
                }
                else
                {
                    MessageBox.Show("儲存完畢", "完成", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

            this.Close();
        }
        public XmlElement Generate(XmlElement serviceDefinition)
        {
            ServiceEntity service = ServiceEntity.Parse(serviceDefinition);

            XmlHelper h = new XmlHelper("<Request/>");
            XmlElement reqElement = h.GetElement(".");
                        
            XmlElement recElement = h.AddElement(".", service.RequestRecordElement);
            XmlHelper recHelper = new XmlHelper(recElement);
            XmlElement fieldElement = recHelper.GetElement(".");
            if (!string.IsNullOrWhiteSpace(service.FieldList.Source))
                fieldElement = recHelper.AddElement(".", service.FieldList.Source);

            XmlHelper fieldHelper = new XmlHelper(fieldElement);
            List<Field> _requires = new List<Field>();
            List<Field> _notRequries = new List<Field>();

            foreach (Field field in service.FieldList.Fields)
            {
                if (field.SourceType != SourceType.Request) continue;
                if (field.AutoNumber) continue;

                if (field.InputType == IOType.Attribute)
                    fieldElement.SetAttribute(field.Source, string.Empty);
                else if (field.Required)
                    _requires.Add(field);
                else
                    _notRequries.Add(field);
            }

            if (_requires.Count > 0)
            {
                XmlNode node = reqElement.OwnerDocument.CreateComment("以下為必要欄位");
                fieldElement.AppendChild(node);

                foreach (Field field in _requires)
                {
                    string value = string.Empty;
                    if (field.InputType == IOType.Xml)
                        value = "xml";
                    fieldHelper.AddElement(".", field.Source, value);
                }
            }

            if (_notRequries.Count > 0)
            {
                XmlNode node = reqElement.OwnerDocument.CreateComment("以下為非必要欄位");
                fieldElement.AppendChild(node);

                foreach (Field field in _notRequries)
                {
                    string value = string.Empty;
                    if (field.InputType == IOType.Xml)
                        value = "xml";
                    fieldHelper.AddElement(".", field.Source, value);
                }
            }
           
            return reqElement;
        }
Esempio n. 6
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                MainForm.DefaultDevSite.User         = txtUser.Text;
                MainForm.DefaultDevSite.Password     = txtPassword.Text;
                MainForm.DefaultDevSite.AccessPoint  = txtAP.Text;
                MainForm.DefaultDevSite.ContractName = cboContract.Text;

                XmlHelper apXml = new XmlHelper("<AppContent/>");
                apXml.AddElement(".", "AccessPoint", txtAP.Text);
                apXml.AddElement(".", "ContractName", cboContract.Text);
                apXml.AddElement(".", "User", txtUser.Text);
                apXml.AddElement(".", "Password", txtPassword.Text);

                MainForm.Storage.SetPropertyXml("DevLoginAP", txtAP.Text, apXml.GetElement("."));
                MainForm.Storage.SetProperty("DevLastLoginAP", txtAP.Text);
                MainForm.Storage.SetProperty("DevLastLoginContract", cboContract.Text);
                MainForm.Storage.SetProperty("DevLastLoginName", txtUser.Text);
                MainForm.Storage.SetProperty("DevLastLoginPassword", txtPassword.Text);
                MainForm.Storage.SetProperty("DevAutoLogin", chkAutoLogin.Checked.ToString().ToLower());

                MainForm.LoginArgs.StaticPreference = apXml.GetElement(".");;

                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                MainForm.DefaultDevSite.User = txtUser.Text;
                MainForm.DefaultDevSite.Password = txtPassword.Text;
                MainForm.DefaultDevSite.AccessPoint = txtAP.Text;
                MainForm.DefaultDevSite.ContractName = cboContract.Text;

                XmlHelper apXml = new XmlHelper("<AppContent/>");
                apXml.AddElement(".", "AccessPoint", txtAP.Text);
                apXml.AddElement(".", "ContractName", cboContract.Text);
                apXml.AddElement(".", "User", txtUser.Text);
                apXml.AddElement(".", "Password", txtPassword.Text);

                MainForm.Storage.SetPropertyXml("DevLoginAP", txtAP.Text, apXml.GetElement("."));
                MainForm.Storage.SetProperty("DevLastLoginAP", txtAP.Text);
                MainForm.Storage.SetProperty("DevLastLoginContract", cboContract.Text);
                MainForm.Storage.SetProperty("DevLastLoginName", txtUser.Text);
                MainForm.Storage.SetProperty("DevLastLoginPassword", txtPassword.Text);
                MainForm.Storage.SetProperty("DevAutoLogin", chkAutoLogin.Checked.ToString().ToLower());
                
                MainForm.LoginArgs.StaticPreference = apXml.GetElement("."); ;

                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        public void Start()
        {
            int count = _recElements.Count;
           
            for (int batchNumber = 0; batchNumber < this.BatchCount; batchNumber++)
            {
                XmlHelper h = new XmlHelper(RequestContentElement);

                int start = batchNumber * this.Size;
                int end = start + this.Size;
                if (end > count)
                    end = count;

                for (int i = start; i < end; i++)
                {                
                    XmlElement rec = _recElements[i];
                    h.AddElement(".", rec);                    
                }

                Envelope env = new Envelope(h);
                XmlHelper p = new XmlHelper("<Parameter/>");
                p.AddElement(".", "BatchID", _batchID);
                p.AddElement(".", "BatchNumber", batchNumber.ToString());
                env.Headers.Add(p);

                BackgroundWorker w = new BackgroundWorker();
                w.DoWork += new DoWorkEventHandler(w_DoWork);
                w.RunWorkerCompleted += new RunWorkerCompletedEventHandler(w_RunWorkerCompleted);
                w.RunWorkerAsync(env);
            }
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (txtModule.Text == _moduleURL && txtGreening.Text == _greeningURL)
            {
                this.Close();
                return;
            }
            DialogResult dr = MessageBox.Show("設定已變更, 儲存後必須重新啟動程式以套用新設定。\n是否儲存?", "問題", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
            if (dr == System.Windows.Forms.DialogResult.Yes)
            {
                string path = Path.Combine(Environment.CurrentDirectory, "Setup.config");
                //if (File.Exists(path))
                //    File.Delete(path);

                XmlHelper h = new XmlHelper("<Setup/>");
                h.AddElement(".", "GreeningAccessPoint", txtGreening.Text);
                h.AddElement(".", "ModuleAccessPoint", txtModule.Text);
                h.GetElement(".").OwnerDocument.Save(path);

                if (SetupChanged != null)
                    SetupChanged.Invoke(this, e);
                else
                    MessageBox.Show("儲存完畢", "完成", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            this.Close();
        }
Esempio n. 10
0
        internal ContractHandler AddContract(string ContractName, ExtendType extend)
        {
            XmlHelper req = new XmlHelper("<Request/>");
            req.AddElement(".", "ContractName", ContractName);

            req.AddElement(".", "Definition");
            XmlElement authElement = req.AddElement("Definition", "Authentication");

            if (extend == ExtendType.open)
            {
                XmlElement e = req.AddElement("Definition/Authentication", "Public");
                e.SetAttribute("Enabled", "true");
            }
            else
            {
                if (extend != ExtendType.none && extend != ExtendType.open)
                    authElement.SetAttribute("Extends", extend.ToString());
            }

            Parent.SendRequest("UDSManagerService.CreateContract", new Envelope(req));

            ContractHandler contract = ContractHandler.CreateNew(ContractName, extend);
            JoinProject(contract);
            return contract;
        }
Esempio n. 11
0
        internal ContractHandler AddContract(string ContractName, ExtendType extend)
        {
            XmlHelper req = new XmlHelper("<Request/>");

            req.AddElement(".", "ContractName", ContractName);

            req.AddElement(".", "Definition");
            XmlElement authElement = req.AddElement("Definition", "Authentication");

            if (extend == ExtendType.open)
            {
                XmlElement e = req.AddElement("Definition/Authentication", "Public");
                e.SetAttribute("Enabled", "true");
            }
            else
            {
                if (extend != ExtendType.none && extend != ExtendType.open)
                {
                    authElement.SetAttribute("Extends", extend.ToString());
                }
            }

            Parent.SendRequest("UDSManagerService.CreateContract", new Envelope(req));

            ContractHandler contract = ContractHandler.CreateNew(ContractName, extend);

            JoinProject(contract);
            return(contract);
        }
Esempio n. 12
0
        public System.Xml.XmlElement Generate(XmlElement serviceDefinition)
        {
            ServiceEntity service = ServiceEntity.Parse(serviceDefinition);

            XmlHelper  h2 = new XmlHelper("<Request/>");
            XmlElement e  = h2.AddElement(".", service.RequestRecordElement);
            XmlHelper  h  = new XmlHelper(e);

            XmlElement reqElement = h.GetElement(".");

            XmlElement conditionElement = h.GetElement(".");

            if (!string.IsNullOrWhiteSpace(service.ConditionList.Source))
            {
                conditionElement = h.AddElement(".", service.ConditionList.Source);
            }

            XmlHelper        conditionHelper = new XmlHelper(conditionElement);
            List <Condition> _requires       = new List <Condition>();
            List <Condition> _notRequires    = new List <Condition>();

            foreach (Condition condition in service.ConditionList.Conditions)
            {
                if (condition.SourceType != SourceType.Request)
                {
                    continue;
                }
                if (condition.Required)
                {
                    _requires.Add(condition);
                }
                else
                {
                    _notRequires.Add(condition);
                }
            }

            if (_requires.Count > 0)
            {
                XmlNode comment = conditionElement.OwnerDocument.CreateComment("以下為必要條件");
                conditionElement.AppendChild(comment);

                foreach (Condition con in _requires)
                {
                    conditionHelper.AddElement(".", con.Source);
                }
            }

            if (_notRequires.Count > 0)
            {
                XmlNode comment = conditionElement.OwnerDocument.CreateComment("以下為非必要條件");
                conditionElement.AppendChild(comment);

                foreach (Condition con in _notRequires)
                {
                    conditionHelper.AddElement(".", con.Source);
                }
            }
            return(h2.GetElement("."));
        }
Esempio n. 13
0
        internal void UpdateProjectPreference(XmlElement pref)
        {
            if (MainForm.CurrentProject == null)
            {
                lockObject = new object();
            }
            else
            {
                lockObject = MainForm.CurrentProject;
            }

            lock (lockObject)
            {
                string    psName = PROJECT_PS_PREFIX + Name;
                XmlHelper req    = new XmlHelper("<Request/>");
                req.AddElement(".", "Space");
                req.AddElement("Space", "Name", psName);
                XmlElement      content = req.AddElement("Space", "Content");
                XmlCDataSection section = content.OwnerDocument.CreateCDataSection(pref.OuterXml);
                content.AppendChild(section);

                MainForm.LoginArgs.GreeningConnection.SendRequest("UpdateSpace", new Envelope(req));
                this.Preference = pref;
            }
        }
        public XmlElement GetResult()
        {
            //TODO
            XmlHelper h = new XmlHelper("<Definition />");

            h.SetAttribute(".", "Type", "DBHelper");
            h.AddElement(".", "Action", ServiceAction.Delete.ToString());

            XmlElement      sqlTmp  = h.AddElement(".", "SQLTemplate");
            XmlCDataSection section = sqlTmp.OwnerDocument.CreateCDataSection(this.txtSQLTemplate.Text);

            sqlTmp.AppendChild(section);

            h.AddElement(".", "RequestRecordElement", txtRequestElement.Text);

            ConditionList conditions = new ConditionList(this.txtConditionName.Text, this.txtConditionSource.Text, chkRequired.Checked);

            foreach (DataGridViewRow row in this.dgConditions.Rows)
            {
                Condition condition = Condition.Parse(row);
                conditions.Conditions.Add(condition);
            }
            h.AddElement(".", conditions.GetXml());

            if (this.Service.Variables.Count > 0)
            {
                XmlElement varElement = h.AddElement(".", "InternalVariable");
                foreach (IVariable v in this.Service.Variables)
                {
                    h.AddElement("InternalVariable", v.GetXml());
                }
            }

            if (this.Service.Converters.Count > 0)
            {
                XmlElement cvElement = h.AddElement(".", "Converters");
                foreach (IConverter c in this.Service.Converters)
                {
                    h.AddElement("Converters", c.Output());
                }
            }

            if (this.dgProcessor.Rows.Count > 0)
            {
                XmlElement proElement = h.AddElement(".", "Preprocesses");
                foreach (DataGridViewRow row in this.dgProcessor.Rows)
                {
                    Preprocess pp = row.Tag as Preprocess;
                    if (pp == null)
                    {
                        continue;
                    }

                    h.AddElement("Preprocesses", pp.GetXml());
                }
            }
            return(h.GetElement("."));
        }
Esempio n. 15
0
        private void toolStrip1_EndDrag(object sender, EventArgs e)
        {
            XmlHelper h = new XmlHelper("<Control/>");

            h.SetAttribute(".", "Name", toolStrip1.Name);
            h.AddElement(".", "X", toolStrip1.Location.X.ToString());
            h.AddElement(".", "Y", toolStrip1.Location.Y.ToString());
            MainForm.Storage.SetPropertyXml(toolStrip1.Name, "Location", h.GetElement("."));
        }
Esempio n. 16
0
        public static void AddService(string contractName, string packageName, ServiceEntity service)
        {
            XmlHelper req = new XmlHelper();

            req.AddElement(".", "ContractName", contractName);
            req.AddElement(".", "PackageName", packageName);
            req.AddElement(".", service.GetServiceXml());

            MainForm.CurrentProject.SendRequest("UDSManagerService.CreateService", new Envelope(req));
        }
 private void btnOK_Click(object sender, EventArgs e)
 {
     XmlHelper h = new XmlHelper();
     h.AddElement(".", "UsePassport", rbPassport.Checked.ToString());
     h.AddElement(".", "User", txtUser.Text);
     h.AddElement(".", "Password", txtPwd.Text);
     h.AddElement(".", "Auth", txtProvider.Text);
     MainForm.Storage.SetPropertyXml("ServiceTestTemp", _contractUniqName, h.GetElement("."));
     this.Hide();
 }
Esempio n. 18
0
        public static void Rename(string contractName, string packageName, string serviceName, string newName)
        {
            XmlHelper req = new XmlHelper();
            req.AddElement(".", "ContractName", contractName);
            req.AddElement(".", "PackageName", packageName);
            req.AddElement(".", "ServiceName", serviceName);
            req.AddElement(".", "NewServiceName", newName);

            MainForm.CurrentProject.SendRequest("UDSManagerService.RenameService", new Envelope(req));
        }
Esempio n. 19
0
        public static void AddService(string contractName, string packageName, ServiceEntity service)
        {
            XmlHelper req = new XmlHelper();
            req.AddElement(".", "ContractName", contractName);
            req.AddElement(".", "PackageName", packageName);
            req.AddElement(".", service.GetServiceXml());
         
            MainForm.CurrentProject.SendRequest("UDSManagerService.CreateService", new Envelope(req));

        }
Esempio n. 20
0
        public static void SetDefinition(string contractName, string packageName, string serviceName, XmlElement definition)
        {
            XmlHelper req = new XmlHelper();
            req.AddElement(".", "ContractName", contractName);
            req.AddElement(".", "PackageName", packageName);
            req.AddElement(".", "ServiceName", serviceName);
            req.AddElement(".", definition);

            MainForm.CurrentProject.SendRequest("UDSManagerService.SetServiceDefinition", new Envelope(req));
        }
Esempio n. 21
0
        public static void SetDefinition(string contractName, string packageName, string serviceName, XmlElement definition)
        {
            XmlHelper req = new XmlHelper();

            req.AddElement(".", "ContractName", contractName);
            req.AddElement(".", "PackageName", packageName);
            req.AddElement(".", "ServiceName", serviceName);
            req.AddElement(".", definition);

            MainForm.CurrentProject.SendRequest("UDSManagerService.SetServiceDefinition", new Envelope(req));
        }
Esempio n. 22
0
        public static XmlElement GetRawService(string contractName, string packageName, string serviceName)
        {
            XmlHelper req = new XmlHelper();
            req.AddElement(".", "ContractName", contractName);
            req.AddElement(".", "PackageName", packageName);
            req.AddElement(".", "ServiceName", serviceName);

            Envelope env = MainForm.CurrentProject.SendRequest("UDSManagerService.GetServiceDefinition", new Envelope(req));
            XmlHelper rsp = new XmlHelper(env.Body);
            return rsp.GetElement(".");
        }
        internal PackageHandler AddPackage(string packageName)
        {
            XmlHelper req = new XmlHelper("<Request/>");
            req.AddElement(".", "ContractName", this.Name);
            req.AddElement(".", "PackageName", packageName);
            MainForm.CurrentProject.SendRequest("UDSManagerService.CreatePackage", new Envelope(req));

            PackageHandler ph = PackageHandler.CreateNew(this, packageName);
            _packages.Add(ph);
            return ph;
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            XmlHelper h = new XmlHelper();

            h.AddElement(".", "UsePassport", rbPassport.Checked.ToString());
            h.AddElement(".", "User", txtUser.Text);
            h.AddElement(".", "Password", txtPwd.Text);
            h.AddElement(".", "Auth", txtProvider.Text);
            MainForm.Storage.SetPropertyXml("ServiceTestTemp", _contractUniqName, h.GetElement("."));
            this.Hide();
        }
Esempio n. 25
0
        public static void Rename(string contractName, string packageName, string serviceName, string newName)
        {
            XmlHelper req = new XmlHelper();

            req.AddElement(".", "ContractName", contractName);
            req.AddElement(".", "PackageName", packageName);
            req.AddElement(".", "ServiceName", serviceName);
            req.AddElement(".", "NewServiceName", newName);

            MainForm.CurrentProject.SendRequest("UDSManagerService.RenameService", new Envelope(req));
        }
        public XmlElement GetSample()
        {
            XmlHelper h = new XmlHelper("<Converter />");
            h.SetAttribute(".", "Name", this.Name);
            h.SetAttribute(".", "Type", this.Type);

            h.AddElement(".", "InputFormat", DefaultInputFormat);
            h.AddElement(".", "OutputFormat", DefaultOutputFormat);

            return h.GetElement(".");
        }
Esempio n. 27
0
        public XmlElement GetSample()
        {
            XmlHelper h = new XmlHelper("<Converter />");

            h.SetAttribute(".", "Name", this.Name);
            h.SetAttribute(".", "Type", this.Type);

            h.AddElement(".", "InputFormat", DefaultInputFormat);
            h.AddElement(".", "OutputFormat", DefaultOutputFormat);

            return(h.GetElement("."));
        }
        internal void DeleteService(string serviceName)
        {
            XmlHelper req = new XmlHelper();

            req.AddElement(".", "ContractName", this.Contract.Name);
            req.AddElement(".", "PackageName", this.Name);
            req.AddElement(".", "ServiceName", serviceName);

            MainForm.CurrentProject.SendRequest("UDSManagerService.DeleteService", new Envelope(req));

            this.Services.Remove(serviceName);
        }
        public XmlElement GetSample()
        {
            XmlHelper h = new XmlHelper("<Converter />");
            h.SetAttribute(".", "Name", this.Name);
            h.SetAttribute(".", "Type", this.Type);

            XmlElement e = h.AddElement(".", "Item", "return_value");
            e.SetAttribute("If", "get_value");

            h.AddElement(".", "Default", "no_match_default_value");

            return h.GetElement(".");
        }
Esempio n. 30
0
        internal PackageHandler AddPackage(string packageName)
        {
            XmlHelper req = new XmlHelper("<Request/>");

            req.AddElement(".", "ContractName", this.Name);
            req.AddElement(".", "PackageName", packageName);
            MainForm.CurrentProject.SendRequest("UDSManagerService.CreatePackage", new Envelope(req));

            PackageHandler ph = PackageHandler.CreateNew(this, packageName);

            _packages.Add(ph);
            return(ph);
        }
Esempio n. 31
0
        public static XmlElement GetRawService(string contractName, string packageName, string serviceName)
        {
            XmlHelper req = new XmlHelper();

            req.AddElement(".", "ContractName", contractName);
            req.AddElement(".", "PackageName", packageName);
            req.AddElement(".", "ServiceName", serviceName);

            Envelope  env = MainForm.CurrentProject.SendRequest("UDSManagerService.GetServiceDefinition", new Envelope(req));
            XmlHelper rsp = new XmlHelper(env.Body);

            return(rsp.GetElement("."));
        }
        internal void Rename(string newName)
        {
            XmlHelper req = new XmlHelper("<Request/>");
            req.AddElement(".", "ContractName", this.Contract.Name);
            req.AddElement(".", "PackageName", this.Name);
            req.AddElement(".", "NewPackageName", newName);
            MainForm.CurrentProject.SendRequest("UDSManagerService.RenamePackage", new Envelope(req));

            this.Name = newName;

            if (Renamed != null)
                Renamed.Invoke(this, EventArgs.Empty);
        }
        internal void DeletePath(string path)
        {
            XmlHelper content = new XmlHelper();

            content.AddElement(".", "ModuleName", this.Name);
            content.AddElement(".", "FilePath", path);

            Envelope req = new Envelope(content);

            MainForm.LoginArgs.SendModuleRequest("DeletePath", req);

            this.Reload();
        }
        public System.Xml.XmlElement Generate(XmlElement serviceDefinition)
        {
            ServiceEntity service = ServiceEntity.Parse(serviceDefinition);

            XmlHelper h2 = new XmlHelper("<Request/>");
            XmlElement e = h2.AddElement(".", service.RequestRecordElement);
            XmlHelper h = new XmlHelper(e);

            XmlElement reqElement = h.GetElement(".");
            
            XmlElement conditionElement = h.GetElement(".");
            if (!string.IsNullOrWhiteSpace(service.ConditionList.Source))
                conditionElement = h.AddElement(".", service.ConditionList.Source);

            XmlHelper conditionHelper = new XmlHelper(conditionElement);
            List<Condition> _requires = new List<Condition>();
            List<Condition> _notRequires = new List<Condition>();

            foreach (Condition condition in service.ConditionList.Conditions)
            {
                if (condition.SourceType != SourceType.Request) continue;
                if (condition.Required)
                    _requires.Add(condition);
                else
                    _notRequires.Add(condition);
            }

            if (_requires.Count > 0)
            {
                XmlNode comment = conditionElement.OwnerDocument.CreateComment("以下為必要條件");
                conditionElement.AppendChild(comment);

                foreach (Condition con in _requires)
                {
                    conditionHelper.AddElement(".", con.Source);
                }
            }

            if (_notRequires.Count > 0)
            {
                XmlNode comment = conditionElement.OwnerDocument.CreateComment("以下為非必要條件");
                conditionElement.AppendChild(comment);

                foreach (Condition con in _notRequires)
                {
                    conditionHelper.AddElement(".", con.Source);
                }
            }          
            return h2.GetElement(".");
        }
        //public XmlElement Preference
        //{
        //    get { return this.GetPreference(LoginEventArgs.UniqName); }
        //    set { this.SetPreference(LoginEventArgs.UniqName, value); }
        //}
          
        private XmlElement GetPreference(string instanceKey)
        {
            XmlHelper h = new XmlHelper();
            h.AddElement(".", "WidgetKey", WIDGET_KEY);
            h.AddElement(".", "InstanceKey", instanceKey);
            Envelope env = new Envelope(h);
            env = this.GreeningConnection.SendRequest("GetMyWidgetPreference", env);

            h = new XmlHelper(env.Body);
            string content = h.GetText("WidgetPreference/Content");
            if (string.IsNullOrWhiteSpace(content))
                return null;
            return XmlHelper.ParseAsDOM(content);
        }
Esempio n. 36
0
        internal XmlElement GetResultXml()
        {
            XmlHelper h = new XmlHelper("<ProxySite />");

            h.SetAttribute(".", "Name", txtSiteName.Text);
            h.AddElement(".", "AccessPoint", txtAccessPoint.Text);
            h.AddElement(".", "Contract", txtContract.Text);
            h.AddElement(".", "Authentication");

            if (rbBasic.Checked)
            {
                h.SetAttribute("Authentication", "Type", "Basic");
                h.AddElement("Authentication", "UserName", txtBasicAccount.Text);
                h.AddElement("Authentication", "Password", txtBasicPassword.Text);
            }
            else
            {
                h.SetAttribute("Authentication", "Type", "Passport");
                h.AddElement("Authentication", "Issuer", txtIssuer.Text);
                h.AddElement("Authentication", "UserName", txtIssuerAccount.Text);
                h.AddElement("Authentication", "Password", txtIssuerPassword.Text);
            }

            return(h.GetElement("."));
        }
Esempio n. 37
0
        public XmlElement GetSample()
        {
            XmlHelper h = new XmlHelper("<Converter />");

            h.SetAttribute(".", "Name", this.Name);
            h.SetAttribute(".", "Type", this.Type);

            XmlElement e = h.AddElement(".", "Item", "return_value");

            e.SetAttribute("If", "get_value");

            h.AddElement(".", "Default", "no_match_default_value");

            return(h.GetElement("."));
        }
Esempio n. 38
0
        internal void SetDefinition(XmlElement xmlElement, object saver)
        {
            XmlHelper req = new XmlHelper("<Request/>");

            req.AddElement(".", "ContractName", this.Name);
            req.AddElement(".", xmlElement);

            MainForm.CurrentProject.SendRequest("UDSManagerService.SetContractDefinition", new Envelope(req));
            this.InitDefinition(xmlElement);

            if (Saved != null)
            {
                Saved.Invoke(saver, EventArgs.Empty);
            }
        }
        internal static void Deploy(XmlElement siteElement, string url)
        {
            Connection connection = DeployConnect(siteElement);
            Envelope   rsp        = connection.SendRequest("UDMService.ListModules", new Envelope());
            XmlHelper  rspHelper  = new XmlHelper(rsp.Body);

            string projectName = MainForm.CurrentProject.Name;
            bool   contains    = false;

            foreach (XmlElement nameElement in rspHelper.GetElements("Module/Name"))
            {
                string name = nameElement.InnerText;
                if (name == projectName)
                {
                    contains = true;
                    break;
                }
            }

            if (contains)
            {
                XmlHelper h = new XmlHelper("<Request/>");
                h.AddElement(".", "ModuleName", projectName);
                connection.SendRequest("UDMService.UpdateModule", new Envelope(h));
                //rspHelper = new XmlHelper(rsp.Body);
            }
            else
            {
                XmlHelper h = new XmlHelper("<Request/>");
                h.AddElement(".", "URL", url);

                connection.SendRequest("UDMService.ForceRegistry", new Envelope(h));
            }
        }
        private void SavePreference()
        {
            XmlElement pref = _project.Preference;

            foreach (XmlNode node in pref.SelectNodes("Property[@Name='ProxyDeploy']"))
            {
                pref.RemoveChild(node);
            }

            XmlHelper  h = new XmlHelper(pref);
            XmlElement p = h.AddElement(".", "Property");

            p.SetAttribute("Name", "ProxyDeploy");

            XmlHelper ph = new XmlHelper(p);

            foreach (DataGridViewRow row in dgSites.Rows)
            {
                if (row.IsNewRow)
                {
                    continue;
                }

                XmlElement t = row.Tag as XmlElement;
                if (t == null)
                {
                    continue;
                }

                ph.AddElement(".", t);
            }

            _project.UpdateProjectPreference(pref);
        }
        private void ImportFromSite()
        {
            err.Clear();
            if (string.IsNullOrWhiteSpace(txtAccessPoint.Text))
            {
                err.SetError(txtAccessPoint, "主機位置不可空白");
                return;
            }

            Connection connection = new Connection();

            connection.EnableSecureTunnel = true;
            try
            {
                connection.Connect(txtAccessPoint.Text, txtContract.Text, txtUserName.Text, txtPassword.Text);
            }
            catch (Exception ex)
            {
                err.SetError(txtAccessPoint, "主機連線失敗 : \n" + ex.Message);
                return;
            }

            XmlHelper h = new XmlHelper();

            h.AddElement(".", "ApplicationName", "shared");
            Envelope env = new Envelope(h);

            env = connection.SendRequest("Server.ExportApplication", env);
            h   = new XmlHelper(env.Body);
            Console.WriteLine(h.XmlString);
            this.Import(h.GetElement("."));
        }
        internal void Rename(string newName)
        {
            XmlHelper req = new XmlHelper("<Request/>");

            req.AddElement(".", "ContractName", this.Contract.Name);
            req.AddElement(".", "PackageName", this.Name);
            req.AddElement(".", "NewPackageName", newName);
            MainForm.CurrentProject.SendRequest("UDSManagerService.RenamePackage", new Envelope(req));

            this.Name = newName;

            if (Renamed != null)
            {
                Renamed.Invoke(this, EventArgs.Empty);
            }
        }
Esempio n. 43
0
        internal void DropTable(string tableName)
        {
            tableName = tableName.ToLower();

            UDTTable targetTable = null;

            foreach (UDTTable table in Tables)
            {
                if (string.Equals(table.Name, tableName, StringComparison.CurrentCultureIgnoreCase))
                {
                    targetTable = table;
                    break;
                }
            }
            //原本這段是要限制僅能刪除專案內的資料表, 但之後不限制了, 故註解
            //if (targetTable == null) return;

            XmlHelper req = new XmlHelper("<Request/>");

            req.AddElement(".", "TableName", tableName);
            Parent.SendRequest("UDTService.DDL.DropTable", new Envelope(req));

            if (targetTable != null)
            {
                LeaveProject(targetTable);
            }
        }
Esempio n. 44
0
        private static void SaveEntityStaticData(string folder, Entity item, List <string> generatedFileList)
        {
            var f = Path.Combine(folder, item.Name + ".staticdata.xml");

            if (item.StaticDatum.Count == 0)
            {
                return;
            }

            var document = new XmlDocument();

            document.LoadXml(@"<configuration type=""entity.staticdata"" id=""" + item.Id + @"""></configuration>");

            XmlHelper.AddLineBreak((XmlElement)document.DocumentElement);
            foreach (var data in item.StaticDatum)
            {
                var dataNode = XmlHelper.AddElement(document.DocumentElement, "data");

                XmlHelper.AddAttribute(dataNode, "columnkey", data.ColumnKey);
                XmlHelper.AddAttribute(dataNode, "value", data.Value);
                XmlHelper.AddAttribute(dataNode, "orderkey", data.OrderKey);
                XmlHelper.AddLineBreak((XmlElement)document.DocumentElement);
            }

            WriteFileIfNeedBe(f, document.ToIndentedString(), generatedFileList);
        }
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (rbAll.Checked)
            {
                XmlHelper sh = new XmlHelper();
                XmlHelper th = new XmlHelper();

                Parallel.ForEach(MainForm.CurrentUDS.Contracts, contract =>
                {
                    sh.AddElement(".", "ContractName", contract.Name);
                });
                
                Parallel.ForEach(MainForm.CurrentUDT.Tables, table =>
                {
                    th.AddElement(".", "TableName", table.Name);
                });

                try
                {
                    _project.SendRequest("UDSManagerService.DeleteContracts", new Envelope(sh));
                }
                catch { }
                try
                {
                    _project.SendRequest("UDTService.DDL.DropTables", new Envelope(th));
                }
                catch { }
            }

            MainForm.Projects.RemoveProject(_project.Name);            
            this.Close();
        }
Esempio n. 46
0
        public void Save()
        {
            if (!Valid)
            {
                return;
            }

            IContractEditor edit = Editor as IContractEditor;

            edit.Save();

            IResultGetter result      = Editor as IResultGetter;
            XmlElement    authElement = result.GetAuthElement();

            XmlHelper h = new XmlHelper("<Definition/>");

            h.AddElement(".", authElement);

            try
            {
                Contract.SetDefinition(h.GetElement("."), _owner);

                MessageBox.Show("儲存完畢!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show("儲存失敗!" + ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 47
0
        private static void SaveDiagramFiles(string rootFolder, nHydrateDiagram diagram)
        {
            var fileName = Path.Combine(rootFolder, "diagram.xml");
            var document = new XmlDocument();

            document.LoadXml(@"<configuration type=""diagram""></configuration>");
            foreach (var shape in diagram.NestedChildShapes)
            {
                if (shape is EntityShape)
                {
                    var item = ((shape as EntityShape).ModelElement as Entity);
                    var node = XmlHelper.AddElement(document.DocumentElement, "element");
                    node.AddAttribute("id", shape.ModelElement.Id);
                    node.AddAttribute("bounds", shape.AbsoluteBoundingBox.ToXmlValue());
                }
                else if (shape is ViewShape)
                {
                    var item = ((shape as ViewShape).ModelElement as View);
                    var node = XmlHelper.AddElement(document.DocumentElement, "element");
                    node.AddAttribute("id", shape.ModelElement.Id);
                    node.AddAttribute("bounds", shape.AbsoluteBoundingBox.ToXmlValue());
                }
            }
            document.Save(fileName);
        }
Esempio n. 48
0
        internal void SetProperty(string propertyName, string value)
        {
            if (value == null)
            {
                value = string.Empty;
            }

            XmlHelper  h       = this.Storage;
            XmlElement element = h.GetElement("Property[@Name='" + propertyName + "']");

            if (element == null)
            {
                element = h.AddElement(".", "Property", value);
                element.SetAttribute("Name", propertyName);
            }
            else
            {
                element.InnerText = value;
            }
            byte[] bs = Encoding.UTF8.GetBytes(h.XmlString);
            bs = ProtectedData.Protect(bs, EncryptoKey, DataProtectionScope.CurrentUser);
            string text = Convert.ToBase64String(bs);

            File.WriteAllText(LocalPath, text);
        }
 public System.Xml.XmlElement GetAuthElement()
 {
     XmlHelper h = new XmlHelper("<Authentication />");
     h.AddElement(".", "Public");
     h.SetAttribute("Public", "Enabled", "true");
     return h.GetElement(".");
 }
        private void LoadServices()
        {
            _service = new List<string>();

            XmlHelper req = new XmlHelper();
            req.AddElement(".", "ContractName", this.Contract.Name);
            req.AddElement(".", "PackageName", this.Name);

            Envelope env = MainForm.CurrentProject.SendRequest("UDSManagerService.ExportPackage", new Envelope(req));
            XmlHelper rsp = new XmlHelper(env.Body);

            foreach (XmlElement each in rsp.GetElements("Service"))
            {
                string serviceName = each.GetAttribute("Name");
                _service.Add(serviceName);
            }
        }
        public XmlElement Output()
        {
            XmlHelper h = new XmlHelper("<Converter />");
            h.SetAttribute(".", "Name", this.Name);
            h.SetAttribute(".", "Type", this.Type);
            
            foreach(string key in Map.Keys)
            {
                XmlElement e = h.AddElement(".", "Item", Map[key]);
                e.SetAttribute("If", key);
            }

            if(DefaultValue != null)
                h.AddElement(".", "Default", this.DefaultValue);

            return h.GetElement(".");
        }
        private void SetPreference(string instanceKey, XmlElement value)
        {
            XmlHelper h = new XmlHelper();
            h.AddElement(".", "WidgetPreference");
            h.AddElement("WidgetPreference", "WidgetKey", WIDGET_KEY);
            h.AddElement("WidgetPreference", "InstanceKey", instanceKey);
            XmlElement content = h.AddElement("WidgetPreference", "Content");
            XmlCDataSection section = content.OwnerDocument.CreateCDataSection(value.OuterXml);
            content.AppendChild(section);

            Envelope env = new Envelope(h);

            if (this.GetPreference(instanceKey) == null)
                this.GreeningConnection.SendRequest("AddWidgetPreference", env);
            else
                this.GreeningConnection.SendRequest("UpdateWidgetPreference", env);
        }
        internal void Rename(string newName)
        {
            XmlHelper req = new XmlHelper("<Request/>");
            req.AddElement(".", "ContractName", this.Name);
            req.AddElement(".", "NewContractName", newName);
            MainForm.CurrentProject.SendRequest("UDSManagerService.RenameContract", new Envelope(req));

            XmlHelper pref = new XmlHelper(MainForm.CurrentProject.Preference);
            XmlElement e = pref.GetElement("Property[@Name='UDS']/Contract[@Name='" + this.Name + "']");
            e.SetAttribute("Name", newName);
            MainForm.CurrentProject.UpdateProjectPreference(pref.GetElement("."));

            this.Name = newName;

            if (Renamed != null)
                Renamed.Invoke(this, EventArgs.Empty);
        }
 public XmlElement Output()
 {
     XmlHelper h = new XmlHelper("<Converter />");
     h.SetAttribute(".", "Name", this.Name);
     h.SetAttribute(".", "Type", this.Type);
     h.AddElement(".", "Key", this.Key);
     return h.GetElement(".");
 }
Esempio n. 55
0
        internal void DeleteContract(string contractName)
        {
            XmlHelper h = new XmlHelper();
            h.AddElement(".", "ContractName", contractName);

            Parent.SendRequest("UDSManagerService.DeleteContract", new Envelope(h));

            LeaveProject(contractName);
        }
Esempio n. 56
0
        internal void Rename(string newName)
        {
            newName = newName.ToLower();
            XmlHelper req = new XmlHelper("<Request/>");
            req.AddElement(".", "TableName", this.Name);
            req.AddElement(".", "NewName", newName);
            MainForm.CurrentProject.SendRequest("UDTService.DDL.RenameTable", new Envelope(req));

            XmlHelper pref = new XmlHelper(MainForm.CurrentProject.Preference);
            XmlElement e = pref.GetElement("Property[@Name='UDT']/UDT[@Name='" + this.Name + "']");
            e.SetAttribute("Name", newName);
            MainForm.CurrentProject.UpdateProjectPreference(pref.GetElement("."));

            this.Name = newName;

            if (Renamed != null)
                Renamed.Invoke(this, EventArgs.Empty);
        }
        public XmlElement GetSample()
        {
            XmlHelper h = new XmlHelper("<Converter />");
            h.SetAttribute(".", "Name", this.Name);
            h.SetAttribute(".", "Type", this.Type);

            h.AddElement(".", "Key", "decode_key");

            return h.GetElement(".");
        }
        private void EditAllCmdForm_Load(object sender, EventArgs e)
        {
            XmlHelper h = new XmlHelper("<UDT/>");

            foreach (DataGridViewRow row in _dgView.Rows)
            {
                 IUDTCommand cmd = row.Tag as IUDTCommand;
                 h.AddElement(".", cmd.Result);
            }
            this.xmlEditor1.Text = h.XmlString;
        }
Esempio n. 59
0
        internal XmlElement GetXml()
        {
            XmlHelper h = new XmlHelper("<Orders/>");
            h.SetAttribute(".", "Name", this.Name);
            h.SetAttribute(".", "Source", this.Source);

            foreach (Order order in this.Orders)
                h.AddElement(".", order.GetXml());

            return h.GetElement(".");
        }
Esempio n. 60
0
        public int Execute(List<string> cmds)
        {
            XmlHelper req = new XmlHelper("<Request/>");

            foreach (string cmd in cmds)
                req.AddElement(".", "Command", cmd);

            //呼叫 Service。
            Envelope rsp = Connection.SendRequest("UDTService.DML.Command", new Envelope(req));

            return 0;
        }