Files
UCS_WinUI/UCS.ConfigFile/GroupBoxLine.cs
Martijn Scheepers a98dbf7e66 First commit
2021-05-07 11:31:58 +02:00

161 lines
9.4 KiB
C#

using System;
namespace UCS.ConfigFile
{
public class GroupBoxLine
{
internal event EventHandler<string> ErrorMessageEvent;
public int LineNumber { get; set; }
public int? Tag { get; set; } = null;
public int? Width { get; set; } = null;
public int? Height { get; set; } = null;
public int? Top { get; set; } = null;
public int? Left { get; set; } = null;
public string Text { get; set; } = string.Empty;
public string TextColor { get; set; } = string.Empty;
public bool Visible { get; set; } = false;
public bool Startup { get; set; } = false;
public GroupBoxType Type { get; set; }
public string TextFile { get; set; } = string.Empty;
public int? TextBoxWidth { get; set; } = null;
public int? VideoBoxWidth { get; set; } = null;
public int? VideoBoxHeight { get; set; } = null;
public int? VideoBoxTop { get; set; } = null;
public int? VideoBoxLeft { get; set; } = null;
public int? VideoSpotTag { get; set; } = null;
public string VideoBoxString { get; set; } = string.Empty;
public int? VideoBoxRefresh { get; set; } = null;
public string VideoLogin { get; set; }
public string VideoPassword { get; set; }
public void StoreGroupBoxDataLine(int column, int row, string cellData)
{
if (cellData == null)
{
ErrorMessageEvent?.Invoke(this, $"Groupbox_Data: Geen celldata column:{column} row:{row}");
}
switch (column)
{
case 1: // A = GroupBoxTag
if (Helpers.IsCellInteger(cellData) == true)
this.Tag = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 1 (A Tag) rij " + row);
break;
case 2: // B = GroupBoxWidth
if (Helpers.IsCellInteger(cellData) == true)
this.Width = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 2 (B Witdh) rij " + row);
break;
case 3: // C = GroupBoxHeight
if (Helpers.IsCellInteger(cellData) == true)
this.Height = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 3 (C Height) rij " + row);
break;
case 4: // D = GroupBoxTop
if (Helpers.IsCellInteger(cellData) == true)
this.Top = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 4 (D Top) rij " + row);
break;
case 5: // E = GroupBoxLeft
if (Helpers.IsCellInteger(cellData) == true)
this.Left = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 5 (E Left) rij " + row);
break;
case 6:
this.Text = cellData.Replace("&", "&&"); // F = GroupBoxText
break;
case 7: // G = GroupBoxTextColor
if (Helpers.IsCellHexValue(cellData) == true)
this.TextColor = cellData;
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen hex nummer in kolom 7 (G TextColor) rij " + row);
break;
case 8: // H = GroupBoxVisible
if (cellData == null || cellData == "0")
this.Visible = false;
else
this.Visible = true;
break;
case 9: // I = GroupBoxStartup
if (cellData == null || cellData == "0")
this.Startup = false;
else
this.Startup = true;
break;
case 10: // J = GroupBoxType
GroupBoxType result = GroupBoxType.Unknown;
if (!Enum.TryParse<GroupBoxType>(cellData.ToUpper(), out result))
{
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen correct type in kolom 10 (J GroupBoxType) regel " + row);
}
this.Type = result;
break;
case 11:
this.TextFile = cellData; // K = GroupBoxTextFile
break;
case 12: // L = GroupBoxTextwidth
if (Helpers.IsCellInteger(cellData) == true)
this.TextBoxWidth = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 12 (L TextWidth) rij " + row);
break;
case 13: // M = VideoBoxWidth
if (Helpers.IsCellInteger(cellData) == true)
this.VideoBoxWidth = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 13 (M VideoBoxWitdh) rij " + row);
break;
case 14: // N = VideoBoxHeight
if (Helpers.IsCellInteger(cellData) == true)
this.VideoBoxHeight = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 14 (N VideoBoxHeight) rij " + row);
break;
case 15: // O = VideoBoxTop
if (Helpers.IsCellInteger(cellData) == true)
this.VideoBoxTop = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 15 (O VideoBoxTop) rij " + row);
break;
case 16: // P = VideoBoxleft
if (Helpers.IsCellInteger(cellData) == true)
this.VideoBoxLeft = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 16 (P VideoBoxLeft) rij " + row);
break;
case 17: // Q = Video Spot Tag
if (Helpers.IsCellInteger(cellData) == true)
this.VideoSpotTag = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 17 (Q Video Spot Tag) rij " + row);
break;
case 18:
this.VideoBoxString = cellData; // R = VideoBoxString
break;
case 19: // S = VideoBoxRefresh
if (Helpers.IsCellInteger(cellData) == true)
this.VideoBoxRefresh = Convert.ToInt32(cellData);
else
ErrorMessageEvent?.Invoke(this, "Groupbox_Data: Geen nummer in kolom 19 (S VideoBoxRefresh) rij " + row);
break;
case 20:
this.VideoLogin = cellData; // T = VideoLogin
break;
case 21:
this.VideoPassword = cellData; // U = VideoPassword
break;
default:
ErrorMessageEvent?.Invoke(this, "Groupbox_Data worksheet bevat fouten");
break;
}
}
}
}