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; } /// /// 验证修改 返回成功或者错误信息 /// /// /// /// 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; } /// /// 验证新增 返回成功或者失败信息 /// /// /// /// 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; } /// /// 验证删除 返回成功或者失败信息 /// /// /// /// 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; } /// /// 文件上传 返回成功或者失败信息 /// /// /// /// 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; } /// /// 直接返回验证失败信息 /// /// 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; } /// /// 自定义操作信息 /// /// 提示信息 /// 结果 true:成功;false:失败 /// 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; } /// /// 验证操作 返回成功或者失败信息 /// /// /// /// 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; } /// /// 返回验证不通过的信息 /// /// /// public static JsonResult JsonResultSerialize(ModelStateDictionary modelStateDic) { List results = new List(); 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; } /// /// 返回异常错误信息 /// /// /// 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; } } }