using System; using APT.Infrastructure.Core; namespace APT.Infrastructure.Api { public static class LibMessageUtils { public static void AddError(string message) { AddMessage(EFMessageType.Error, string.Empty, message); } public static void AddError(string code, params object[] objs) { AddMessage(EFMessageType.Error, code, GetMessage(code, objs)); } public static void AddWarning(string message) { AddMessage(EFMessageType.Warning, string.Empty, message); } public static void AddWarning(string code, params object[] objs) { AddMessage(EFMessageType.Warning, code, GetMessage(code, objs)); } public static void AddInfo(string message) { AddMessage(EFMessageType.Info, string.Empty, message); } public static void AddInfo(string code, params object[] objs) { AddMessage(EFMessageType.Info, code, GetMessage(code, objs)); } public static string GetMessage(string code,params object[] objs) { var foramt = LibMessageFormatManager.Instance. GetMessageFormat(code, "");//多语言暂不支持 return string.Format(foramt, objs); } public static void AddMessage(EFMessageType type, string message) { AddMessage(type, string.Empty, message); } public static void ThrowError(string code, params object[] objs) { string m = GetMessage(code, objs); throw new CodeException(code, m); } //public static void ThrowUpdateRowVersionError(string code, params object[] objs) //{ // string m = GetMessage(code, objs); // throw new EFUpdateRowVersionException(code, m); //} //public static void ThrowFieldUniqueError(string code, string field, params object[] objs) //{ // string m = GetMessage(code, objs); // throw new EFFieldUniqueException(code, field, m); //} public static void AddMessage(EFMessageType type, string code, string message) { var messageM = GetMessageManage(); if (messageM == null) throw new Exception("ILibMessageManager is null"); messageM.AddMessage(type, code, message); } public static void AddMessage(EFApiActionMessage message) { var messageM = GetMessageManage(); if (messageM == null) throw new Exception("ILibMessageManager is null"); messageM.AddMessage(message); } public static void StoreMessage(EFApiActionResult ret) { var messageM = GetMessageManage(); if (messageM == null) return; messageM.StoreMessage(ret); } private static ILibMessageManager GetMessageManage() { ILibMessageManager clientFactory = null; try { if (HttpContext.Current != null && HttpContext.Current.RequestServices != null) clientFactory = (ILibMessageManager)HttpContext.Current.RequestServices.GetService(typeof(ILibMessageManager)); } catch { } return clientFactory; } } }