private void EditBtn_Click(object sender, EventArgs e) { try { if (PassiveChargePerUnits.SelectedItems.Count == 1) { ListViewItem li = PassiveChargePerUnits.SelectedItems[0]; byte[] index = GXDLMSTranslator.HexToBytes(li.SubItems[0].Text); Int16 chargePerUnit = Int16.Parse(li.SubItems[1].Text); GXDLMSCharge target = Target as GXDLMSCharge; GXChargeTableDlg dlg = new GXChargeTableDlg(index, chargePerUnit, false); if (dlg.ShowDialog(this) == DialogResult.OK) { GXChargeTable t = (GXChargeTable)li.Tag; t.Index = GXDLMSTranslator.ToHex(dlg.Index); t.ChargePerUnit = dlg.ChargePerUnit; li.SubItems[0].Text = t.Index; li.SubItems[1].Text = dlg.ChargePerUnit.ToString(); errorProvider1.SetError(PassiveChargePerUnits, Properties.Resources.ValueChangedTxt); Target.UpdateDirty(6, target.UnitChargePassive.ChargeTables); } } } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void RemoveBtn_Click(object sender, EventArgs e) { try { if (PassiveChargePerUnits.SelectedItems.Count != 0) { GXDLMSCharge target = Target as GXDLMSCharge; List <GXChargeTable> list = new List <GXChargeTable>(); if (target.UnitChargePassive.ChargeTables != null) { list.AddRange(target.UnitChargePassive.ChargeTables); } while (PassiveChargePerUnits.SelectedItems.Count != 0) { ListViewItem li = PassiveChargePerUnits.SelectedItems[0]; GXChargeTable item = (GXChargeTable)li.Tag; list.Remove(item); PassiveChargePerUnits.Items.Remove(li); errorProvider1.SetError(PassiveChargePerUnits, Properties.Resources.ValueChangedTxt); Target.UpdateDirty(6, target.UnitChargePassive.ChargeTables); } target.UnitChargePassive.ChargeTables = list.ToArray(); } } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void AddBtn_Click(object sender, EventArgs e) { try { GXDLMSCharge target = Target as GXDLMSCharge; GXChargeTableDlg dlg = new GXChargeTableDlg(null, 0, false); if (dlg.ShowDialog(this) == DialogResult.OK) { List <GXChargeTable> list = new List <GXChargeTable>(); if (target.UnitChargePassive.ChargeTables != null) { list.AddRange(target.UnitChargePassive.ChargeTables); } GXChargeTable t = new GXChargeTable(); t.Index = GXDLMSTranslator.ToHex(dlg.Index); t.ChargePerUnit = dlg.ChargePerUnit; ListViewItem li = new ListViewItem(t.Index); li.Tag = t; li.SubItems.Add(t.ChargePerUnit.ToString()); list.Add(t); target.UnitChargePassive.ChargeTables = list.ToArray(); PassiveChargePerUnits.Items.Add(li); errorProvider1.SetError(PassiveChargePerUnits, Properties.Resources.ValueChangedTxt); Target.UpdateDirty(6, target.UnitChargePassive.ChargeTables); } } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void OnValueChanged(GXDLMSViewArguments arg) { GXDLMSCharge target = (GXDLMSCharge)Target; if (arg.Index == 5) { ActiveCommodityScaleTb.Text = target.UnitChargeActive.ChargePerUnitScaling.CommodityScale.ToString(); ActivePriceScaleTb.Text = target.UnitChargeActive.ChargePerUnitScaling.PriceScale.ToString(); ActiveTargetCb.Items.Clear(); int selected = -1; foreach (GXDLMSObject it in Target.Parent.GetObjects(ObjectType.Credit)) { int pos = ActiveTargetCb.Items.Add(it); if (it == target.UnitChargeActive.Commodity.Target) { selected = pos; } } ActiveTargetCb.SelectedIndex = selected; ActiveIndexTB.Text = target.UnitChargeActive.Commodity.Index.ToString(); ActiveChargePerUnits.Items.Clear(); if (target.UnitChargeActive.ChargeTables != null) { foreach (GXChargeTable it in target.UnitChargeActive.ChargeTables) { ListViewItem li = new ListViewItem(it.Index.ToString()); li.SubItems.Add(it.ChargePerUnit.ToString()); li.Tag = it; ActiveChargePerUnits.Items.Add(li); } } } else if (arg.Index == 6) { PassiveCommodityScaleTb.Text = target.UnitChargePassive.ChargePerUnitScaling.CommodityScale.ToString(); PassivePriceScaleTb.Text = target.UnitChargePassive.ChargePerUnitScaling.PriceScale.ToString(); PassiveTargetCb.Items.Clear(); int selected = -1; foreach (GXDLMSObject it in Target.Parent.GetObjects(ObjectType.Credit)) { int pos = PassiveTargetCb.Items.Add(it); if (it == target.UnitChargePassive.Commodity.Target) { selected = pos; } } PassiveTargetCb.SelectedIndex = selected; PassiveIndexTB.Text = target.UnitChargePassive.Commodity.Index.ToString(); PassiveChargePerUnits.Items.Clear(); if (target.UnitChargePassive.ChargeTables != null) { foreach (GXChargeTable it in target.UnitChargePassive.ChargeTables) { ListViewItem li = new ListViewItem(it.Index.ToString()); li.SubItems.Add(it.ChargePerUnit.ToString()); li.Tag = it; PassiveChargePerUnits.Items.Add(li); } } } else { throw new IndexOutOfRangeException("index"); } }