Initial Commit
This commit is contained in:
135
Systems/SQLCE/Credential.cs
Normal file
135
Systems/SQLCE/Credential.cs
Normal file
@@ -0,0 +1,135 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Sdaleo.Systems.SQLCE
|
||||
{
|
||||
/// <summary>
|
||||
/// Handles SQL CE Credentials, to be
|
||||
/// used by all our SQL CE Functions
|
||||
/// </summary>
|
||||
public class SQLCECredential : IComparable, ICloneable, IConnectDb
|
||||
{
|
||||
#region IConnectDb
|
||||
|
||||
/// <summary>
|
||||
/// Let Callers know this is a SQLCE Connection Object
|
||||
/// </summary>
|
||||
public DBSystem DBType { get { return DBSystem.SQL_CE; } }
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if the Credential Object consists of valid input
|
||||
/// </summary>
|
||||
public bool IsValid
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!ValidationConsts.IsValidFileNameNPath(DataSource))
|
||||
return false;
|
||||
|
||||
if (!String.IsNullOrEmpty(_UDL.Password) && !ValidationConsts.Generic.IsValidPassword(_UDL.Password))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string ConnectionString { get { return _UDL.ConnectionString; } }
|
||||
|
||||
/// <summary>
|
||||
/// SQL CE uses the File Name and Path as the Datasource
|
||||
/// </summary>
|
||||
public string DataSource { get { return _UDL.DataSource; } }
|
||||
|
||||
/// <summary>
|
||||
/// SQL CE doesn't use User
|
||||
/// </summary>
|
||||
public string User { get { return _UDL.Username; } }
|
||||
|
||||
/// <summary>
|
||||
/// SQL CE doesn't support DBMS like behaviors
|
||||
/// </summary>
|
||||
public bool SupportsDBMS { get { return false; } }
|
||||
|
||||
/// <summary>
|
||||
/// SQL CE doesn't support DBMS like behaviors
|
||||
/// </summary>
|
||||
public IamDBMS DBMS { get { return null; } }
|
||||
|
||||
/// <summary>
|
||||
/// SQL CE doesn't support Timeouts
|
||||
/// </summary>
|
||||
public bool SupportsTimeouts { get { return false; } }
|
||||
|
||||
/// <summary>
|
||||
/// SQL CE doesn't support Timeouts
|
||||
/// </summary>
|
||||
public IsupportTimeouts Timeouts { get { return null; } }
|
||||
|
||||
#endregion
|
||||
|
||||
private UDL _UDL = null;
|
||||
|
||||
#region SQLCE Credential Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Create a SQL CE Connection from an UDL Object
|
||||
/// </summary>
|
||||
/// <param name="udl"></param>
|
||||
internal SQLCECredential(UDL udl)
|
||||
{
|
||||
if (udl != null)
|
||||
_UDL = udl;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create an Untrusted SQLCE Credential * No Encryption Used *
|
||||
/// </summary>
|
||||
public SQLCECredential(string FileNameNPath)
|
||||
{
|
||||
_UDL = new UDL(FileNameNPath, String.Empty);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a Trusted SQLCE Credential * Encryption Used *
|
||||
/// </summary>
|
||||
public SQLCECredential(string FileNameNPath, string strPassword)
|
||||
{
|
||||
_UDL = new UDL(FileNameNPath, strPassword);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ICloneable Members
|
||||
|
||||
public object Clone()
|
||||
{
|
||||
SQLCECredential credential = new SQLCECredential((UDL)this._UDL.Clone());
|
||||
return credential;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IComparable Members
|
||||
|
||||
public int CompareTo(object obj)
|
||||
{
|
||||
SQLCECredential otherCredential = obj as SQLCECredential;
|
||||
if (otherCredential != null)
|
||||
{
|
||||
int nCompare = _UDL.CompareTo(otherCredential._UDL);
|
||||
return nCompare;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new ArgumentException("Object is not a SQLCECredential");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user