GIT: perform LF normalization

This commit is contained in:
Gary Sharp
2013-02-28 17:15:46 +11:00
parent 989f08a24d
commit 7d9be5620d
729 changed files with 300734 additions and 300712 deletions
+110 -110
View File
@@ -1,111 +1,111 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Disco.Web.Models.InitialConfig
{
public class DatabaseModel
{
public DatabaseModel()
{
// Set Defaults
this.Server = "(local)";
this.DatabaseName = "Disco";
this.AuthMethod = "SSPI";
}
public static DatabaseModel FromConnectionString(string ConnectionString)
{
var result = new DatabaseModel();
try
{
var csb = new SqlConnectionStringBuilder(ConnectionString);
if (!string.IsNullOrEmpty(csb.DataSource))
result.Server = csb.DataSource;
if (!string.IsNullOrEmpty(csb.InitialCatalog))
result.DatabaseName = csb.InitialCatalog;
if (csb.IntegratedSecurity)
{
result.AuthMethod = "SSPI";
}
else
{
result.AuthMethod = "SQL";
result.Auth_SQL_Username = csb.UserID;
result.Auth_SQL_Password = csb.Password;
}
}
catch (Exception)
{
// Ignore Parsing errors
}
return result;
}
public SqlConnectionStringBuilder ToConnectionString()
{
var csb = new SqlConnectionStringBuilder()
{
DataSource = this.Server,
InitialCatalog = this.DatabaseName,
IntegratedSecurity = (this.AuthMethod.Equals("SSPI", StringComparison.InvariantCultureIgnoreCase)),
UserID = (this.AuthMethod.Equals("SQL", StringComparison.InvariantCultureIgnoreCase)) ? this.Auth_SQL_Username : string.Empty,
Password = (this.AuthMethod.Equals("SQL", StringComparison.InvariantCultureIgnoreCase)) ? this.Auth_SQL_Password : string.Empty,
ApplicationName = "Disco WebApp",
MultipleActiveResultSets = true,
Pooling = true
};
return csb;
}
[Required(ErrorMessage = "The Server name is required")]
public string Server { get; set; }
[Required(ErrorMessage = "The Database name is required")]
public string DatabaseName { get; set; }
[Required(ErrorMessage = "The Authentication Method is required")]
public string AuthMethod { get; set; }
[CustomValidation(typeof(DatabaseModel), "SqlAuthRequired", ErrorMessage = "When using SQL Authentication a Username is required")]
public string Auth_SQL_Username { get; set; }
[DataType(DataType.Password), CustomValidation(typeof(DatabaseModel), "SqlAuthRequired", ErrorMessage="When using SQL Authentication a Password is required")]
public string Auth_SQL_Password { get; set; }
public List<SelectListItem> AuthMethods
{
get
{
return new List<SelectListItem>(){
new SelectListItem(){
Value="SSPI", Text="Integrated Authentication", Selected=true
},
new SelectListItem(){
Value="SQL", Text="SQL Authentication", Selected=false
}
};
}
}
public static ValidationResult SqlAuthRequired(object value, ValidationContext validationContext)
{
var instance = validationContext.ObjectInstance as DatabaseModel;
if (instance != null && instance.AuthMethod != null && instance.AuthMethod.Equals("SQL", StringComparison.InvariantCultureIgnoreCase))
{
var stringValue = value as string;
if (string.IsNullOrWhiteSpace(stringValue))
return null; // Invalid
}
return ValidationResult.Success;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Disco.Web.Models.InitialConfig
{
public class DatabaseModel
{
public DatabaseModel()
{
// Set Defaults
this.Server = "(local)";
this.DatabaseName = "Disco";
this.AuthMethod = "SSPI";
}
public static DatabaseModel FromConnectionString(string ConnectionString)
{
var result = new DatabaseModel();
try
{
var csb = new SqlConnectionStringBuilder(ConnectionString);
if (!string.IsNullOrEmpty(csb.DataSource))
result.Server = csb.DataSource;
if (!string.IsNullOrEmpty(csb.InitialCatalog))
result.DatabaseName = csb.InitialCatalog;
if (csb.IntegratedSecurity)
{
result.AuthMethod = "SSPI";
}
else
{
result.AuthMethod = "SQL";
result.Auth_SQL_Username = csb.UserID;
result.Auth_SQL_Password = csb.Password;
}
}
catch (Exception)
{
// Ignore Parsing errors
}
return result;
}
public SqlConnectionStringBuilder ToConnectionString()
{
var csb = new SqlConnectionStringBuilder()
{
DataSource = this.Server,
InitialCatalog = this.DatabaseName,
IntegratedSecurity = (this.AuthMethod.Equals("SSPI", StringComparison.InvariantCultureIgnoreCase)),
UserID = (this.AuthMethod.Equals("SQL", StringComparison.InvariantCultureIgnoreCase)) ? this.Auth_SQL_Username : string.Empty,
Password = (this.AuthMethod.Equals("SQL", StringComparison.InvariantCultureIgnoreCase)) ? this.Auth_SQL_Password : string.Empty,
ApplicationName = "Disco WebApp",
MultipleActiveResultSets = true,
Pooling = true
};
return csb;
}
[Required(ErrorMessage = "The Server name is required")]
public string Server { get; set; }
[Required(ErrorMessage = "The Database name is required")]
public string DatabaseName { get; set; }
[Required(ErrorMessage = "The Authentication Method is required")]
public string AuthMethod { get; set; }
[CustomValidation(typeof(DatabaseModel), "SqlAuthRequired", ErrorMessage = "When using SQL Authentication a Username is required")]
public string Auth_SQL_Username { get; set; }
[DataType(DataType.Password), CustomValidation(typeof(DatabaseModel), "SqlAuthRequired", ErrorMessage="When using SQL Authentication a Password is required")]
public string Auth_SQL_Password { get; set; }
public List<SelectListItem> AuthMethods
{
get
{
return new List<SelectListItem>(){
new SelectListItem(){
Value="SSPI", Text="Integrated Authentication", Selected=true
},
new SelectListItem(){
Value="SQL", Text="SQL Authentication", Selected=false
}
};
}
}
public static ValidationResult SqlAuthRequired(object value, ValidationContext validationContext)
{
var instance = validationContext.ObjectInstance as DatabaseModel;
if (instance != null && instance.AuthMethod != null && instance.AuthMethod.Equals("SQL", StringComparison.InvariantCultureIgnoreCase))
{
var stringValue = value as string;
if (string.IsNullOrWhiteSpace(stringValue))
return null; // Invalid
}
return ValidationResult.Success;
}
}
}
+180 -180
View File
@@ -1,181 +1,181 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Security;
using System.Security.Permissions;
using System.Security.Principal;
using System.Web;
namespace Disco.Web.Models.InitialConfig
{
public class FileStoreModel
{
public FileStoreModel()
{
DirectoryModel = FileStoreModel.FileStoreDirectoryModel.DirectoryRoots();
}
[Required(), CustomValidation(typeof(FileStoreModel), "DirectoryPermissionRequired")]
public string FileStoreLocation { get; set; }
public FileStoreDirectoryModel DirectoryModel { get; set; }
public void ExpandDirectoryModel()
{
if (!string.IsNullOrWhiteSpace(FileStoreLocation))
{
var branches = this.FileStoreLocation.ToUpper().Split(Path.DirectorySeparatorChar);
var branchesCase = this.FileStoreLocation.Split(Path.DirectorySeparatorChar);
FileStoreDirectoryModel branchModel;
FileStoreDirectoryModel branchParent = this.DirectoryModel;
for (int i = 0; i < branches.Length; i++)
{
var branch = branches[i];
if (branchParent.SubDirectories.TryGetValue(branch, out branchModel))
{
branchModel.ExpandSubDirectories();
}
else
{
// New
branchModel = FileStoreDirectoryModel.FromNew(branchesCase[i], Path.Combine(branchParent.Path, branchesCase[i]));
branchParent.SubDirectories.Add(branchModel.Name.ToUpper(), branchModel);
}
branchParent = branchModel;
}
}
}
public static ValidationResult DirectoryPermissionRequired(object value, ValidationContext validationContext)
{
var instance = validationContext.ObjectInstance as FileStoreModel;
if (instance != null && !string.IsNullOrEmpty(instance.FileStoreLocation))
{
var stringValue = value as string;
DirectoryInfo info = new DirectoryInfo(stringValue);
if (!info.Exists)
{
// Try and Create
try
{
info.Create();
}
catch (Exception ex)
{
return new ValidationResult(string.Format("Unable to Create Directory '{0}'; [{1}] {2}", info.FullName, ex.GetType().Name, ex.Message));
}
}
}
return ValidationResult.Success;
}
public class FileStoreDirectoryModel
{
public string Name { get; set; }
public string Path { get; set; }
public bool IsNew { get; set; }
public bool Selectable { get; set; }
public Dictionary<string, FileStoreDirectoryModel> SubDirectories { get; set; }
internal static FileStoreDirectoryModel FromInfo(DirectoryInfo info)
{
return new FileStoreDirectoryModel()
{
Name = info.Name,
Path = info.FullName,
IsNew = false,
Selectable = (info.Root.Name != info.Name)
};
}
internal static FileStoreDirectoryModel FromNew(string Name, string FullPath)
{
return new FileStoreDirectoryModel()
{
Name = Name,
Path = FullPath,
IsNew = true,
Selectable = true,
SubDirectories = new Dictionary<string, FileStoreDirectoryModel>()
};
}
internal static FileStoreDirectoryModel FromInfo(DriveInfo info)
{
return new FileStoreDirectoryModel()
{
Name = info.Name.Substring(0, 2),
Path = info.RootDirectory.Name,
IsNew = false,
Selectable = false
};
}
internal static FileStoreDirectoryModel FromPath(string DirectoryPath, bool ExpandSubDirectories)
{
DirectoryInfo info = new DirectoryInfo(DirectoryPath);
if (info.Exists)
{
var fsd = FromInfo(info);
if (ExpandSubDirectories)
fsd.ExpandSubDirectories();
return fsd;
}
else
return null;
}
internal static FileStoreDirectoryModel DirectoryRoots()
{
var root = new FileStoreDirectoryModel()
{
Name = "ROOT",
Path = null,
IsNew = false,
Selectable = false,
SubDirectories = new Dictionary<string, FileStoreDirectoryModel>()
};
foreach (var driveInfo in DriveInfo.GetDrives())
{
if (driveInfo.DriveType == DriveType.Fixed)
root.SubDirectories.Add(driveInfo.Name.Substring(0, 2).ToUpper(), FileStoreDirectoryModel.FromInfo(driveInfo));
}
return root;
}
internal void ExpandSubDirectories()
{
if (this.SubDirectories == null)
{
this.SubDirectories = new Dictionary<string, FileStoreDirectoryModel>();
if (!this.IsNew)
{
var dirInfo = new DirectoryInfo(Path);
if (dirInfo.Exists)
{
foreach (var subDir in dirInfo.EnumerateDirectories())
{
this.SubDirectories.Add(subDir.Name.ToUpper(), FileStoreDirectoryModel.FromInfo(subDir));
}
}
else
{
this.IsNew = true;
}
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Security;
using System.Security.Permissions;
using System.Security.Principal;
using System.Web;
namespace Disco.Web.Models.InitialConfig
{
public class FileStoreModel
{
public FileStoreModel()
{
DirectoryModel = FileStoreModel.FileStoreDirectoryModel.DirectoryRoots();
}
[Required(), CustomValidation(typeof(FileStoreModel), "DirectoryPermissionRequired")]
public string FileStoreLocation { get; set; }
public FileStoreDirectoryModel DirectoryModel { get; set; }
public void ExpandDirectoryModel()
{
if (!string.IsNullOrWhiteSpace(FileStoreLocation))
{
var branches = this.FileStoreLocation.ToUpper().Split(Path.DirectorySeparatorChar);
var branchesCase = this.FileStoreLocation.Split(Path.DirectorySeparatorChar);
FileStoreDirectoryModel branchModel;
FileStoreDirectoryModel branchParent = this.DirectoryModel;
for (int i = 0; i < branches.Length; i++)
{
var branch = branches[i];
if (branchParent.SubDirectories.TryGetValue(branch, out branchModel))
{
branchModel.ExpandSubDirectories();
}
else
{
// New
branchModel = FileStoreDirectoryModel.FromNew(branchesCase[i], Path.Combine(branchParent.Path, branchesCase[i]));
branchParent.SubDirectories.Add(branchModel.Name.ToUpper(), branchModel);
}
branchParent = branchModel;
}
}
}
public static ValidationResult DirectoryPermissionRequired(object value, ValidationContext validationContext)
{
var instance = validationContext.ObjectInstance as FileStoreModel;
if (instance != null && !string.IsNullOrEmpty(instance.FileStoreLocation))
{
var stringValue = value as string;
DirectoryInfo info = new DirectoryInfo(stringValue);
if (!info.Exists)
{
// Try and Create
try
{
info.Create();
}
catch (Exception ex)
{
return new ValidationResult(string.Format("Unable to Create Directory '{0}'; [{1}] {2}", info.FullName, ex.GetType().Name, ex.Message));
}
}
}
return ValidationResult.Success;
}
public class FileStoreDirectoryModel
{
public string Name { get; set; }
public string Path { get; set; }
public bool IsNew { get; set; }
public bool Selectable { get; set; }
public Dictionary<string, FileStoreDirectoryModel> SubDirectories { get; set; }
internal static FileStoreDirectoryModel FromInfo(DirectoryInfo info)
{
return new FileStoreDirectoryModel()
{
Name = info.Name,
Path = info.FullName,
IsNew = false,
Selectable = (info.Root.Name != info.Name)
};
}
internal static FileStoreDirectoryModel FromNew(string Name, string FullPath)
{
return new FileStoreDirectoryModel()
{
Name = Name,
Path = FullPath,
IsNew = true,
Selectable = true,
SubDirectories = new Dictionary<string, FileStoreDirectoryModel>()
};
}
internal static FileStoreDirectoryModel FromInfo(DriveInfo info)
{
return new FileStoreDirectoryModel()
{
Name = info.Name.Substring(0, 2),
Path = info.RootDirectory.Name,
IsNew = false,
Selectable = false
};
}
internal static FileStoreDirectoryModel FromPath(string DirectoryPath, bool ExpandSubDirectories)
{
DirectoryInfo info = new DirectoryInfo(DirectoryPath);
if (info.Exists)
{
var fsd = FromInfo(info);
if (ExpandSubDirectories)
fsd.ExpandSubDirectories();
return fsd;
}
else
return null;
}
internal static FileStoreDirectoryModel DirectoryRoots()
{
var root = new FileStoreDirectoryModel()
{
Name = "ROOT",
Path = null,
IsNew = false,
Selectable = false,
SubDirectories = new Dictionary<string, FileStoreDirectoryModel>()
};
foreach (var driveInfo in DriveInfo.GetDrives())
{
if (driveInfo.DriveType == DriveType.Fixed)
root.SubDirectories.Add(driveInfo.Name.Substring(0, 2).ToUpper(), FileStoreDirectoryModel.FromInfo(driveInfo));
}
return root;
}
internal void ExpandSubDirectories()
{
if (this.SubDirectories == null)
{
this.SubDirectories = new Dictionary<string, FileStoreDirectoryModel>();
if (!this.IsNew)
{
var dirInfo = new DirectoryInfo(Path);
if (dirInfo.Exists)
{
foreach (var subDir in dirInfo.EnumerateDirectories())
{
this.SubDirectories.Add(subDir.Name.ToUpper(), FileStoreDirectoryModel.FromInfo(subDir));
}
}
else
{
this.IsNew = true;
}
}
}
}
}
}
}