public static Models.ValidationResult CheckApprovalAndChecksum(Models.Image image,int userId) { var validationResult = new Models.ValidationResult(); if (image == null) { validationResult.IsValid = false; validationResult.Message = "Image Does Not Exist"; return validationResult; } if (image.Enabled == 0) { validationResult.IsValid = false; validationResult.Message = "Image Is Not Enabled"; return validationResult; } if (Settings.RequireImageApproval.ToLower() == "true") { var user = BLL.User.GetUser(userId); if (user.Membership != "Administrator") //administrators don't need image approval { if (!Convert.ToBoolean(image.Approved)) { validationResult.IsValid = false; validationResult.Message = "Image Has Not Been Approved"; return validationResult; } } } validationResult.IsValid = true; return validationResult; }
public static Models.ValidationResult ValidateDistributionPoint(Models.DistributionPoint distributionPoint, bool isNewDistributionPoint) { var validationResult = new Models.ValidationResult(); if (Convert.ToBoolean(distributionPoint.IsPrimary)) { if (!distributionPoint.PhysicalPath.Trim().EndsWith(Path.DirectorySeparatorChar.ToString())) { distributionPoint.PhysicalPath += Path.DirectorySeparatorChar; } } if (string.IsNullOrEmpty(distributionPoint.DisplayName) || distributionPoint.DisplayName.Contains(" ")) { validationResult.IsValid = false; validationResult.Message = "Distribution Point Name Is Not Valid"; return(validationResult); } if (isNewDistributionPoint) { var primaryDp = GetPrimaryDistributionPoint(); if (primaryDp != null && Convert.ToBoolean(distributionPoint.IsPrimary)) { validationResult.IsValid = false; validationResult.Message = "There Can Only Be One Primary Distribution Point"; return(validationResult); } using (var uow = new DAL.UnitOfWork()) { if (uow.DistributionPointRepository.Exists(h => h.DisplayName == distributionPoint.DisplayName)) { validationResult.IsValid = false; validationResult.Message = "This Distribution Point Already Exists"; return(validationResult); } } } else { using (var uow = new DAL.UnitOfWork()) { var originalDistributionPoint = uow.DistributionPointRepository.GetById(distributionPoint.Id); if (originalDistributionPoint.DisplayName != distributionPoint.DisplayName) { if (uow.DistributionPointRepository.Exists(h => h.DisplayName == distributionPoint.DisplayName)) { validationResult.IsValid = false; validationResult.Message = "This Distribution Point Already Exists"; return(validationResult); } } } } return(validationResult); }
public Models.ValidationResult GlobalLogin(string userName, string password, string loginType) { var tmp = Helpers.Utility.CreatePasswordHash("password", "salt"); var validationResult = new Models.ValidationResult { Message = "Login Was Not Successful", IsValid = false }; //Check if user exists in Clone Deploy var user = BLL.User.GetUser(userName); if (user == null) return validationResult; if (BLL.UserLockout.AccountIsLocked(user.Id)) { BLL.UserLockout.ProcessBadLogin(user.Id); validationResult.Message = "Account Is Locked"; return validationResult; } //Check against AD if (!string.IsNullOrEmpty(Settings.AdLoginDomain)) { try { var context = new PrincipalContext(ContextType.Domain, Settings.AdLoginDomain, userName, password); var adUser = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, userName); if (adUser != null) validationResult.IsValid = true; } catch (Exception) { //Fallback to local db in case ad auth isn't working var hash = Helpers.Utility.CreatePasswordHash(password, user.Salt); if (user.Password == hash) validationResult.IsValid = true; } } //Check against local DB else { var hash = Helpers.Utility.CreatePasswordHash(password, user.Salt); if (user.Password == hash) validationResult.IsValid = true; } if (validationResult.IsValid) { BLL.UserLockout.DeleteUserLockouts(user.Id); validationResult.Message = "Success"; return validationResult; } else { BLL.UserLockout.ProcessBadLogin(user.Id); return validationResult; } }
public static Models.ValidationResult ValidateTemplate(Models.FileFolder fileFolder, bool isNewTemplate) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(fileFolder.Name)) { validationResult.IsValid = false; validationResult.Message = "Name Is Not Valid"; return(validationResult); } if (fileFolder.Path.Trim().EndsWith("/") || fileFolder.Path.Trim().EndsWith(@"\")) { char[] toRemove = { '/', '\\' }; string trimmed = fileFolder.Path.TrimEnd(toRemove); fileFolder.Path = trimmed; } if (fileFolder.Path.Trim().StartsWith("/") || fileFolder.Path.Trim().StartsWith(@"\")) { char[] toRemove = { '/', '\\' }; string trimmed = fileFolder.Path.TrimStart(toRemove); fileFolder.Path = trimmed; } fileFolder.Path = Utility.WindowsToUnixFilePath(fileFolder.Path); if (isNewTemplate) { using (var uow = new DAL.UnitOfWork()) { if (uow.FileFolderRepository.Exists(h => h.Name == fileFolder.Name)) { validationResult.IsValid = false; validationResult.Message = "File / Folder Name Already Exists"; return(validationResult); } } } else { using (var uow = new DAL.UnitOfWork()) { var originalTemplate = uow.FileFolderRepository.GetById(fileFolder.Id); if (originalTemplate.Name != fileFolder.Name) { if (uow.FileFolderRepository.Exists(h => h.Name == fileFolder.Name)) { validationResult.IsValid = false; validationResult.Message = "File / Folder Already Exists"; return(validationResult); } } } } return(validationResult); }
public static Models.ValidationResult ValidateTemplate(Models.FileFolder fileFolder, bool isNewTemplate) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(fileFolder.Name)) { validationResult.IsValid = false; validationResult.Message = "Name Is Not Valid"; return validationResult; } if (fileFolder.Path.Trim().EndsWith("/") || fileFolder.Path.Trim().EndsWith(@"\")) { char[] toRemove = { '/', '\\' }; string trimmed = fileFolder.Path.TrimEnd(toRemove); fileFolder.Path = trimmed; } if (fileFolder.Path.Trim().StartsWith("/") || fileFolder.Path.Trim().StartsWith(@"\")) { char[] toRemove = { '/', '\\' }; string trimmed = fileFolder.Path.TrimStart(toRemove); fileFolder.Path = trimmed; } fileFolder.Path = Utility.WindowsToUnixFilePath(fileFolder.Path); if (isNewTemplate) { using (var uow = new DAL.UnitOfWork()) { if (uow.FileFolderRepository.Exists(h => h.Name == fileFolder.Name)) { validationResult.IsValid = false; validationResult.Message = "File / Folder Name Already Exists"; return validationResult; } } } else { using (var uow = new DAL.UnitOfWork()) { var originalTemplate = uow.FileFolderRepository.GetById(fileFolder.Id); if (originalTemplate.Name != fileFolder.Name) { if (uow.FileFolderRepository.Exists(h => h.Name == fileFolder.Name)) { validationResult.IsValid = false; validationResult.Message = "File / Folder Already Exists"; return validationResult; } } } } return validationResult; }
public static Models.ValidationResult ValidateDistributionPoint(Models.DistributionPoint distributionPoint, bool isNewDistributionPoint) { var validationResult = new Models.ValidationResult(); if(Convert.ToBoolean(distributionPoint.IsPrimary)) if (!distributionPoint.PhysicalPath.Trim().EndsWith(Path.DirectorySeparatorChar.ToString())) distributionPoint.PhysicalPath += Path.DirectorySeparatorChar; if (string.IsNullOrEmpty(distributionPoint.DisplayName) || distributionPoint.DisplayName.Contains(" ")) { validationResult.IsValid = false; validationResult.Message = "Distribution Point Name Is Not Valid"; return validationResult; } if (isNewDistributionPoint) { var primaryDp = GetPrimaryDistributionPoint(); if (primaryDp != null && Convert.ToBoolean(distributionPoint.IsPrimary)) { validationResult.IsValid = false; validationResult.Message = "There Can Only Be One Primary Distribution Point"; return validationResult; } using (var uow = new DAL.UnitOfWork()) { if (uow.DistributionPointRepository.Exists(h => h.DisplayName == distributionPoint.DisplayName)) { validationResult.IsValid = false; validationResult.Message = "This Distribution Point Already Exists"; return validationResult; } } } else { using (var uow = new DAL.UnitOfWork()) { var originalDistributionPoint = uow.DistributionPointRepository.GetById(distributionPoint.Id); if (originalDistributionPoint.DisplayName != distributionPoint.DisplayName) { if (uow.DistributionPointRepository.Exists(h => h.DisplayName == distributionPoint.DisplayName)) { validationResult.IsValid = false; validationResult.Message = "This Distribution Point Already Exists"; return validationResult; } } } } return validationResult; }
public static Models.ValidationResult DeleteImage(Models.Image image) { var result = new Models.ValidationResult() { IsValid = false }; using (var uow = new DAL.UnitOfWork()) { if (Convert.ToBoolean(image.Protected)) { result.Message = "This Image Is Protected And Cannot Be Deleted"; result.IsValid = false; return(result); } uow.ImageRepository.Delete(image.Id); if (uow.Save()) { if (string.IsNullOrEmpty(image.Name)) { return(result); } BLL.UserImageManagement.DeleteImage(image.Id); BLL.ImageProfile.DeleteImage(image.Id); try { if (Directory.Exists(Settings.PrimaryStoragePath + "images" + Path.DirectorySeparatorChar + image.Name)) { Directory.Delete(Settings.PrimaryStoragePath + "images" + Path.DirectorySeparatorChar + image.Name, true); } result.IsValid = true; } catch (Exception ex) { Logger.Log(ex.Message); result.Message = "Could Not Delete Image Folder"; result.IsValid = false; } } else { result.Message = "Could Not Delete Image"; result.IsValid = false; } return(result); } }
private ValidationResults CheckViews(XDocument customizationsXml) { ValidationResults results = new ValidationResults(); var entitiesXml = (from c in customizationsXml.Descendants("Entity") select c).Distinct(); Dictionary <string, List <XElement> > viewsCollections = new Dictionary <string, List <XElement> >(); foreach (var entityXml in entitiesXml) { if (entityXml.Element("EntityInfo") != null && entityXml.Element("EntityInfo").Element("entity") != null) { if (entityXml.Element("EntityInfo").Element("entity").Element("EntitySetName") != null && !entityXml.Element("EntityInfo").Element("entity").Element("EntitySetName").Value.Contains("_") && entityXml.Descendants("savedquery") != null) { viewsCollections[entityXml.Descendants("EntitySetName").ElementAt(0).Value] = (from x in entityXml.Descendants("savedquery") select x).ToList <XElement>(); } } } foreach (var viewCollection in viewsCollections) { if (viewCollection.Value.Count > 0) { StringBuilder stringBuilder = new StringBuilder(); Models.ValidationResult result = new Models.ValidationResult(); stringBuilder.Append("Only add these views to the solution:\n\n"); foreach (XElement viewElement in viewCollection.Value) { if (viewElement.Descendants("LocalizedName") != null) { stringBuilder.Append(viewElement.Descendants("LocalizedName").ElementAt(0).Attribute("description").Value + ", \n"); result.IDs.Add(new Guid(viewElement.Element("savedqueryid").Value)); } } if (viewsCollections.Count > 0) { result.EntityLogicalName = viewCollection.Key; result.SolutionComponentType = SolutionComponentType.View; result.Description = stringBuilder.ToString(); result.Suggestions = "Try to have only the needed views in the solution. Any custom views or a modified managed views are good to be in the solution but nothing else."; result.Regarding = viewCollection.Key + " " + "Entity Views"; results.AddResult(result); } } } AllResults.AddResultSet(results); return(results); }
private ValidationResults CheckAttributes(XDocument customizationsXml) { ValidationResults results = new ValidationResults(); var entitiesXml = (from c in customizationsXml.Descendants("Entity") select c).Distinct(); Dictionary <string, List <XElement> > attributesCollections = new Dictionary <string, List <XElement> >(); foreach (var entityXml in entitiesXml) { if (entityXml.Element("EntityInfo") != null && entityXml.Element("EntityInfo").Element("entity") != null) { if (entityXml.Element("EntityInfo").Element("entity").Element("EntitySetName") != null && !entityXml.Element("EntityInfo").Element("entity").Element("EntitySetName").Value.Contains("_") && entityXml.Descendants("attribute") != null) { attributesCollections[entityXml.Element("EntityInfo").Element("entity").Element("EntitySetName").Value] = (from x in entityXml.Descendants("attribute") select x).ToList <XElement>(); } } } foreach (var attCollection in attributesCollections) { if (attCollection.Value.Count > 0) { StringBuilder s = new StringBuilder(); Models.ValidationResult result = new Models.ValidationResult(); s.Append("Only add these fields to the solution:\n\n"); foreach (XElement attElement in attCollection.Value) { if (attElement.Attribute("PhysicalName") != null && attElement.Descendants("displayname") != null) { s.Append($"{attElement.Descendants("displayname").ElementAt(0).Attribute("description").Value} ({ attElement.Attribute("PhysicalName").Value}), \n"); result.LogicalNames.Add(attElement.Element("LogicalName").Value); } } if (attributesCollections.Count > 0) { result.EntityLogicalName = attCollection.Key; result.SolutionComponentType = SolutionComponentType.Attribute; result.Description = s.ToString(); result.Suggestions = "Try to have only the needed fields in the solution. Any custom field or a modified managed field are good to be in the solution but nothing else."; result.Regarding = attCollection.Key + " " + "Entity Fields"; results.AddResult(result); } } } AllResults.AddResultSet(results); return(results); }
public static Models.ValidationResult DeleteImage(Models.Image image) { var result = new Models.ValidationResult(){IsValid = false}; using (var uow = new DAL.UnitOfWork()) { if (Convert.ToBoolean(image.Protected)) { result.Message = "This Image Is Protected And Cannot Be Deleted"; result.IsValid = false; return result; } uow.ImageRepository.Delete(image.Id); if (uow.Save()) { if (string.IsNullOrEmpty(image.Name)) return result; BLL.UserImageManagement.DeleteImage(image.Id); BLL.ImageProfile.DeleteImage(image.Id); try { if (Directory.Exists(Settings.PrimaryStoragePath + "images" + Path.DirectorySeparatorChar + image.Name)) Directory.Delete(Settings.PrimaryStoragePath + "images" + Path.DirectorySeparatorChar + image.Name, true); result.IsValid = true; } catch (Exception ex) { Logger.Log(ex.Message); result.Message = "Could Not Delete Image Folder"; result.IsValid = false; } } else { result.Message = "Could Not Delete Image"; result.IsValid = false; } return result; } }
public static Models.ValidationResult ValidateScript(Models.Script script, bool isNewScript) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(script.Name) || !script.Name.All(c => char.IsLetterOrDigit(c) || c == '_')) { validationResult.IsValid = false; validationResult.Message = "Script Name Is Not Valid"; return(validationResult); } if (isNewScript) { using (var uow = new DAL.UnitOfWork()) { if (uow.ScriptRepository.Exists(h => h.Name == script.Name)) { validationResult.IsValid = false; validationResult.Message = "This Script Already Exists"; return(validationResult); } } } else { using (var uow = new DAL.UnitOfWork()) { var originalScript = uow.ScriptRepository.GetById(script.Id); if (originalScript.Name != script.Name) { if (uow.ScriptRepository.Exists(h => h.Name == script.Name)) { validationResult.IsValid = false; validationResult.Message = "This Script Already Exists"; return(validationResult); } } } } return(validationResult); }
public static Models.ValidationResult ValidateRoom(Models.Room room, bool isNewRoom) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(room.Name) || !room.Name.All(c => char.IsLetterOrDigit(c) || c == '_')) { validationResult.IsValid = false; validationResult.Message = "Room Name Is Not Valid"; return(validationResult); } if (isNewRoom) { using (var uow = new DAL.UnitOfWork()) { if (uow.RoomRepository.Exists(h => h.Name == room.Name)) { validationResult.IsValid = false; validationResult.Message = "This Room Already Exists"; return(validationResult); } } } else { using (var uow = new DAL.UnitOfWork()) { var originalRoom = uow.RoomRepository.GetById(room.Id); if (originalRoom.Name != room.Name) { if (uow.RoomRepository.Exists(h => h.Name == room.Name)) { validationResult.IsValid = false; validationResult.Message = "This Room Already Exists"; return(validationResult); } } } } return(validationResult); }
public static Models.ValidationResult ValidateBuilding(Models.Building building, bool isNewBuilding) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(building.Name) || building.Name.Contains(" ")) { validationResult.IsValid = false; validationResult.Message = "Building Name Is Not Valid"; return validationResult; } if (isNewBuilding) { using (var uow = new DAL.UnitOfWork()) { if (uow.BuildingRepository.Exists(h => h.Name == building.Name)) { validationResult.IsValid = false; validationResult.Message = "This Building Already Exists"; return validationResult; } } } else { using (var uow = new DAL.UnitOfWork()) { var originalBuilding = uow.BuildingRepository.GetById(building.Id); if (originalBuilding.Name != building.Name) { if (uow.BuildingRepository.Exists(h => h.Name == building.Name)) { validationResult.IsValid = false; validationResult.Message = "This Building Already Exists"; return validationResult; } } } } return validationResult; }
public static Models.ValidationResult ValidateEntry(Models.BootEntry bootEntry, bool isNewEntry) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(bootEntry.Name)) { validationResult.IsValid = false; validationResult.Message = "Boot Entry Name Is Not Valid"; return validationResult; } if (isNewEntry) { using (var uow = new DAL.UnitOfWork()) { if (uow.BootEntryRepository.Exists(h => h.Name == bootEntry.Name)) { validationResult.IsValid = false; validationResult.Message = "This Boot Entry Already Exists"; return validationResult; } } } else { using (var uow = new DAL.UnitOfWork()) { var originalTemplate = uow.BootEntryRepository.GetById(bootEntry.Id); if (originalTemplate.Name != bootEntry.Name) { if (uow.BootEntryRepository.Exists(h => h.Name == bootEntry.Name)) { validationResult.IsValid = false; validationResult.Message = "This Boot Template Already Exists"; return validationResult; } } } } return validationResult; }
public static Models.ValidationResult ValidateBuilding(Models.Building building, bool isNewBuilding) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(building.Name) || building.Name.Contains(" ")) { validationResult.IsValid = false; validationResult.Message = "Building Name Is Not Valid"; return(validationResult); } if (isNewBuilding) { using (var uow = new DAL.UnitOfWork()) { if (uow.BuildingRepository.Exists(h => h.Name == building.Name)) { validationResult.IsValid = false; validationResult.Message = "This Building Already Exists"; return(validationResult); } } } else { using (var uow = new DAL.UnitOfWork()) { var originalBuilding = uow.BuildingRepository.GetById(building.Id); if (originalBuilding.Name != building.Name) { if (uow.BuildingRepository.Exists(h => h.Name == building.Name)) { validationResult.IsValid = false; validationResult.Message = "This Building Already Exists"; return(validationResult); } } } } return(validationResult); }
public static Models.ValidationResult ValidateSite(Models.Site site, bool isNewSite) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(site.Name)) { validationResult.IsValid = false; validationResult.Message = "Site Name Is Not Valid"; return(validationResult); } if (isNewSite) { using (var uow = new DAL.UnitOfWork()) { if (uow.SiteRepository.Exists(h => h.Name == site.Name)) { validationResult.IsValid = false; validationResult.Message = "This Site Already Exists"; return(validationResult); } } } else { using (var uow = new DAL.UnitOfWork()) { var originalSite = uow.SiteRepository.GetById(site.Id); if (originalSite.Name != site.Name) { if (uow.SiteRepository.Exists(h => h.Name == site.Name)) { validationResult.IsValid = false; validationResult.Message = "This Site Already Exists"; return(validationResult); } } } } return(validationResult); }
public static Models.ValidationResult ValidateImage(Models.Image image, bool isNewImage) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(image.Name) || !image.Name.All(c => char.IsLetterOrDigit(c) || c == '_' || c == '-')) { validationResult.IsValid = false; validationResult.Message = "Image Name Is Not Valid"; return(validationResult); } if (isNewImage) { using (var uow = new DAL.UnitOfWork()) { if (uow.ImageRepository.Exists(h => h.Name == image.Name)) { validationResult.IsValid = false; validationResult.Message = "This Image Already Exists"; return(validationResult); } } } else { using (var uow = new DAL.UnitOfWork()) { var originalImage = uow.ImageRepository.GetById(image.Id); if (originalImage.Name != image.Name) { if (uow.ImageRepository.Exists(h => h.Name == image.Name)) { validationResult.IsValid = false; validationResult.Message = "This Image Already Exists"; return(validationResult); } } } } return(validationResult); }
public static Models.ValidationResult ValidateRoom(Models.Room room, bool isNewRoom) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(room.Name) || !room.Name.All(c => char.IsLetterOrDigit(c) || c == '_')) { validationResult.IsValid = false; validationResult.Message = "Room Name Is Not Valid"; return validationResult; } if (isNewRoom) { using (var uow = new DAL.UnitOfWork()) { if (uow.RoomRepository.Exists(h => h.Name == room.Name)) { validationResult.IsValid = false; validationResult.Message = "This Room Already Exists"; return validationResult; } } } else { using (var uow = new DAL.UnitOfWork()) { var originalRoom = uow.RoomRepository.GetById(room.Id); if (originalRoom.Name != room.Name) { if (uow.RoomRepository.Exists(h => h.Name == room.Name)) { validationResult.IsValid = false; validationResult.Message = "This Room Already Exists"; return validationResult; } } } } return validationResult; }
public static Models.ValidationResult ValidateManifest(Models.MunkiManifestTemplate manifest, bool isNewManifest) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(manifest.Name) || manifest.Name.Contains(" ")) { validationResult.IsValid = false; validationResult.Message = "Manifest Name Is Not Valid"; return(validationResult); } if (isNewManifest) { using (var uow = new DAL.UnitOfWork()) { if (uow.MunkiManifestRepository.Exists(h => h.Name == manifest.Name)) { validationResult.IsValid = false; validationResult.Message = "This Manifest Already Exists"; return(validationResult); } } } else { using (var uow = new DAL.UnitOfWork()) { var originalManifest = uow.MunkiManifestRepository.GetById(manifest.Id); if (originalManifest.Name != manifest.Name) { if (uow.MunkiManifestRepository.Exists(h => h.Name == manifest.Name)) { validationResult.IsValid = false; validationResult.Message = "This Manifest Already Exists"; return(validationResult); } } } } return(validationResult); }
public static Models.ValidationResult ValidateSite(Models.Site site, bool isNewSite) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(site.Name)) { validationResult.IsValid = false; validationResult.Message = "Site Name Is Not Valid"; return validationResult; } if (isNewSite) { using (var uow = new DAL.UnitOfWork()) { if (uow.SiteRepository.Exists(h => h.Name == site.Name)) { validationResult.IsValid = false; validationResult.Message = "This Site Already Exists"; return validationResult; } } } else { using (var uow = new DAL.UnitOfWork()) { var originalSite = uow.SiteRepository.GetById(site.Id); if (originalSite.Name != site.Name) { if (uow.SiteRepository.Exists(h => h.Name == site.Name)) { validationResult.IsValid = false; validationResult.Message = "This Site Already Exists"; return validationResult; } } } } return validationResult; }
public static Models.ValidationResult ValidatePartitionLayout(Models.PartitionLayout partitionLayout, bool isNewPartitionLayout) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(partitionLayout.Name) || partitionLayout.Name.All(c => char.IsLetterOrDigit(c) || c == '_')) { validationResult.IsValid = false; validationResult.Message = "Partition Layout Name Is Not Valid"; return(validationResult); } if (isNewPartitionLayout) { using (var uow = new DAL.UnitOfWork()) { if (uow.PartitionLayoutRepository.Exists(h => h.Name == partitionLayout.Name)) { validationResult.IsValid = false; validationResult.Message = "This Partition Layout Already Exists"; return(validationResult); } } } else { using (var uow = new DAL.UnitOfWork()) { var originalPartitionLayout = uow.PartitionLayoutRepository.GetById(partitionLayout.Id); if (originalPartitionLayout.Name != partitionLayout.Name) { if (uow.PartitionLayoutRepository.Exists(h => h.Name == partitionLayout.Name)) { validationResult.IsValid = false; validationResult.Message = "This Partition Layout Already Exists"; return(validationResult); } } } } return(validationResult); }
public static Models.ValidationResult ValidateTemplate(Models.BootTemplate bootTemplate, bool isNewTemplate) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(bootTemplate.Name) || bootTemplate.Name.Contains(" ")) { validationResult.IsValid = false; validationResult.Message = "Template Name Is Not Valid"; return(validationResult); } if (isNewTemplate) { using (var uow = new DAL.UnitOfWork()) { if (uow.BootTemplateRepository.Exists(h => h.Name == bootTemplate.Name)) { validationResult.IsValid = false; validationResult.Message = "This Boot Template Already Exists"; return(validationResult); } } } else { using (var uow = new DAL.UnitOfWork()) { var originalTemplate = uow.BootTemplateRepository.GetById(bootTemplate.Id); if (originalTemplate.Name != bootTemplate.Name) { if (uow.BootTemplateRepository.Exists(h => h.Name == bootTemplate.Name)) { validationResult.IsValid = false; validationResult.Message = "This Boot Template Already Exists"; return(validationResult); } } } } return(validationResult); }
public static Models.ValidationResult ValidateScript(Models.Script script, bool isNewScript) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(script.Name) || !script.Name.All(c => char.IsLetterOrDigit(c) || c == '_')) { validationResult.IsValid = false; validationResult.Message = "Script Name Is Not Valid"; return validationResult; } if (isNewScript) { using (var uow = new DAL.UnitOfWork()) { if (uow.ScriptRepository.Exists(h => h.Name == script.Name)) { validationResult.IsValid = false; validationResult.Message = "This Script Already Exists"; return validationResult; } } } else { using (var uow = new DAL.UnitOfWork()) { var originalScript = uow.ScriptRepository.GetById(script.Id); if (originalScript.Name != script.Name) { if (uow.ScriptRepository.Exists(h => h.Name == script.Name)) { validationResult.IsValid = false; validationResult.Message = "This Script Already Exists"; return validationResult; } } } } return validationResult; }
public static Models.ValidationResult ValidateImageProfile(Models.ImageProfile imageProfile, bool isNewImageProfile) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(imageProfile.Name) || !imageProfile.Name.All(c => char.IsLetterOrDigit(c) || c == '_')) { validationResult.IsValid = false; validationResult.Message = "Image Profile Name Is Not Valid"; return validationResult; } if (isNewImageProfile) { using (var uow = new DAL.UnitOfWork()) { if (uow.ImageProfileRepository.Exists(h => h.Name == imageProfile.Name && h.ImageId == imageProfile.ImageId)) { validationResult.IsValid = false; validationResult.Message = "This Image Profile Already Exists"; return validationResult; } } } else { using (var uow = new DAL.UnitOfWork()) { var originalImageProfile = uow.ImageProfileRepository.GetById(imageProfile.Id); if (originalImageProfile.Name != imageProfile.Name) { if (uow.ImageProfileRepository.Exists(h => h.Name == imageProfile.Name && h.ImageId == imageProfile.ImageId)) { validationResult.IsValid = false; validationResult.Message = "This Image Profile Already Exists"; return validationResult; } } } } return validationResult; }
public static Models.ValidationResult ValidateManifest(Models.MunkiManifestTemplate manifest, bool isNewManifest) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(manifest.Name) || manifest.Name.Contains(" ")) { validationResult.IsValid = false; validationResult.Message = "Manifest Name Is Not Valid"; return validationResult; } if (isNewManifest) { using (var uow = new DAL.UnitOfWork()) { if (uow.MunkiManifestRepository.Exists(h => h.Name == manifest.Name)) { validationResult.IsValid = false; validationResult.Message = "This Manifest Already Exists"; return validationResult; } } } else { using (var uow = new DAL.UnitOfWork()) { var originalManifest = uow.MunkiManifestRepository.GetById(manifest.Id); if (originalManifest.Name != manifest.Name) { if (uow.MunkiManifestRepository.Exists(h => h.Name == manifest.Name)) { validationResult.IsValid = false; validationResult.Message = "This Manifest Already Exists"; return validationResult; } } } } return validationResult; }
public static Models.ValidationResult ValidatePartitionLayout(Models.PartitionLayout partitionLayout, bool isNewPartitionLayout) { var validationResult = new Models.ValidationResult(); if (string.IsNullOrEmpty(partitionLayout.Name) || partitionLayout.Name.All(c => char.IsLetterOrDigit(c) || c == '_')) { validationResult.IsValid = false; validationResult.Message = "Partition Layout Name Is Not Valid"; return validationResult; } if (isNewPartitionLayout) { using (var uow = new DAL.UnitOfWork()) { if (uow.PartitionLayoutRepository.Exists(h => h.Name == partitionLayout.Name)) { validationResult.IsValid = false; validationResult.Message = "This Partition Layout Already Exists"; return validationResult; } } } else { using (var uow = new DAL.UnitOfWork()) { var originalPartitionLayout = uow.PartitionLayoutRepository.GetById(partitionLayout.Id); if (originalPartitionLayout.Name != partitionLayout.Name) { if (uow.PartitionLayoutRepository.Exists(h => h.Name == partitionLayout.Name)) { validationResult.IsValid = false; validationResult.Message = "This Partition Layout Already Exists"; return validationResult; } } } } return validationResult; }
public static Models.ValidationResult CheckApprovalAndChecksum(Models.Image image, int userId) { var validationResult = new Models.ValidationResult(); if (image == null) { validationResult.IsValid = false; validationResult.Message = "Image Does Not Exist"; return(validationResult); } if (image.Enabled == 0) { validationResult.IsValid = false; validationResult.Message = "Image Is Not Enabled"; return(validationResult); } if (Settings.RequireImageApproval.ToLower() == "true") { var user = BLL.User.GetUser(userId); if (user.Membership != "Administrator") //administrators don't need image approval { if (!Convert.ToBoolean(image.Approved)) { validationResult.IsValid = false; validationResult.Message = "Image Has Not Been Approved"; return(validationResult); } } } validationResult.IsValid = true; return(validationResult); }
public static Models.ValidationResult ValidateComputer(Models.Computer computer, string type) { var validationResult = new Models.ValidationResult { IsValid = false }; if (type == "new" || type == "update") { if (string.IsNullOrEmpty(computer.Name) || computer.Name.Any(c => c == ' ')) { validationResult.Message = "Computer Name Is Not Valid"; return(validationResult); } if (string.IsNullOrEmpty(computer.Mac) || !computer.Mac.All(c => char.IsLetterOrDigit(c) || c == ':' || c == '-') && (computer.Mac.Length == 12 && !computer.Mac.All(char.IsLetterOrDigit))) { validationResult.Message = "Computer Mac Is Not Valid"; return(validationResult); } if (type == "new") { using (var uow = new DAL.UnitOfWork()) { if (uow.ComputerRepository.Exists(h => h.Name == computer.Name || h.Mac == computer.Mac)) { validationResult.Message = "This Computer Already Exists"; return(validationResult); } } } else { using (var uow = new DAL.UnitOfWork()) { var originalComputer = uow.ComputerRepository.GetById(computer.Id); if (originalComputer.Name != computer.Name) { if (uow.ComputerRepository.Exists(h => h.Name == computer.Name)) { validationResult.Message = "This Computer Already Exists"; return(validationResult); } } else if (originalComputer.Mac != computer.Mac) { if (uow.ComputerRepository.Exists(h => h.Mac == computer.Mac)) { validationResult.Message = "This Computer Already Exists"; return(validationResult); } } } } } if (type == "delete") { if (BLL.ActiveImagingTask.IsComputerActive(computer.Id)) { validationResult.Message = "A Computer Cannot Be Deleted While It Has An Active Task"; return(validationResult); } } validationResult.IsValid = true; return(validationResult); }
public static Models.ValidationResult ValidateComputer(Models.Computer computer, string type) { var validationResult = new Models.ValidationResult {IsValid = false}; if (type == "new" || type == "update") { if (string.IsNullOrEmpty(computer.Name) || computer.Name.Any(c => c == ' ')) { validationResult.Message = "Computer Name Is Not Valid"; return validationResult; } if (string.IsNullOrEmpty(computer.Mac) || !computer.Mac.All(c => char.IsLetterOrDigit(c) || c == ':' || c == '-') && (computer.Mac.Length == 12 && !computer.Mac.All(char.IsLetterOrDigit))) { validationResult.Message = "Computer Mac Is Not Valid"; return validationResult; } if (type == "new") { using (var uow = new DAL.UnitOfWork()) { if (uow.ComputerRepository.Exists(h => h.Name == computer.Name || h.Mac == computer.Mac)) { validationResult.Message = "This Computer Already Exists"; return validationResult; } } } else { using (var uow = new DAL.UnitOfWork()) { var originalComputer = uow.ComputerRepository.GetById(computer.Id); if (originalComputer.Name != computer.Name) { if (uow.ComputerRepository.Exists(h => h.Name == computer.Name)) { validationResult.Message = "This Computer Already Exists"; return validationResult; } } else if (originalComputer.Mac != computer.Mac) { if (uow.ComputerRepository.Exists(h => h.Mac == computer.Mac)) { validationResult.Message = "This Computer Already Exists"; return validationResult; } } } } } if (type == "delete") { if (BLL.ActiveImagingTask.IsComputerActive(computer.Id)) { validationResult.Message = "A Computer Cannot Be Deleted While It Has An Active Task"; return validationResult; } } validationResult.IsValid = true; return validationResult; }
public static Models.ValidationResult CheckApprovalAndChecksum(Models.Image image) { var validationResult = new Models.ValidationResult(); if (image == null) { validationResult.IsValid = false; validationResult.Message = "Image Does Not Exist"; return validationResult; } if (image.Enabled == 0) { validationResult.IsValid = false; validationResult.Message = "Image Is Not Enabled"; return validationResult; } if (Settings.RequireImageApproval.ToLower() == "true") { if (!Convert.ToBoolean(image.Approved)) { validationResult.IsValid = false; validationResult.Message = "Image Has Not Been Approved"; return validationResult; } } validationResult.IsValid = true; return validationResult; }