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);
     }
 }