Files
2025-11-06 10:31:09 +01:00

103 lines
2.7 KiB
C#

using EgwCoreLib.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebWindowTest.DTO
{
/// <summary>
/// Dati specifici ricevuto dal chiamante x display e calcoli
/// </summary>
public class LivePayload
{
#region Public Properties
/// <summary>
/// JWD Corrente
/// </summary>
public string CurrJwd { get; set; } = string.Empty;
/// <summary>
/// Preview SVG
/// </summary>
public string SvgPreview { get; set; } = string.Empty;
/// <summary>
/// Dizionario Shape da verifica JWD
/// </summary>
public Dictionary<int,string> DictShape { get; set; } = new Dictionary<int, string>();
/// <summary>
/// Dizionario XML opzioni HW da verifica JWD x GroupId
/// </summary>
public Dictionary<int, string> DictOptionsXml { get; set; } = new Dictionary<int, string>();
#endregion Public Properties
#region Public Methods
/// <summary>
/// Override metodo di equality
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public override bool Equals(object obj)
{
if (!(obj is LivePayload item))
return false;
if (CurrJwd != item.CurrJwd)
return false;
if (SvgPreview != item.SvgPreview)
return false;
if (!DictUtils.DictAreEqual(DictOptionsXml, item.DictOptionsXml))
return false;
if (!DictUtils.DictAreEqual(DictShape, item.DictShape))
return false;
return true;
}
/// <summary>
/// Metodo di equality limitato al controllo del JWD
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public bool JwdEqual(object obj)
{
if ((obj == null))
return false;
if (!(obj is LivePayload item))
return false;
if (CurrJwd != item.CurrJwd)
return false;
return true;
}
/// <summary>
/// Override hash method
/// </summary>
/// <returns></returns>
public override int GetHashCode()
{
return base.GetHashCode();
}
/// <summary>
/// Verifica di validità del Payload (solo jwd)
/// </summary>
/// <returns></returns>
public bool IsValid()
{
bool jwdOK = !string.IsNullOrEmpty(CurrJwd);
return jwdOK;
}
#endregion Public Methods
}
}