You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			135 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| //------------------------------------------------------------------------------
 | |
| // <copyright file="PersonalizationProviderHelper.cs" company="Microsoft">
 | |
| //     Copyright (c) Microsoft Corporation.  All rights reserved.
 | |
| // </copyright>
 | |
| //------------------------------------------------------------------------------
 | |
| 
 | |
| namespace System.Web.UI.WebControls.WebParts {
 | |
|     using System.Collections;
 | |
|     using System.Globalization;
 | |
|     using System.Web.Util;
 | |
| 
 | |
|     internal static class PersonalizationProviderHelper {
 | |
|         internal static string[] CheckAndTrimNonEmptyStringEntries(string[] array, string paramName,
 | |
|                                                                    bool throwIfArrayIsNull, bool checkCommas,
 | |
|                                                                    int lengthToCheck) {
 | |
|             if (array == null) {
 | |
|                 if (throwIfArrayIsNull) {
 | |
|                     throw new ArgumentNullException(paramName);
 | |
|                 }
 | |
|                 else {
 | |
|                     return null;
 | |
|                 }
 | |
|             }
 | |
|             if (array.Length == 0) {
 | |
|                 throw new ArgumentException(SR.GetString(SR.PersonalizationProviderHelper_Empty_Collection, paramName));
 | |
|             }
 | |
| 
 | |
|             string[] result = null;
 | |
| 
 | |
|             for (int i = 0; i < array.Length; i++) {
 | |
|                 string str = array[i];
 | |
|                 string trimmedStr = (str == null) ? null : str.Trim();
 | |
|                 if (String.IsNullOrEmpty(trimmedStr)) {
 | |
|                     throw new ArgumentException(SR.GetString(SR.PersonalizationProviderHelper_Null_Or_Empty_String_Entries, paramName));
 | |
|                 }
 | |
|                 if (checkCommas && trimmedStr.IndexOf(',') != -1) {
 | |
|                     throw new ArgumentException(SR.GetString(SR.PersonalizationProviderHelper_CannotHaveCommaInString, paramName, str));
 | |
|                 }
 | |
|                 if (lengthToCheck > -1 && trimmedStr.Length > lengthToCheck) {
 | |
|                     throw new ArgumentException(SR.GetString(SR.PersonalizationProviderHelper_Trimmed_Entry_Value_Exceed_Maximum_Length,
 | |
|                         str, paramName, lengthToCheck.ToString(CultureInfo.CurrentCulture)));
 | |
|                 }
 | |
| 
 | |
|                 if (str.Length != trimmedStr.Length) {
 | |
|                     if (result == null) {
 | |
|                         result = new string[array.Length];
 | |
|                         Array.Copy(array, result, i);
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 if (result != null) {
 | |
|                     result[i] = trimmedStr;
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             return ((result != null) ? result : array);
 | |
|         }
 | |
| 
 | |
|         internal static string CheckAndTrimStringWithoutCommas(string paramValue, string paramName) {
 | |
|             string trimmedValue = StringUtil.CheckAndTrimString(paramValue, paramName);
 | |
|             if (trimmedValue.IndexOf(',') != -1) {
 | |
|                 throw new ArgumentException(SR.GetString(SR.PersonalizationProviderHelper_CannotHaveCommaInString, paramName, paramValue));
 | |
|             }
 | |
|             return trimmedValue;
 | |
|         }
 | |
| 
 | |
|         internal static void CheckOnlyOnePathWithUsers(string[] paths, string[] usernames) {
 | |
|             if (usernames != null && usernames.Length > 0 &&
 | |
|                 paths != null && paths.Length > 1) {
 | |
|                 throw new ArgumentException(SR.GetString(SR.PersonalizationProviderHelper_More_Than_One_Path,
 | |
|                     "paths", "usernames"));
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         internal static void CheckNegativeInteger(int paramValue, string paramName) {
 | |
|             if (paramValue < 0) {
 | |
|                 throw new ArgumentException(
 | |
|                     SR.GetString(SR.PersonalizationProviderHelper_Negative_Integer),
 | |
|                     paramName);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         internal static void CheckNegativeReturnedInteger(int returnedValue, string methodName) {
 | |
|             if (returnedValue < 0) {
 | |
|                 throw new HttpException(SR.GetString(SR.PersonalizationAdmin_UnexpectedPersonalizationProviderReturnValue,
 | |
|                         returnedValue.ToString(CultureInfo.CurrentCulture),
 | |
|                         methodName));
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         internal static void CheckNullEntries(ICollection array, string paramName) {
 | |
|             if (array == null) {
 | |
|                 throw new ArgumentNullException(paramName);
 | |
|             }
 | |
|             if (array.Count == 0) {
 | |
|                 throw new ArgumentException(SR.GetString(SR.PersonalizationProviderHelper_Empty_Collection, paramName));
 | |
|             }
 | |
|             foreach (object item in array) {
 | |
|                 if (item == null) {
 | |
|                     throw new ArgumentException(SR.GetString(SR.PersonalizationProviderHelper_Null_Entries, paramName));
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         internal static void CheckPageIndexAndSize(int pageIndex, int pageSize) {
 | |
|             if (pageIndex < 0) {
 | |
|                 throw new ArgumentException(SR.GetString(SR.PersonalizationProviderHelper_Invalid_Less_Than_Parameter,
 | |
|                     "pageIndex", "0"));
 | |
|             }
 | |
|             if (pageSize < 1) {
 | |
|                 throw new ArgumentException(SR.GetString(SR.PersonalizationProviderHelper_Invalid_Less_Than_Parameter,
 | |
|                     "pageSize", "1"));
 | |
|             }
 | |
| 
 | |
|             long upperBound = (long)pageIndex * pageSize + pageSize - 1;
 | |
|             if (upperBound > Int32.MaxValue) {
 | |
|                 throw new ArgumentException(SR.GetString(SR.PageIndex_PageSize_bad));
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         internal static void CheckPersonalizationScope(PersonalizationScope scope) {
 | |
|             if (scope < PersonalizationScope.User || scope > PersonalizationScope.Shared) {
 | |
|                 throw new ArgumentOutOfRangeException("scope");
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         internal static void CheckUsernamesInSharedScope(string[] usernames) {
 | |
|             if (usernames != null) {
 | |
|                 throw new ArgumentException(SR.GetString(SR.PersonalizationProviderHelper_No_Usernames_Set_In_Shared_Scope,
 | |
|                     "usernames", "scope", PersonalizationScope.Shared.ToString()));
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |