public ValidationResult ValidateFilesystemPath(string path) { // This web service in turns call a WCF service which resides on the same or different systems. ValidationResult result = new ValidationResult(); if (String.IsNullOrEmpty(path)) { result.Success = false; result.ErrorCode = -1; result.ErrorText = ValidationErrors.FilesystemPathCannotBeEmpty ; return result; } FilesystemInfo fsInfo = null; result.Success = false; try { fsInfo = ServerUtility.GetFilesystemInfo(path); if (fsInfo!=null && fsInfo.Exists) { result.Success = true; } else { result.Success = false; result.ErrorText = String.Format(ValidationErrors.FilesystemPathInvalidOrUnreachable, path); } return result; } catch(Exception e) { result.Success = false; result.ErrorCode = 100; result.ErrorText = String.Format(ValidationErrors.UnableToValidatePath, path, e.Message); } return result; }
public ValidationResult ValidateServerRule(string serverRule, string ruleType) { ValidationResult result = new ValidationResult(); if (String.IsNullOrEmpty(serverRule)) { result.ErrorText = ValidationErrors.ServerRuleXMLIsMissing; result.Success = false; result.ErrorCode = -5000; return result; } ServerRuleTypeEnum type; try { type = ServerRuleTypeEnum.GetEnum(ruleType); } catch (Exception e) { result.ErrorText = String.Format(ValidationErrors.UnableToParseServerRuleXML, e.Message); result.Success = false; result.ErrorCode = -5000; return result; } XmlDocument theDoc = new XmlDocument(); try { string xml = Microsoft.JScript.GlobalObject.unescape(serverRule); if (type.Equals(ServerRuleTypeEnum.DataAccess)) { // Validated DataAccess rules only have the condition. Make a fake // rule that includes a non-op action xml = String.Format("<rule>{0}<action><no-op/></action></rule>", xml); } theDoc.LoadXml(xml); } catch (Exception e) { result.ErrorText = String.Format(ValidationErrors.UnableToParseServerRuleXML, e.Message); result.Success = false; result.ErrorCode = -5000; return result; } string error; if (false == Rule<ServerActionContext, ServerRuleTypeEnum>.ValidateRule(type, theDoc, out error)) { result.ErrorText = error; result.Success = false; result.ErrorCode = -5000; } else result.Success = true; return result; }
public ValidationResult ValidateUserGroupName(string userGroupName, string originalGroupName) { // This web service in turns call a WCF service which resides on the same or different systems. ValidationResult result = new ValidationResult(); if (String.IsNullOrEmpty(userGroupName)) { result.Success = false; result.ErrorCode = -1; result.ErrorText = ValidationErrors.UserGroupCannotBeEmpty; return result; } UserManagementController controller = new UserManagementController(); if (controller.ExistsUsergroup(userGroupName) && !userGroupName.Equals(originalGroupName)) { result.Success = false; result.ErrorCode = -1; result.ErrorText = String.Format(ValidationErrors.UserGroupAlreadyExists, userGroupName); ; return result; } else { result.Success = true; } return result; }