|
using System;
using DbKeeperNet.Engine.Resources;
using System.Globalization;
namespace DbKeeperNet.Engine.Extensions.Preconditions
{
/// <summary>
/// Condition verifies that table with given name doesn't exist.
/// </summary>
/// <remarks>
/// Condition reference name is <c>DbTableNotFound</c>.
/// It has one parameter which should contain tested database
/// table name.
/// </remarks>
/// <example>
/// Following example shows how to reference this condition in the
/// update script XML.
/// <code>
/// <![CDATA[
/// <Precondition FriendlyName="Table testing_table not found" Precondition="DbTableNotFound">
/// <Param>testing_table</Param>
/// </Precondition>
/// ]]>
/// </code>
/// </example>
public sealed class DbTableNotFound : IPrecondition
{
#region IPrecondition Members
public string Name
{
get { return @"DbTableNotFound"; }
}
public bool CheckPrecondition(IUpdateContext context, PreconditionParamType[] param)
{
if (context == null)
throw new ArgumentNullException(@"context");
if ((param == null) || (param.Length == 0) || (String.IsNullOrEmpty(param[0].Value)))
throw new ArgumentNullException(@"param", String.Format(CultureInfo.CurrentCulture, PreconditionMessages.TableNameEmpty, Name));
bool result = !context.DatabaseService.TableExists(param[0].Value);
return result;
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I'm software developer since 1996. I started with assembler on Intel 8051 CPUs, during years I was interested in C, C++, Sybase PowerBuilder, PHP, Sybase Anywhere Database, MSSQL server and multiplatform development.
Currently I'm developing in C++ and C# (this is my favorit and I spent some time with MCPD achievement). I'm also interested in design patterns.