using System.IO; using System.Reflection; using System.Text; using Serilog; namespace TINK.ViewModel { public static class ViewModelResourceHelper { /// Get resource prefix depending on platform. public static string ResourcePrefix { get { #if __IOS__ return "TINK.iOS."; #endif #if __ANDROID__ return "TINK.Droid."; #endif #if WINDOWS_UWP return "TINK.WinPhone."; #endif } } /// Gets an embedded html resource. /// Name of resource to get. /// public static string GetEmbeddedResource(string resrouceName) { var resourceName = ResourcePrefix + resrouceName; Log.Verbose($"Using this resource prefix {ResourcePrefix}."); // note that the prefix includes the trailing period '.' that is required var assembly = typeof(ViewModelResourceHelper).GetTypeInfo().Assembly; var stream = assembly.GetManifestResourceStream(resourceName); return stream != null ? (new StreamReader(stream, Encoding.UTF8)).ReadToEnd() : string.Format("An error occurred loading html- resource {0}.", resourceName); } } }