You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
3.3 KiB
C#

using System;
using System.Collections.Generic;
namespace Haoliang.Models.Common
{
public class ApiResponse<T>
{
public bool Success { get; set; }
public T Data { get; set; }
public string Message { get; set; }
public int ErrorCode { get; set; }
public DateTime Timestamp { get; set; }
public string RequestId { get; set; }
public Dictionary<string, object> Meta { get; set; }
}
public class PaginatedResponse<T>
{
public List<T> Items { get; set; }
public int TotalCount { get; set; }
public int PageNumber { get; set; }
public int PageSize { get; set; }
public int TotalPages { get; set; }
public bool HasPreviousPage { get; set; }
public bool HasNextPage { get; set; }
public ApiResponse<T> Response { get; set; }
}
public class ValidationResult
{
public bool IsValid { get; set; }
public List<ValidationError> Errors { get; set; }
}
public class ValidationError
{
public string Field { get; set; }
public string Message { get; set; }
public string Code { get; set; }
}
public class SelectOption
{
public string Value { get; set; }
public string Label { get; set; }
public bool Disabled { get; set; }
public string Group { get; set; }
}
public class TreeNode
{
public string Id { get; set; }
public string Text { get; set; }
public string Type { get; set; }
public List<TreeNode> Children { get; set; }
public Dictionary<string, object> Data { get; set; }
public bool Expanded { get; set; }
public bool Selected { get; set; }
public bool HasChildren { get; set; }
}
public class ChartData
{
public string Type { get; set; } // line, bar, pie, doughnut, radar
public string Title { get; set; }
public List<string> Labels { get; set; }
public List<Dataset> Datasets { get; set; }
public Dictionary<string, object> Options { get; set; }
}
public class Dataset
{
public string Label { get; set; }
public List<decimal> Data { get; set; }
public string BackgroundColor { get; set; }
public string BorderColor { get; set; }
public decimal BorderWidth { get; set; }
public string BorderDash { get; set; }
public bool Fill { get; set; }
public string Tension { get; set; }
}
public class DashboardWidget
{
public string Id { get; set; }
public string Title { get; set; }
public string Type { get; set; } // chart, statistic, table, list
public string Size { get; set; } // small, medium, large
public int Row { get; set; }
public int Col { get; set; }
public Dictionary<string, object> Config { get; set; }
public bool Refreshable { get; set; }
public int RefreshInterval { get; set; }
public bool Visible { get; set; }
}
public class FilterCondition
{
public string Field { get; set; }
public string Operator { get; set; } // eq, ne, gt, lt, gte, lte, in, like
public object Value { get; set; }
public string Logic { get; set; } // and, or
}
}