private void SaveMajorationValues() { List <DCMajoration> listMajo = new List <DCMajoration>(); foreach (Control ctrl in Controls) { NumericUpDown nud = ctrl as NumericUpDown; if (null == nud) { continue; } if (nud.Name.Contains("nud_m")) { listMajo.Add(new DCMajoration() { Name = nud.Name.Substring(4), Value = Convert.ToDouble(nud.Value) }); } } PLMPackServiceClient client = WCFClientSingleton.Instance.Client; DCComponent comp = client.GetComponentByGuid(_compGuid); DCMajorationSet majoSet = new DCMajorationSet() { Profile = CurrentProfile, Majorations = listMajo.ToArray() }; client.UpdateMajorationSet(_compGuid, majoSet); // notify listeners _profileLoader.NotifyModifications(); }
public DCComponent GetComponent(Guid guid) { if (guid != _currentGuid) { _currentGuid = guid; PLMPackServiceClient client = WCFClientSingleton.Instance.Client; _component = client.GetComponentByGuid(guid); } return(_component); }
public FormEditMajorations(Guid compGuid, Profile currentProfile, ProfileLoader profileLoader) { InitializeComponent(); if (compGuid == Guid.Empty) { throw new Exception("Invalid component Guid"); } _compGuid = compGuid; _profileLoader = profileLoader; if (!DesignMode) { // plugin viewer _pluginViewCtrl = new PluginViewCtrl(); _pluginViewCtrl.Size = _pb.Size; _pluginViewCtrl.Location = _pb.Location; _pluginViewCtrl.Visible = true; this.Controls.Add(_pluginViewCtrl); // hide _pb.Visible = false; } // fill combo box FillProfileComboBox(currentProfile.ToString()); // get parameter stack PLMPackServiceClient client = WCFClientSingleton.Instance.Client; Pic.Plugin.ParameterStack stack = null; using (Pic.Plugin.ComponentLoader loader = new Pic.Plugin.ComponentLoader()) { DCComponent comp = client.GetComponentByGuid(_compGuid); Pic.Plugin.Component component = loader.LoadComponent( treeDiM.FileTransfer.FileTransferUtility.DownloadFile(comp.File.Guid, comp.File.Extension)); stack = component.BuildParameterStack(null); // load component in pluginviewer _pluginViewCtrl.Component = component; } // insert majoration label and textbox controls int lblX = 20, lblY = 60; int offsetX = 110, offsetY = 29; int tabIndex = bnCancel.TabIndex; int iCount = 0; foreach (Parameter param in stack.ParameterList) { // only shows majorations if (!param.IsMajoration) { continue; } ParameterDouble paramDouble = param as ParameterDouble; // create Label control Label lbl = new Label(); lbl.Name = string.Format("lbl_{0}", param.Name); lbl.Text = param.Name; lbl.Location = new Point( lblX + (iCount / 5) * offsetX , lblY + (iCount % 5) * offsetY); lbl.Size = new Size(30, 13); lbl.TabIndex = ++tabIndex; this.Controls.Add(lbl); // create NumericUpDown control NumericUpDown nud = new NumericUpDown(); nud.Name = string.Format("nud_{0}", param.Name); nud.Increment = 0.1M; nud.Minimum = paramDouble.HasValueMin ? (decimal)paramDouble.ValueMin : -10000.0M; nud.Maximum = paramDouble.HasValueMax ? (decimal)paramDouble.ValueMax : 10000.0M; nud.DecimalPlaces = 1; nud.Value = (decimal)paramDouble.Value; nud.Location = new Point( lblX + (iCount / 5) * offsetX + lbl.Size.Width + 1 , lblY + (iCount % 5) * offsetY); nud.Size = new Size(60, 20); nud.TabIndex = ++tabIndex; nud.ValueChanged += new EventHandler(nudValueChanged); nud.GotFocus += new EventHandler(nud_GotFocus); nud.Click += new EventHandler(nud_GotFocus); this.Controls.Add(nud); ++iCount; } UpdateMajorationValues(); }