API
This commit is contained in:
29
PARR.API/Contracts/V1/Responses/Base/BaseResponse.cs
Normal file
29
PARR.API/Contracts/V1/Responses/Base/BaseResponse.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
namespace PARR.API.Contracts.V1.Responses.Base
|
||||
{
|
||||
public class BaseResponse
|
||||
{
|
||||
public BaseResponse() { }
|
||||
|
||||
public BaseResponse(bool isSuccess)
|
||||
{
|
||||
IsSuccess = isSuccess;
|
||||
}
|
||||
|
||||
public BaseResponse(bool isSuccess, List<ErrorModel> errors)
|
||||
{
|
||||
IsSuccess = isSuccess;
|
||||
Errors = errors;
|
||||
}
|
||||
|
||||
public BaseResponse(bool isSuccess, List<ErrorModel> errors, string message)
|
||||
{
|
||||
IsSuccess = isSuccess;
|
||||
Errors = errors;
|
||||
Message = message;
|
||||
}
|
||||
|
||||
public List<ErrorModel> Errors { get; set; } = new List<ErrorModel>();
|
||||
public bool IsSuccess { get; private set; }
|
||||
public string? Message { get; private set; }
|
||||
}
|
||||
}
|
||||
9
PARR.API/Contracts/V1/Responses/Base/ErrorModel.cs
Normal file
9
PARR.API/Contracts/V1/Responses/Base/ErrorModel.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace PARR.API.Contracts.V1.Responses.Base
|
||||
{
|
||||
public class ErrorModel
|
||||
{
|
||||
public string? FieldName { get; set; }
|
||||
|
||||
public string? Message { get; set; }
|
||||
}
|
||||
}
|
||||
29
PARR.API/Contracts/V1/Responses/Base/PagedResponse.cs
Normal file
29
PARR.API/Contracts/V1/Responses/Base/PagedResponse.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
namespace PARR.API.Contracts.V1.Responses.Base
|
||||
{
|
||||
public class PagedResponse<T> : BaseResponse
|
||||
{
|
||||
public PagedResponse(bool isSuccess) : base(isSuccess) { }
|
||||
|
||||
public PagedResponse(bool isSuccess, List<ErrorModel> errors) : base(isSuccess, errors) { }
|
||||
|
||||
public PagedResponse(bool isSuccess, List<ErrorModel> errors, string message) : base(isSuccess, errors, message) { }
|
||||
|
||||
|
||||
public PagedResponse(IEnumerable<T> data, bool isSuccess) : base(isSuccess) { Data = data; }
|
||||
|
||||
public PagedResponse(IEnumerable<T> data, bool isSuccess, List<ErrorModel> errors) : base(isSuccess, errors) { Data = data; }
|
||||
|
||||
public PagedResponse(IEnumerable<T> data, bool isSuccess, List<ErrorModel> errors, string message) : base(isSuccess, errors, message) { Data = data; }
|
||||
|
||||
|
||||
public IEnumerable<T>? Data { get; set; }
|
||||
|
||||
public int? PageNumber { get; set; }
|
||||
|
||||
public int? PageSize { get; set; }
|
||||
|
||||
public int? TotalPage { get; set; }
|
||||
|
||||
public int? TotalItems { get; set; }
|
||||
}
|
||||
}
|
||||
57
PARR.API/Contracts/V1/Responses/Base/Response.cs
Normal file
57
PARR.API/Contracts/V1/Responses/Base/Response.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using FluentValidation.Results;
|
||||
|
||||
namespace PARR.API.Contracts.V1.Responses.Base
|
||||
{
|
||||
public class Response<T> : BaseResponse
|
||||
{
|
||||
public Response(T response, bool isSuccess) : base(isSuccess)
|
||||
{
|
||||
Data = response;
|
||||
}
|
||||
|
||||
public Response(T response, bool isSuccess, List<ErrorModel> errors) : base(isSuccess, errors)
|
||||
{
|
||||
Data = response;
|
||||
}
|
||||
|
||||
public Response(T response, bool isSuccess, List<ErrorModel> errors, string message) : base(isSuccess, errors, message)
|
||||
{
|
||||
Data = response;
|
||||
}
|
||||
|
||||
public T? Data { get; private set; }
|
||||
}
|
||||
|
||||
|
||||
public class Response : Response<object?>
|
||||
{
|
||||
/// <summary>
|
||||
/// Респонс для валидации от FluentValidator
|
||||
/// </summary>
|
||||
/// <param name="validationErrors">ResultValidate.Errors</param>
|
||||
public Response(List<ValidationFailure> validationErrors) : base(null, false)
|
||||
{
|
||||
var errors = new List<ErrorModel>();
|
||||
foreach (var error in validationErrors)
|
||||
{
|
||||
errors.Add(new ErrorModel
|
||||
{
|
||||
FieldName = error.PropertyName,
|
||||
Message = error.ErrorMessage
|
||||
});
|
||||
}
|
||||
|
||||
Errors = errors;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Респонс когда не нужно передавать объект
|
||||
/// </summary>
|
||||
/// <param name="isSuccess"></param>
|
||||
/// <param name="errors"></param>
|
||||
public Response(bool isSuccess, List<ErrorModel> errors) : base(null, isSuccess, errors)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user