using Wino.Core.Domain.Exceptions; namespace Wino.Core.Domain.Models.Server { /// /// Encapsulates responses from the Wino server. /// Exceptions are stored separately in the Message and StackTrace properties due to serialization issues. /// /// Type of the expected response. public class WinoServerResponse { public bool IsSuccess { get; set; } public string Message { get; set; } public T Data { get; set; } public static WinoServerResponse CreateSuccessResponse(T data) { return new WinoServerResponse { IsSuccess = true, Data = data }; } public static WinoServerResponse CreateErrorResponse(string message) { return new WinoServerResponse { IsSuccess = false, Message = message }; } public void ThrowIfFailed() { if (!IsSuccess) throw new WinoServerException(Message); } } }