Files
StructureHelper/StructureHelperCommon/Models/Forces/BeamShearActions/CheckBeamShearActionLogic.cs
2025-06-17 21:55:52 +05:00

53 lines
1.6 KiB
C#

using StructureHelperCommon.Infrastructures.Interfaces;
namespace StructureHelperCommon.Models.Forces.BeamShearActions
{
public class CheckBeamShearActionLogic : ICheckEntityLogic<IBeamShearAction>
{
private string checkResult;
private bool result;
public string CheckResult => checkResult;
public IBeamShearAction Entity { get; set; }
public IShiftTraceLogger? TraceLogger { get; set; }
public CheckBeamShearActionLogic(IBeamShearAction entity, IShiftTraceLogger? traceLogger)
{
Entity = entity;
TraceLogger = traceLogger;
}
public bool Check()
{
checkResult = string.Empty;
result = true;
if (Entity is null)
{
result = false;
string errorString = "\nInclined section is not assigned";
TraceMessage(errorString);
}
else
{
if (Entity.ExternalForce is null)
{
result = false;
TraceMessage($"\nExternal force is null");
}
if (Entity.SupportAction is null)
{
result = false;
TraceMessage($"\nSupport action is null");
}
}
return result;
}
private void TraceMessage(string errorString)
{
checkResult += errorString;
TraceLogger?.AddMessage(errorString, TraceLogStatuses.Error);
}
}
}