79 lines
2.4 KiB
C#
79 lines
2.4 KiB
C#
using CommonTools.Enums;
|
|
using CommonTools.ViewModels;
|
|
using System.Collections.Generic;
|
|
|
|
namespace CommonTools.OperationResultModels
|
|
{
|
|
/// <summary>
|
|
/// Результат любой операции
|
|
/// </summary>
|
|
public class OperationResultModel
|
|
{
|
|
/// <summary>
|
|
/// Успешность операции (количество ошибок = 0)
|
|
/// </summary>
|
|
public bool IsSucceeded => Errors.Count == 0;
|
|
|
|
/// <summary>
|
|
/// Статус операции
|
|
/// </summary>
|
|
public ResultServiceStatusCode StatusCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// Спсиок ошибок
|
|
/// </summary>
|
|
public List<(string Title, string Message)> Errors { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Какой-то объект, получаемый по результатам операции (например, id)
|
|
/// </summary>
|
|
public object Result { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Конструктор по умолчанию
|
|
/// </summary>
|
|
public OperationResultModel()
|
|
{
|
|
Errors = new List<(string Title, string Message)>();
|
|
StatusCode = ResultServiceStatusCode.Success;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Результат любой операции
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
public class OperationResultModel<T>
|
|
where T : ElementViewModel
|
|
{
|
|
/// <summary>
|
|
/// Успешность операции
|
|
/// </summary>
|
|
public bool IsSucceeded { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Статус операции
|
|
/// </summary>
|
|
public ResultServiceStatusCode StatusCode { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Спсиок ошибок
|
|
/// </summary>
|
|
public List<KeyValuePair<string, string>> Errors { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Какой-то объект, получаемый по результатам операции (например, id)
|
|
/// </summary>
|
|
public T Result { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Конструктор по умолчанию
|
|
/// </summary>
|
|
public OperationResultModel()
|
|
{
|
|
Errors = new List<KeyValuePair<string, string>>();
|
|
IsSucceeded = true;
|
|
StatusCode = 0;
|
|
}
|
|
}
|
|
} |