using Sarand.Net.Standard.Base.Helpers; using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; using System.Reflection; using System.Text; namespace Sarand.BusinessMgr.Net.Standard.Base.Helpers { //======================================================================= public static class SbmResourceHelper { //------------------------------------------------------------------- // Definitions. public enum TextResource { // Base text resources. SaBaseCss, SaBaseJs, SbmBaseCss, SbmBaseJs, JQueryJs, JQueryUiCss, JQueryUiJs, // Email stylesheets. Email_Main_Css, // Email partial content. Email_Header_Html, Email_Footer_Html, // Email templates. Email_RequestPassword_Html, // Data - CSV files etc. } public enum ImageResource { BusinessMgr_logo_h75_png, // Sapphire icons. sapphire01_side_32_png, sapphire01_side_40_png, sapphire01_side_64_png, // Menu icons. arrow_down_black_16_png, arrow_down_black_24_png, arrow_up_black_16_png, arrow_up_black_24_png, star_amber_16_png, } //------------------------------------------------------------------- // Properties. public static Assembly Assembly { get { return typeof(SacsResourceHelper).GetTypeInfo().Assembly; } } //------------------------------------------------------------------- // Text resources. public static String GetTextResource(TextResource textResource) { String partialPath = ""; String resourceFilename = ""; switch (textResource) { // Base text resources. case TextResource.SaBaseCss: return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseCss); case TextResource.SaBaseJs: return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseJs); case TextResource.SbmBaseCss: return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseCss) + SacsResourceHelper.GetManifestResourceAsText(Assembly, "", "sbm_base.css"); case TextResource.SbmBaseJs: return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseJs) + SacsResourceHelper.GetManifestResourceAsText(Assembly, "", "sbm_base.js"); case TextResource.JQueryJs: return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.JQueryJs); case TextResource.JQueryUiCss: return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.JQueryUiCss); case TextResource.JQueryUiJs: return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.JQueryUiJs); // Email stylesheet. case TextResource.Email_Main_Css: resourceFilename = "sbm-email-main.css"; break; // Email partial content. case TextResource.Email_Header_Html: resourceFilename = "sbm-email-header.html"; break; case TextResource.Email_Footer_Html: resourceFilename = "sbm-email-footer.html"; break; // Email templates. case TextResource.Email_RequestPassword_Html: resourceFilename = "sbm-email-request-password.html"; break; // Data. } if (!StringUtil.IsEmpty(resourceFilename)) { String resourceText = SacsResourceHelper.GetManifestResourceAsText(Assembly, partialPath, resourceFilename); if (!StringUtil.IsEmpty(resourceText)) return resourceText; } return ""; } //------------------------------------------------------------------- // Image resources. public static byte[] GetImageResource(ImageResource imageResource) { String partialPath = ""; String resourceFilename = ""; switch (imageResource) { case ImageResource.BusinessMgr_logo_h75_png: resourceFilename = "BusinessMgr-logo-h75.png"; break; // Sapphire icons. case ImageResource.sapphire01_side_32_png: partialPath = "sapphire"; resourceFilename = "sapphire01-side-32.png"; break; case ImageResource.sapphire01_side_40_png: partialPath = "sapphire"; resourceFilename = "sapphire01-side-40.png"; break; case ImageResource.sapphire01_side_64_png: partialPath = "sapphire"; resourceFilename = "sapphire01-side-64.png"; break; // Menu icons. case ImageResource.arrow_down_black_16_png: resourceFilename = "arrow-down-black-16.png"; break; case ImageResource.arrow_down_black_24_png: resourceFilename = "arrow-down-black-24.png"; break; case ImageResource.arrow_up_black_16_png: resourceFilename = "arrow-up-black-16.png"; break; case ImageResource.arrow_up_black_24_png: resourceFilename = "arrow-up-black-24.png"; break; case ImageResource.star_amber_16_png: resourceFilename = "star-amber-16.png"; break; } if (!StringUtil.IsEmpty(resourceFilename)) { byte[] resourceData = SacsResourceHelper.GetManifestResourceAsBinary(Assembly, partialPath, resourceFilename); if (resourceData != null) return resourceData; } return new byte[0]; } //------------------------------------------------------------------- } //======================================================================= }