zhengyiming
16 小时以前 43e28aece364ad351d61eca30c6707fcdc197ca4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
using Volo.Abp;
#nullable enable
 
namespace LifePayment.Domain.Shared;
 
/// <summary>
/// 校验扩展
/// </summary>
public static class CheckExtensions
{
 
    /// <summary>
    /// 如果校验条件为true则抛出友好异常
    /// </summary>
    /// <param name="checkCondition"></param>
    /// <param name="userFriendlyMessage"></param>
    /// <exception cref="UserFriendlyException"></exception>
    public static void IfTrueThrowUserFriendlyException(bool checkCondition, string userFriendlyMessage)
    {
        IfTrueThrowUserFriendlyException(checkCondition, null, userFriendlyMessage, null);
    }
 
    /// <summary>
    /// 如果校验条件为false则抛出友好异常
    /// </summary>
    /// <param name="checkCondition"></param>
    /// <param name="userFriendlyMessage"></param>
    /// <exception cref="UserFriendlyException"></exception>
    public static void IfFalseThrowUserFriendlyException(bool checkCondition, string userFriendlyMessage)
    {
        IfFalseThrowUserFriendlyException(checkCondition, userFriendlyMessage, null);
    }
 
    /// <summary>
    /// 如果校验条件为true则抛出友好异常
    /// </summary>
    /// <param name="checkCondition"></param>
    /// <param name="userFriendlyMessage"></param>
    /// <param name="args"></param>
    /// <exception cref="UserFriendlyException"></exception>
    public static void IfTrueThrowUserFriendlyException(bool checkCondition, string userFriendlyMessage, params object?[]? args)
    {
        var exceptionString = args == null ? userFriendlyMessage : string.Format(userFriendlyMessage, args);
        if (checkCondition)
        {
            throw new UserFriendlyException(exceptionString);
        }
    }
 
    /// <summary>
    /// 如果校验条件为true则抛出友好异常
    /// </summary>
    /// <param name="checkCondition"></param>
    /// <param name="code"></param
    /// <param name="userFriendlyMessage"></param>
    /// <param name="args"></param>
    /// <exception cref="UserFriendlyException"></exception>
    public static void IfTrueThrowUserFriendlyException(bool checkCondition, int? code, string userFriendlyMessage, params object?[]? args)
    {
        var exceptionString = args == null ? userFriendlyMessage : string.Format(userFriendlyMessage, args);
        if (checkCondition)
        {
            throw new UserFriendlyException(exceptionString, code.HasValue ? code.Value.ToString() : null);
        }
    }
 
    /// <summary>
    /// 如果校验条件为false则抛出友好异常
    /// </summary>
    /// <param name="checkCondition"></param>
    /// <param name="userFriendlyMessage"></param>
    /// <param name="args"></param>
    /// <exception cref="UserFriendlyException"></exception>
    public static void IfFalseThrowUserFriendlyException(bool checkCondition, string userFriendlyMessage, params object?[]? args)
    {
        var exceptionString = args == null ? userFriendlyMessage : string.Format(userFriendlyMessage, args);
        if (!checkCondition)
        {
            throw new UserFriendlyException(exceptionString);
        }
    }
}