ComplianceServer/oldcode/Core.Web/WebHelper/JsonHandler.cs

217 lines
7.9 KiB
C#

using System.Collections.Generic;
using System.Web.Mvc;
using WX.CRM.Common;
namespace Core.Web.WebHelper
{
public class JsonHandler
{
public static JsonMessage CreateMessage(int ptype, string pmessage, string pvalue)
{
JsonMessage json = new JsonMessage()
{
type = ptype,
message = pmessage,
value = pvalue
};
return json;
}
public static JsonMessage CreateMessage(int ptype, string pmessage)
{
JsonMessage json = new JsonMessage()
{
type = ptype,
message = pmessage,
};
return json;
}
/// <summary>
/// 验证修改 返回成功或者错误信息
/// </summary>
/// <param name="errors"></param>
/// <param name="result"></param>
/// <returns></returns>
public static JsonResult UpdateMessage(ValidationErrors errors, bool result)
{
var res = new JsonResult();
if (result)
res.Data = JsonHandler.CreateMessage(1, Suggestion.UpdateSucceed);
else
res.Data = JsonHandler.CreateMessage(0, Suggestion.UpdateFail + errors.Error);
res.ContentType = "text/html";
res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return res;
}
/// <summary>
/// 验证新增 返回成功或者失败信息
/// </summary>
/// <param name="errors"></param>
/// <param name="result"></param>
/// <returns></returns>
public static JsonResult InsertMessage(ValidationErrors errors, bool result)
{
var res = new JsonResult();
if (result)
res.Data = JsonHandler.CreateMessage(1, Suggestion.InsertSucceed);
else
res.Data = JsonHandler.CreateMessage(0, Suggestion.InsertFail + errors.Error);
res.ContentType = "text/html";
res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return res;
}
/// <summary>
/// 验证删除 返回成功或者失败信息
/// </summary>
/// <param name="errors"></param>
/// <param name="result"></param>
/// <returns></returns>
public static JsonResult DeleteMessage(ValidationErrors errors, bool result)
{
var res = new JsonResult();
if (result)
res.Data = JsonHandler.CreateMessage(1, Suggestion.DeleteSucceed);
else
res.Data = JsonHandler.CreateMessage(0, Suggestion.DeleteFail + errors.Error);
res.ContentType = "text/html";
res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return res;
}
/// <summary>
/// 文件上传 返回成功或者失败信息
/// </summary>
/// <param name="errors"></param>
/// <param name="result"></param>
/// <returns></returns>
public static JsonResult UploadMessage(ValidationErrors errors, bool result)
{
var res = new JsonResult();
if (result)
res.Data = JsonHandler.CreateMessage(1, Suggestion.UploadSuccessed);
else
res.Data = JsonHandler.CreateMessage(0, Suggestion.UploadFailed + errors.Error);
res.ContentType = "text/html";
res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return res;
}
/// <summary>
/// 直接返回验证失败信息
/// </summary>
/// <returns></returns>
public static JsonResult ValidateFailMessage()
{
var res = new JsonResult();
res.Data = JsonHandler.CreateMessage(0, Suggestion.ValidateFail);
res.ContentType = "text/html";
res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return res;
}
/// <summary>
/// 自定义操作信息
/// </summary>
/// <param name="message">提示信息</param>
/// <param name="result">结果 true:成功;false:失败</param>
/// <returns></returns>
public static JsonResult ManageMessage(string message, bool result)
{
var res = new JsonResult();
if (result)
res.Data = JsonHandler.CreateMessage(1, message);
else
res.Data = JsonHandler.CreateMessage(0, message);
res.ContentType = "text/html";
res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return res;
}
public static JsonResult ManageMessage(string message, bool result, string value)
{
var res = new JsonResult();
if (result)
res.Data = JsonHandler.CreateMessage(1, message, value);
else
res.Data = JsonHandler.CreateMessage(0, message, value);
res.ContentType = "text/html";
res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return res;
}
/// <summary>
/// 验证操作 返回成功或者失败信息
/// </summary>
/// <param name="errors"></param>
/// <param name="result"></param>
/// <returns></returns>
public static JsonResult ManageMessage(ValidationErrors errors, bool result)
{
var res = new JsonResult();
if (result)
res.Data = JsonHandler.CreateMessage(1, "操作成功!");
else
res.Data = JsonHandler.CreateMessage(0, "操作失败!错误:" + errors.Error);
res.ContentType = "text/html";
res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return res;
}
/// <summary>
/// 返回验证不通过的信息
/// </summary>
/// <param name="modelStateDic"></param>
/// <returns></returns>
public static JsonResult JsonResultSerialize(ModelStateDictionary modelStateDic)
{
List<ActionValidationResult> results = new List<ActionValidationResult>();
var res = new JsonResult();
foreach (string key in modelStateDic.Keys)
{
/// 以 key 为索引检索 ModelState
ModelState modelState = modelStateDic[key];
foreach (ModelError error in modelState.Errors)
{
if (!string.IsNullOrWhiteSpace(key))
{
/// 添加到 ValidationResults 中
results.Add(
new ActionValidationResult()
{
PropertyName = key,
Message = error.ErrorMessage
});
}
}
}
res.Data = new { type = 10, errors = results };
res.ContentType = "text/html";
res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return res;
}
/// <summary>
/// 返回异常错误信息
/// </summary>
/// <param name="message"></param>
/// <returns></returns>
public static JsonResult ExceptionMessage(string message)
{
var res = new JsonResult();
res.Data = new { type = 0, message = "系统错误:" + message, errorMessag = "系统错误:" + message };
res.ContentType = "text/html";
res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return res;
}
}
public class JsonMessage
{
public int type { get; set; }
public string message { get; set; }
public string value { get; set; }
}
public class ActionValidationResult
{
public string PropertyName { get; set; }
public string Message { get; set; }
}
}