using Newtonsoft.Json;
|
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace HH.WMS.Client
|
{
|
public enum ResultStatus
|
{
|
Error = 0,
|
Success = 1,
|
Warning = 2
|
}
|
|
/// <summary>
|
/// 返回消息固定格式
|
/// </summary>
|
public class OperateResult
|
{
|
public OperateResult()
|
{
|
}
|
|
public OperateResult(ResultStatus status, string msg, bool success, int affectedRows = 0)
|
{
|
Status = status;
|
Msg = msg;
|
Success = success;
|
AffectedRows = affectedRows;
|
}
|
|
public OperateResult(ResultStatus status, string msg, object data, bool success)
|
{
|
Status = status;
|
Msg = msg;
|
Data = data;
|
Success = success;
|
}
|
|
public ResultStatus Status { get; set; }
|
public string Code { get; set; }
|
public string Msg { get; set; }
|
public object Data { get; set; }
|
public int AffectedRows { get; set; }
|
public bool Success { get; set; }
|
public static OperateResult Succeed(string msg = "succeed")
|
{
|
return new OperateResult(ResultStatus.Success, msg, true);
|
}
|
public static OperateResult Succeed(int affectedRows)
|
{
|
return new OperateResult(ResultStatus.Success, "succeed", true, affectedRows);
|
}
|
|
public static OperateResult Succeed(string msg, object data)
|
{
|
return new OperateResult(ResultStatus.Success, msg, data, true);
|
}
|
|
public static OperateResult Error(string msg = "error")
|
{
|
return new OperateResult(ResultStatus.Error, msg, false);
|
}
|
|
public static OperateResult Error(string msg, object data)
|
{
|
return new OperateResult(ResultStatus.Error, msg, data, false);
|
}
|
|
public static OperateResult Warning(string msg = "warning")
|
{
|
return new OperateResult(ResultStatus.Warning, msg, false);
|
}
|
}
|
public static class OperateResultExtensions
|
{
|
public static T GetData<T>(this OperateResult result) where T : class
|
{
|
if (result.Data == null)
|
return default(T);
|
if (result.Data.GetType() == typeof(JObject) ||
|
result.Data.GetType() == typeof(JArray) ||
|
result.Data.GetType() == typeof(string))
|
{
|
string data = result.Data.ToString();
|
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
|
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
|
return JsonConvert.DeserializeObject<T>(data, timeFormat);
|
}
|
return result.Data as T;
|
}
|
|
}
|
}
|