69 lines
2.5 KiB
C#
69 lines
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Reflection;
|
|
using System.IO;
|
|
using System.Collections.Specialized;
|
|
|
|
namespace Foo.DataAccessLayer
|
|
{
|
|
class ResourceHelper
|
|
{
|
|
// Used by DB to keep track of labels and Versioning
|
|
public static StringDictionary s_VersioningTablesMap = new StringDictionary();
|
|
|
|
/// <summary>
|
|
/// Get All Sql Table Resource Names
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static string[] GetTableResourceNames()
|
|
{
|
|
List<String> tableResources = new List<string>();
|
|
|
|
string[] resourceNames = Assembly.GetExecutingAssembly().GetManifestResourceNames();
|
|
foreach (string ResourceName in resourceNames)
|
|
{
|
|
if(ResourceName.Contains("DataAccessLayer.Sql.Tables."))
|
|
tableResources.Add(ResourceName);
|
|
}
|
|
|
|
return tableResources.ToArray<String>();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gives you just the Table Name without the Resource string before and after
|
|
/// </summary>
|
|
/// <param name="TableResouceName">a table Resource name</param>
|
|
/// <returns>the table name</returns>
|
|
public static string GetTableNameFromTableResourceName(string TableResouceName)
|
|
{
|
|
// First trim the sqlce
|
|
TableResouceName = TableResouceName.Replace(".sqlce", "");
|
|
|
|
// Now find the last dot and trim from there
|
|
int index = TableResouceName.LastIndexOf('.');
|
|
return TableResouceName.Substring(index + 1);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Get the Text/SQL String from a specified ResourceFileName
|
|
/// </summary>
|
|
/// <param name="resourceFileName">a specific ResourceFileName</param>
|
|
/// <returns></returns>
|
|
public static string GetTextSqlFromResourceFile(string resourceFileName)
|
|
{
|
|
StreamReader stream = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceFileName));
|
|
if (stream != null)
|
|
{
|
|
string strText = stream.ReadToEnd();
|
|
strText = strText.Replace('\r', ' ');
|
|
strText = strText.Replace('\n', ' ');
|
|
return strText;
|
|
}
|
|
else
|
|
return string.Empty;
|
|
}
|
|
}
|
|
}
|