55 lines
1.2 KiB
C#
55 lines
1.2 KiB
C#
namespace MyOffice.Core.Extensions;
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
public static class StringExtensions
|
|
{
|
|
public static bool IsMissing(this string? str)
|
|
{
|
|
return str == null || string.IsNullOrEmpty(str) || string.IsNullOrEmpty(str.Trim());
|
|
}
|
|
|
|
public static bool IsPresent(this string? str)
|
|
{
|
|
return !IsMissing(str);
|
|
}
|
|
|
|
public static string? NullIfEmpty(this string? str)
|
|
{
|
|
return IsMissing(str) ? null : str;
|
|
}
|
|
|
|
public static bool EqualsIgnoreCase(this string? str, string? value)
|
|
{
|
|
return str != null && str.Equals(value, StringComparison.OrdinalIgnoreCase);
|
|
}
|
|
|
|
public static bool AsBool(this string? str, bool defaultValue = false)
|
|
{
|
|
return true.ToString().Equals(str, StringComparison.OrdinalIgnoreCase) || defaultValue;
|
|
}
|
|
|
|
public static Guid AsGuid(this string str)
|
|
{
|
|
/*str = str
|
|
.Replace("_", "/")
|
|
.Replace("-", "+");
|
|
byte[] buffer = Convert.FromBase64String(str + "==");
|
|
return new Guid(buffer);*/
|
|
return Guid.Parse(str);
|
|
}
|
|
|
|
public static Guid? AsGuidNull(this string str)
|
|
{
|
|
/*str = str
|
|
.Replace("_", "/")
|
|
.Replace("-", "+");
|
|
byte[] buffer = Convert.FromBase64String(str + "==");
|
|
return new Guid(buffer);*/
|
|
if (Guid.TryParse(str, out var guid))
|
|
{
|
|
return guid;
|
|
}
|
|
return null;
|
|
}
|
|
} |