Dispenser/DispenserHal/Camera/VO/CameraResponseVO.cs

59 lines
1.5 KiB
C#

namespace DispenserHal.Camera.VO;
public class CameraResponseVO
{
private const string _defaultSuccessMessage = "操作成功";
private const string _defaultFailedMessage = "操作失败";
private readonly bool _success;
public CameraResponseVO(bool result, string message, ResponseData data)
{
_success = result;
Message = message;
Data = data;
}
public ResponseData Data { get; }
public string Message { get; }
public static CameraResponseVO OfSuccess()
{
return new CameraResponseVO(true, _defaultSuccessMessage, ResponseData.Empty());
}
public static CameraResponseVO OfSuccess(string message)
{
return new CameraResponseVO(true, message, ResponseData.Empty());
}
public static CameraResponseVO OfSuccess(string message, ResponseData data)
{
return new CameraResponseVO(true, message, data);
}
public static CameraResponseVO OfFailed()
{
return new CameraResponseVO(false, _defaultFailedMessage, ResponseData.Empty());
}
public static CameraResponseVO OfFailed(string message)
{
return new CameraResponseVO(false, message, ResponseData.Empty());
}
public static CameraResponseVO OfFailed(string message, ResponseData data)
{
return new CameraResponseVO(false, message, data);
}
public bool IsSuccess()
{
return _success;
}
public override string ToString()
{
return $"CameraResponseVO: IsSuccess={_success}, Message={Message}, Data={Data}";
}
}