You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.8 KiB
51 lines
1.8 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using OpenDBDiff.Schema.Model;
|
|
|
|
namespace OpenDBDiff.Schema.SQLServer.Generates.Options
|
|
{
|
|
public class SqlOptionComparison : Schema.Model.IOptionComparison
|
|
{
|
|
|
|
public enum CaseSensityOptions
|
|
{
|
|
Automatic = 0,
|
|
CaseInsensity = 1,
|
|
CaseSensity = 2
|
|
}
|
|
|
|
public SqlOptionComparison()
|
|
{
|
|
CaseSensityInCode = CaseSensityOptions.CaseInsensity;
|
|
IgnoreWhiteSpacesInCode = false;
|
|
}
|
|
|
|
public SqlOptionComparison(IOptionComparison comparison)
|
|
{
|
|
this.ReloadComparisonOnUpdate = comparison.ReloadComparisonOnUpdate;
|
|
var options = comparison.GetOptions();
|
|
IgnoreWhiteSpacesInCode = bool.Parse(options["IgnoreWhiteSpacesInCode"]);
|
|
CaseSensityInCode = (CaseSensityOptions)Enum.Parse(typeof(CaseSensityOptions), options["CaseSensityInCode"], true);
|
|
CaseSensityType = (CaseSensityOptions)Enum.Parse(typeof(CaseSensityOptions), options["CaseSensityType"], true);
|
|
}
|
|
|
|
public bool IgnoreWhiteSpacesInCode { get; set; }
|
|
public bool ReloadComparisonOnUpdate { get; set; }
|
|
|
|
|
|
public CaseSensityOptions CaseSensityInCode { get; set; }
|
|
|
|
public CaseSensityOptions CaseSensityType { get; set; }
|
|
|
|
public IDictionary<string, string> GetOptions()
|
|
{
|
|
Dictionary<string, string> options = new Dictionary<string, string>();
|
|
options.Add("IgnoreWhiteSpacesInCode", IgnoreWhiteSpacesInCode.ToString());
|
|
options.Add("ReloadComparisonOnUpdate", ReloadComparisonOnUpdate.ToString());
|
|
options.Add("CaseSensityInCode", CaseSensityInCode.ToString());
|
|
options.Add("CaseSensityType", CaseSensityType.ToString());
|
|
return options;
|
|
}
|
|
}
|
|
}
|