Пример #1
0
        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;
        }
Пример #2
0
        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;
        }
Пример #3
0
        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;
        }