annotate Demo/Asp.Net/Web/App_Code/WebUtility.cs @ 1:8f65451dc28f

Исправлена проблема с фабрикой и выборкой нескольких объектов в linq выражении
author cin
date Fri, 28 Mar 2014 01:04:56 +0400
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Text.RegularExpressions;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using System.Web;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 using System.Web.Caching;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using System.Configuration;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 using PetShop.BusinessLogic;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 namespace PetShop.Web
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 /// Collection of utility methods for web tier
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 public static class WebUtility
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 /// Method to make sure that user's inputs are not malicious
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 /// <param name="text">User's Input</param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 /// <param name="maxLength">Maximum length of input</param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 /// <returns>The cleaned up version of the input</returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 public static string InputText(string text, int maxLength)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 text = text.Trim();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 if (string.IsNullOrEmpty(text))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 return string.Empty;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 text = Regex.Replace(text, "[\\s]{2,}", " "); // two or more spaces
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 text = Regex.Replace(text, "(<[b|B][r|R]/*>)+|(<[p|P](.|\\n)*?>)", "\n"); // <br>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 text = Regex.Replace(text, "(\\s*&[n|N][b|B][s|S][p|P];\\s*)+", " "); // &nbsp;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 text = Regex.Replace(text, "<(.|\\n)*?>", string.Empty); // any other tags
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 text = text.Replace("'", "''");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 if (text.Length > maxLength)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 text = text.Substring(0, maxLength);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 return text;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 /// Method to check whether input has other characters than numbers
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 public static string CleanNonWord(string text)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 return Regex.Replace(text, "\\W", "");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 /// Method to redirect user to search page
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 /// <param name="key">Search keyword</param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 public static void SearchRedirect(string key)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 HttpContext.Current.Response.Redirect(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 string.Format("~/Search.aspx?keywords={0}", InputText(key, 255)));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 }