Files

173 lines
5.6 KiB
C#

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_DemoAccountRequest_Html,
Email_DemoAccountRegister_Html,
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(SbmResourceHelper).GetTypeInfo().Assembly; } }
//-------------------------------------------------------------------
// Text resources.
public static String GetResourceText(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:
partialPath = "Email.Style";
resourceFilename = "sbm-email-main.css";
break;
// Email partial content.
case TextResource.Email_Header_Html:
partialPath = "Email.Shared";
resourceFilename = "sbm-email-header.html";
break;
case TextResource.Email_Footer_Html:
partialPath = "Email.Shared";
resourceFilename = "sbm-email-footer.html";
break;
// Email templates.
case TextResource.Email_DemoAccountRequest_Html:
partialPath = "Email.Security";
resourceFilename = "sbm-email-demo-account-request.html";
break;
case TextResource.Email_DemoAccountRegister_Html:
partialPath = "Email.Security";
resourceFilename = "sbm-email-demo-account-register.html";
break;
case TextResource.Email_RequestPassword_Html:
partialPath = "Email.Security";
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[] GetResourceImage(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];
}
//-------------------------------------------------------------------
}
//=======================================================================
}