This commit is contained in:
Aigio Liu
2021-02-24 22:29:08 +08:00
parent 3e3204412f
commit 5de392588e
23 changed files with 763 additions and 14 deletions
@@ -12,7 +12,7 @@ namespace System.Application.Models
[MPObj]
[Serializable]
[DebuggerDisplay("{DebuggerDisplay(),nq}")]
public sealed class PagedModel<T> : Serializable, IPagedModel<T>, IReadOnlyPagedModel<T>
public sealed class PagedModel<T> : IPagedModel<T>, IReadOnlyPagedModel<T>
{
string DebuggerDisplay() => $"Current: {Current}, Total: {Total}, Count: {mDataSource?.Count ?? 0}, PageSize: {PageSize}";
@@ -0,0 +1,39 @@
using System.Globalization;
namespace System.ComponentModel
{
public class EnumDescriptionTypeConverter : EnumConverter
{
public EnumDescriptionTypeConverter(Type type) : base(type)
{
}
public override object ConvertTo(
ITypeDescriptorContext context,
CultureInfo culture,
object value,
Type destinationType)
{
if (destinationType == typeof(string))
{
if (null != value)
{
var fi = value.GetType().GetField(value.ToString());
if (null != fi)
{
var attributes =
(DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
return ((attributes.Length > 0) && (!string.IsNullOrEmpty(attributes[0].Description)))
? attributes[0].Description
: value.ToString();
}
}
return string.Empty;
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
}
@@ -6,16 +6,16 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.1"/>
<PackageReference Include="Microsoft.Extensions.Http" Version="5.0.0"/>
<PackageReference Include="Microsoft.Extensions.Logging" Version="5.0.0"/>
<PackageReference Include="Nito.Comparers" Version="6.1.0"/>
<PackageReference Include="Xamarin.Essentials" Version="1.6.1"/>
<PackageReference Include="Crc32.NET" Version="1.2.0"/>
<PackageReference Include="gfoidl.Base64" Version="1.1.1"/>
<PackageReference Include="MessagePack" Version="2.2.85"/>
<PackageReference Include="Newtonsoft.Json" Version="12.0.3"/>
<PackageReference Include="System.Text.Json" Version="5.0.1"/>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.1" />
<PackageReference Include="Microsoft.Extensions.Http" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="5.0.0" />
<PackageReference Include="Nito.Comparers" Version="6.1.0" />
<PackageReference Include="Xamarin.Essentials" Version="1.6.1" />
<PackageReference Include="Crc32.NET" Version="1.2.0" />
<PackageReference Include="gfoidl.Base64" Version="1.1.1" />
<PackageReference Include="MessagePack" Version="2.2.85" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="System.Text.Json" Version="5.0.1" />
</ItemGroup>
<ItemGroup>