public static GenericResult <TResult> ConvertTo <TResult, TEntry>(this GenericResult <TEntry> entry, TResult result, string baseMsg = "") { var msg = baseMsg + " " + entry.GetAllMessage(); switch (entry.EnumResultType) { case EnumResultType.Success: return(GenericResult <TResult> .Success(result, baseMsg + " " + entry.GetAllMessage(false))); case EnumResultType.Error: return(GenericResult <TResult> .Error(result, msg)); case EnumResultType.Warning: return(GenericResult <TResult> .Warning(result, msg)); case EnumResultType.UserSafeError: return(GenericResult <TResult> .UserSafeError(result, msg)); default: return(GenericResult <TResult> .Error(result, msg)); } }
public static string GetAllMessage <T>(this GenericResult <T> result, bool userSafeMsg = true, string defaultMsg = "", string separator = " -> ") { if (userSafeMsg) { if (result.IsSucceed || result.EnumResultType == EnumResultType.UserSafeError) { return(result.MessageList == null ? defaultMsg : string.Join(separator, result.MessageList)); } else { return(defaultMsg); } } else { string msg = result.Exception?.GetAllExMessage() + separator + (result.MessageList == null ? "" : string.Join(separator, result.MessageList)); if (string.IsNullOrEmpty(msg)) { return(defaultMsg); } return(msg); } }