public static Result <ByteArray> Base64ToByteArray(ResourceEdmx resourceEdmx) { try { var byteArray = Convert.FromBase64String(resourceEdmx.Value).ToByteArray(); return(Result.Ok(byteArray)); } catch (FormatException) { return(Result.Fail <ByteArray>("Cannot convert given EDMX. Format of BASE64 is invalid.")); } }
public static Result <GZipBinary> Base64ToGzip(ResourceEdmx resourceEdmx) => FlowHelpers.With(resourceEdmx) .Map(edmx => edmx.Value) .OnSuccess(x => Convert.FromBase64String(x)) .Map(edmx => edmx.ToGZipBinary());
internal static Result <Edmx> ConvertToXml(ResourceEdmx databaseEdmx) => MiscModule.Base64ToGzip(databaseEdmx) .OnSuccess(edmx => MiscModule.GZipToXml(edmx)) .Map(edmx => edmx as Edmx);
internal static Result <Edmx> ConvertToDatabase(ResourceEdmx xmlEdmx) => Base64Module.Base64ToByteArray(xmlEdmx) .OnSuccess(edmx => MiscModule.BytesToHex(edmx)) .Map(edmx => edmx.ToDatabaseEdmx()) .Map(edmx => edmx as Edmx);
public static Result <ResourceEdmx> ToResourceEdmx(this string edmx) => ResourceEdmx.Create(edmx);