laatzen/Common/Ui/GenesisToolBox/FrmProductionData.cs
2022-04-06 10:42:16 +02:00

111 lines
3.2 KiB
C#

using Logic.ProductionToProductMapper.Cordonel;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Xylem.Common.CommonCore.Configuration;
using Xylem.Common.Logic.SoftwareAccessHelper;
namespace Xylem.Common.Ui.GenesisToolBox
{
public partial class FrmProductionData : Form
{
public FrmProductionData()
{
InitializeComponent();
}
private void FrmProductionData_Load(object sender, EventArgs e)
{
cbxDn.Items.Clear();
foreach (MeterSize size in (MeterSize[])Enum.GetValues(typeof(MeterSize)))
{
cbxDn.Items.Add(size);
}
}
private void tabPage1_Click(object sender, EventArgs e)
{
cbxDn.Items.Clear();
foreach (MeterSize size in (MeterSize[])Enum.GetValues(typeof(MeterSize)))
{
cbxDn.Items.Add(size);
}
}
private void btnLoad_Click(object sender, EventArgs e)
{
load();
}
private void btnWrite_Click(object sender, EventArgs e)
{
if (cbxDn.SelectedItem is MeterSize selected)
{
var newParameter = new Dictionary<string, UInt32>();
foreach (var item in gbxParameter.Controls)
{
if (item is NumericUpDown nudtofind)
{
newParameter.Add(nudtofind.Name.Substring(3), (UInt32)nudtofind.Value);
}
}
var r = LocalWebRequest.PostRequestAsync($"{ ServiceUrls.GenesisFinalCheckServiceUrl()}/SetMetersizeProgrammingData?ParameterMeterSize={selected.GetHashCode()}", 3000, JsonConvert.SerializeObject(newParameter));
load();
}
}
private void load()
{
if (cbxDn.SelectedItem is MeterSize selected)
{
try
{
var r = LocalWebRequest.GetRequest($"{ ServiceUrls.GenesisFinalCheckServiceUrl()}GetMetersizeProgrammingData?MeterSize={selected.GetHashCode()}", 2000);
var dt = JsonConvert.DeserializeObject<Dictionary<string, UInt32>>(r);
foreach (var item in gbxParameter.Controls)
{
if (item is NumericUpDown nudtofind)
{
uint value = 0;
if (dt.TryGetValue(nudtofind.Name.Substring(3), out value))
{
nudtofind.Value = value;
}
}
}
}
catch (Exception ex )
{
MessageBox.Show(ex.Message);
}
}
}
private void cbxDn_SelectedIndexChanged(object sender, EventArgs e)
{
load();
gbxParameter.Enabled = true;
}
}
}