DepartmentProject/DepartmentPortal/Common/CommonTools/OperationResultModels/OperationResultModel.cs
2021-03-25 20:50:19 +04:00

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;
}
}
}