135 lines
4.1 KiB
C#
135 lines
4.1 KiB
C#
using MySql.Data.MySqlClient;
|
|
using Support.Controllers;
|
|
using Support.Crypto;
|
|
using Support.Models;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Support.Controls
|
|
{
|
|
public partial class Devices : UserControl
|
|
{
|
|
private Models.Appsettings Appsettings = null;
|
|
private DeviceController DeviceController = null;
|
|
private Main _MainForm = null;
|
|
private bool IsRunning = false;
|
|
private delegate void UpdateDeviceDelegate(DeviceModel deviceModel);
|
|
|
|
public Devices(Models.Appsettings appsettings, Main mainForm)
|
|
{
|
|
this._MainForm = mainForm;
|
|
this.Appsettings = appsettings;
|
|
|
|
string connString = appsettings.DatabaseConnectionString;
|
|
|
|
string decryptedConnectioString = AES.Decrypt(connString);
|
|
|
|
if (!string.IsNullOrEmpty(decryptedConnectioString))
|
|
{
|
|
connString = decryptedConnectioString;
|
|
}
|
|
|
|
this.DeviceController = new Controllers.DeviceController(new Database(connString), this.Appsettings);
|
|
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void btnSearch_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if(!this.IsRunning)
|
|
{
|
|
string orderID = txtOrderId.Text;
|
|
string zip = txtZIP.Text;
|
|
string birthday = txtBirthday.Text;
|
|
string udid = txtUDID.Text;
|
|
|
|
this.IsRunning = true;
|
|
this._MainForm.ShowLoading();
|
|
|
|
new Thread(() =>
|
|
{
|
|
DeviceModel deviceModel = this.DeviceController.GetDevice(orderID, zip, birthday, udid);
|
|
this.UpdateDevice(deviceModel);
|
|
|
|
}).Start();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void UpdateDevice(DeviceModel deviceModel)
|
|
{
|
|
if(dtDevice.InvokeRequired)
|
|
{
|
|
dtDevice.Invoke(new UpdateDeviceDelegate(UpdateDevice), deviceModel);
|
|
}
|
|
else
|
|
{
|
|
this.IsRunning = false;
|
|
this._MainForm.HideLoading();
|
|
|
|
dtDevice.AutoGenerateColumns = false;
|
|
dgResults.AutoGenerateColumns = false;
|
|
|
|
dtDevice.DataSource = null;
|
|
dgResults.DataSource = null;
|
|
|
|
if(deviceModel != null)
|
|
{
|
|
dtDevice.DataSource = new List<DeviceModel>() { deviceModel };
|
|
|
|
if(deviceModel.Orders != null && deviceModel.Orders.Count > 0)
|
|
{
|
|
dgResults.DataSource = deviceModel.Orders;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void dgResults_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
if(e.RowIndex >= 0 && e.ColumnIndex == 9)
|
|
{
|
|
dgResults.Cursor = Cursors.Hand;
|
|
}
|
|
else
|
|
{
|
|
dgResults.Cursor = Cursors.Default;
|
|
}
|
|
}
|
|
|
|
private void dgResults_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
if (e.RowIndex >= 0 && e.ColumnIndex == 9 && dgResults.Rows != null && dgResults.Rows.Count > 0 && dgResults.Rows[e.RowIndex].DataBoundItem != null &&
|
|
dgResults.Rows[e.RowIndex].DataBoundItem.GetType() == typeof(Models.Order))
|
|
{
|
|
Models.Order order = (Models.Order)dgResults.Rows[e.RowIndex].DataBoundItem;
|
|
|
|
if(order != null)
|
|
{
|
|
Logs logs = new Logs(order);
|
|
|
|
logs.ShowDialog();
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Kein Auftrag gefunden");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|