Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Примеры дипломов / ВКР_Ботов.pdf

Скачиваний:
35
Добавлен:
13.05.2015
Размер:
2 Мб
Скачать

Рис. П1.5 «Подтверждение оплаты»

Рис. П1.6 «Сбор адреса доставки в процессе оплаты»

62

Рис. П1.7 «Определение метода доставки»

Рис. П1.8 «Уведомительное сообщение»

63

Рис. П1.9 «Корзина покупателя»

64

ПРИЛОЖЕНИЕ 2. Прототип интерфейса оптимизированного под пользование браузером смартфона Apple iPhone

Рис П2.1 «Домашняя страница» и рис. П2.2 «Сбор платежной информации»

65

Рис. П2.3 «Метод оплаты» и рис. П2.4 «Платежный метод»

66

Рис. П2.5 «Сбор адреса доставки в процессе оплаты» и рис. П2.6 «Метод

доставки»

67

Рис П2.7 «Детальное описание продукта» и рис. П2.8 «Уведомительное

сообщение».

68

Рис. П2.9 «Подтверждение оплаты» и рис. П2.10 «Детали продукта»

69

Рис. П2.11 «Список продуктов» и рис. П2.12 «Корзина покупателя»

70

ПРИЛОЖЕНИЕ 3. Класс MobileFilter

public class MobileFilter : ActionFilterAttribute

{

// Вызывается, когда отрабатывает метод контроллера

public

override void OnActionExecuted(ActionExecutedContext

filterContext)

{

 

//

Проверка преференций пользователя

if

(filterContext.HttpContext.Session["IsFullVersion"] != null)

return;

 

//

Проверить, что запрос осуществлен с iPhone Safari

if

(!IsMobileSafari(filterContext.RequestContext.HttpContext))

return;

 

//

Обрабатываются только Views

if

(filterContext.Result.GetType() != typeof(ViewResult)) return;

//

Получение имени представления

var viewName = GetViewName(filterContext);

var mobileViewName = viewName + ".iPhone";

//

Проверка на существование оптимизированного View

if

(!ViewExists(mobileViewName, filterContext)) return;

//

Назначение нового View

var result = (ViewResult)filterContext.Result; result.ViewName = mobileViewName;

}

// Получение имени View

private string GetViewName(ActionExecutedContext filterContext)

{

var viewName = string.Empty;

// Обрабатываются только Views

if (filterContext.Result.GetType() == typeof(ViewResult))

{

var result = (ViewResult)filterContext.Result;

viewName = result.ViewName;

// Имя View не было передано – использовать имя метода if (string.IsNullOrEmpty(viewName))

{

viewName = filterContext.ActionDescriptor.ActionName;

}

}

return viewName;

}

// Проверка Views на существование.

private bool ViewExists(string viewName, ActionExecutedContext filterContext)

{

// получение имени контроллера var controller =

filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;

71

Соседние файлы в папке Примеры дипломов