root/trunk/eCard/eCardMVC/Platnosci/Helpers/WebHelper.cs @ 971

Wersja 971, 5.0 KB (wprowadzona przez marek, 16 years temu)

re #215

Line 
1using System;
2using System.Web.Mvc;
3using System.Web.Routing;
4using System.Configuration;
5
6namespace adMoto.Payments.Web.Helpers
7{
8    public static class WebHelper
9    {
10        public static string ImageTag(this HtmlHelper helper, string src, string alt)
11        {
12            var tb = new TagBuilder("img");
13            tb.Attributes.Add("src", helper.Encode(src));
14            tb.Attributes.Add("alt", helper.Encode(alt));
15            return tb.ToString(TagRenderMode.SelfClosing);
16        }
17        public static string ImageLink(this HtmlHelper htmlHelper, string filename, string alt, string querystring)
18        {
19           
20            var action = htmlHelper.CurrentAction();
21            var controller = htmlHelper.CurrentController();
22                                   
23            var urlHelper = ((Controller)htmlHelper.ViewContext.Controller).Url;
24            var src = urlHelper.UrlImage(filename);
25            var imgtag = htmlHelper.ImageTag(src, alt);
26           
27            var tab = new RouteValueDictionary();
28
29            var id = "";
30            if (htmlHelper.ViewContext.RouteData.Values["id"] != null) id = htmlHelper.ViewContext.RouteData.Values["id"].ToString();
31            tab.Add("language", alt);
32            if (id != null) tab.Add("id", id);
33
34            var url = urlHelper.Action(action, controller, tab);
35
36            var param = querystring.Split(("&").ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
37            for (var i = 0; i < param.Length; i++ )
38            {
39                if (i == 0 ) url += "?" + param[i];
40                else url += "&" + param[i];
41            }
42
43            var link = new TagBuilder("a");
44            link.Attributes.Add("href", url);
45            link.InnerHtml = imgtag;
46            return link.ToString();
47        }
48        public static string CurrentController(this HtmlHelper htmlHelper)
49        {
50            return htmlHelper.ViewContext.RouteData.Values["controller"].ToString();
51        }
52        public static string CurrentAction(this HtmlHelper htmlHelper)
53        {
54            return htmlHelper.ViewContext.RouteData.Values["action"].ToString();
55        } 
56        public static string Home(this UrlHelper urlHelper)
57        {
58            return urlHelper.Content("~/");
59        }
60        public static string Css(this UrlHelper urlHelper, string fileName)
61        {
62            var url = urlHelper.Home() + "Content/" + fileName;
63            return urlHelper.Content(url);
64        }
65        public static string UrlImage(this UrlHelper urlHelper, string fileName)
66        {
67            var url = urlHelper.Home() + "Images/" + fileName;           
68            return urlHelper.Content(url);
69        }
70        public static string FileUrl(this UrlHelper urlHelper, string fileName)
71        {
72            var url = urlHelper.Home() + "Images/";
73            switch (ConfigurationManager.AppSettings["Css"])
74            {
75                case "truck":
76                    url += "truck/";
77                    break;
78                case "admoto":
79                    url += "admoto/";
80                    break;
81            }
82            url += fileName;
83            return urlHelper.Content(url);
84        }
85        public static string MainCss(this HtmlHelper htmlHelper, string filename)
86        {
87            var urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext);
88            var url = urlHelper.Css(filename);
89            var strCss = htmlHelper.LinkTag(url, "stylesheet", "text/css");
90            return strCss;
91        }
92        public static string LinkTag(this HtmlHelper htmlHelper, string url, string rel, string type)
93        {
94            var linkcss = new TagBuilder("link");
95            linkcss.Attributes.Add("href", url);
96            linkcss.Attributes.Add("rel", rel);
97            if (type != "" ) linkcss.Attributes.Add("type", type);
98            return linkcss.ToString(TagRenderMode.SelfClosing);
99        }
100        public static string AddCssToPortal(this HtmlHelper htmlHelper)
101        {
102            var filename = "";
103            switch (ConfigurationManager.AppSettings["Css"])
104            {
105                case "truck":
106                    filename = "truck.css" ;
107                    break;
108                case "admoto":
109                    filename = "admoto.css";
110                    break;
111            }
112           
113            var css = htmlHelper.MainCss(filename);
114            return css;
115        }
116       
117        public static string Logo(this HtmlHelper helper)
118        {
119            var urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
120           
121            var logo = ConfigurationManager.AppSettings["Css"] == "admoto" ? "logo.png" : "logo.gif";
122
123            var url = urlHelper.FileUrl(logo);
124            var logotag = helper.ImageTag(url, "logo");
125           
126            var tb = new TagBuilder("td");
127            tb.Attributes.Add("class", "logo");
128
129            tb.InnerHtml = logotag;
130            return tb.ToString();
131        }
132    }
133}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.