Monday, 8 April 2024

Error handle c#

Error Handle global class like this. 

 public class Result<T>

{

    public bool IsSuccess { get; private set; }

    public T Data { get; private set; }

    public string ErrorMessage { get; private set; }


    private Result(bool isSuccess, T data, string errorMessage)

    {

        IsSuccess = isSuccess;

        Data = data;

        ErrorMessage = errorMessage;

    }


    public static Result<T> Success(T data)

    {

        return new Result<T>(true, data, null);

    }


    public static Result<T> Failure(string errorMessage)

    {

        return new Result<T>(false, default(T), errorMessage);

    }

}

sample code

public async Task<Result<List<Users>>> GetUserSearch(string searchValue, string NetworkID)
{
    using (var con = _dapperDbConnection.CreateConnection())
    {
        try
        {
            var parmas = new
            {
                searchValue,
                NetworkID,
            };
            var result = await con.QueryAsync<Users>(DBSPs.getusersearch, parmas, commandType: CommandType.StoredProcedure);
            return Result<List<Users>>.Success(result.ToList());
        }
        catch (Exception ex)
        {
            return Result<List<Users>>.Failure($"Error occurred: {ex.Message}");
        }
        finally
        {
            con.Close();
        }
    }
}

No comments:

Post a Comment

Car pooling app

 I'll create a car pooling app with real-time vehicle tracking, pickup/drop time estimates, and a list of onboard users. Since we don...