Files
laatzen/Common/Ui/GenesisToolBox/FrmReseachMapping.cs
T
2021-10-01 11:09:20 +02:00

128 lines
4.0 KiB
C#

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.Hardware.WaterMeter.Genesis.GenesisCore;
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore;
using Xylem.Common.Logic.SoftwareAccessHelper;
namespace Xylem.Common.Ui.GenesisToolBox
{
public partial class FrmReseachMapping : Form
{
public FrmReseachMapping()
{
InitializeComponent();
}
private void btnStore_Click(object sender, EventArgs e)
{
var url = $"{ServiceUrls.MeterProcessStateUrl()}SetPickingState?PcbID={txtPcbId.Text}&FertigungsauftragsNr={txtOrder.Text}";
var RetString = LocalWebRequest.PostRequestAsyncAndGetContent(url);
var result = false;
if (bool.TryParse(RetString, out result))
{
if (result)
{
url = $"{ServiceUrls.MarriageServiceUrl()}SetPcbToSerial?PcbId={txtPcbId.Text}&SerialNumber={txtSerialNr.Text}&returnMetroData=0";
var resp = LocalWebRequest.GetRequest(url);
if (!string.IsNullOrEmpty(resp))
{
MessageBox.Show("Hat geklappt");
}
else
{
result = false;
}
}
}
if (!result)
{
MessageBox.Show("Hat nicht geklappt");
}
}
private void btnConnect_Click(object sender, EventArgs e)
{
if (cbComSlot.SelectedItem != null) // && cbComSlot.SelectedValue is ListBoxItem)
{
Int32 slotNR = 0;
if (!string.IsNullOrEmpty(cbComSlot.SelectedItem.ToString()) &&
int.TryParse(cbComSlot.SelectedItem.ToString(), out slotNR))
{
try
{
using ( var meterBatch = new MeterBatch())
{
using (var currentGenesis = new GenesisMeter())
{
try
{
currentGenesis.SetupFromConfigFile(slotNR);
meterBatch.AddMeter(currentGenesis);
}
catch (Exception ex)
{
MessageBox.Show($"Slot #{slotNR} failed: {ex.Message}");
}
txtPcbId.Text = currentGenesis.GetPcbId();
}
}
}
catch (Exception ex)
{
MessageBox.Show($"failed: {ex.Message}");
}
}
}
}
private void btnRead_Click(object sender, EventArgs e)
{
txtSerialNr.Text = GetPcbMapping(txtPcbId.Text);
}
private string GetPcbMapping(string pcbID)
{
if (string.IsNullOrEmpty(pcbID))
{
return "";
}
var url = $"{ServiceUrls.MarriageServiceUrl()}GetSerialNumberAndOrderNumber?PcbId={pcbID}";
try
{
var requestResponse = LocalWebRequest.GetRequest(url);
if (!string.IsNullOrEmpty(requestResponse))
{
var a = JsonConvert.DeserializeObject<string[]>(requestResponse);
return a[0];
}
else
{
return "";
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return "";
}
}
}