Пример #1
0
        public void ViewBagAndViewDataStayInSync()
        {
            // Arrange
            Mock<IViewDataContainer> viewDataContainer = new Mock<IViewDataContainer>();
            ViewDataDictionary viewDataDictionary = new ViewDataDictionary() { { "A", 1 } };
            viewDataContainer.Setup(container => container.ViewData).Returns(viewDataDictionary);

            // Act
            AjaxHelper<object> ajaxHelper = new AjaxHelper<object>(new Mock<ViewContext>().Object, viewDataContainer.Object);
            ajaxHelper.ViewData["B"] = 2;
            ajaxHelper.ViewBag.C = 3;

            // Assert

            // Original ViewData should not be modified by redfined ViewData and ViewBag
            AjaxHelper nonGenericAjaxHelper = ajaxHelper;
            Assert.Single(nonGenericAjaxHelper.ViewData.Keys);
            Assert.Equal(1, nonGenericAjaxHelper.ViewData["A"]);
            Assert.Equal(1, nonGenericAjaxHelper.ViewBag.A);

            // Redefined ViewData and ViewBag should be in sync
            Assert.Equal(3, ajaxHelper.ViewData.Keys.Count);

            Assert.Equal(1, ajaxHelper.ViewData["A"]);
            Assert.Equal(2, ajaxHelper.ViewData["B"]);
            Assert.Equal(3, ajaxHelper.ViewData["C"]);

            Assert.Equal(1, ajaxHelper.ViewBag.A);
            Assert.Equal(2, ajaxHelper.ViewBag.B);
            Assert.Equal(3, ajaxHelper.ViewBag.C);
        }
Пример #2
0
 public void ConstructorWithNullViewDataContainerThrows()
 {
     // Assert
     Assert.ThrowsArgumentNull(
         delegate { AjaxHelper ajaxHelper = new AjaxHelper(new Mock<ViewContext>().Object, null); },
         "viewDataContainer");
 }
Пример #3
0
        public void ConstructorSetsProperties1()
        {
            // Arrange
            ViewContext viewContext = new Mock<ViewContext>().Object;
            IViewDataContainer vdc = new Mock<IViewDataContainer>().Object;

            // Act
            AjaxHelper ajaxHelper = new AjaxHelper(viewContext, vdc);

            // Assert
            Assert.Equal(viewContext, ajaxHelper.ViewContext);
            Assert.Equal(vdc, ajaxHelper.ViewDataContainer);
            Assert.Equal(RouteTable.Routes, ajaxHelper.RouteCollection);
        }
Пример #4
0
        public void GenericHelperConstructorSetsProperties1()
        {
            // Arrange
            ViewContext viewContext = new Mock<ViewContext>().Object;
            ViewDataDictionary<Controller> vdd = new ViewDataDictionary<Controller>(new Mock<Controller>().Object);
            Mock<IViewDataContainer> vdc = new Mock<IViewDataContainer>();
            vdc.Setup(v => v.ViewData).Returns(vdd);

            // Act
            AjaxHelper<Controller> ajaxHelper = new AjaxHelper<Controller>(viewContext, vdc.Object);

            // Assert
            Assert.Equal(viewContext, ajaxHelper.ViewContext);
            Assert.Equal(vdc.Object, ajaxHelper.ViewDataContainer);
            Assert.Equal(RouteTable.Routes, ajaxHelper.RouteCollection);
            Assert.Equal(vdd.Model, ajaxHelper.ViewData.Model);
        }
Пример #5
0
        public void ViewBagProperty_ReflectsNewViewDataContainerInstance()
        {
            // Arrange
            ViewDataDictionary viewDataDictionary = new ViewDataDictionary() { { "A", 1 } };
            Mock<IViewDataContainer> viewDataContainer = new Mock<IViewDataContainer>();
            viewDataContainer.Setup(container => container.ViewData).Returns(viewDataDictionary);

            ViewDataDictionary otherViewDataDictionary = new ViewDataDictionary() { { "A", 2 } };
            Mock<IViewDataContainer> otherViewDataContainer = new Mock<IViewDataContainer>();
            otherViewDataContainer.Setup(container => container.ViewData).Returns(otherViewDataDictionary);

            AjaxHelper ajaxHelper = new AjaxHelper(new Mock<ViewContext>().Object, viewDataContainer.Object, new RouteCollection());

            // Act
            ajaxHelper.ViewDataContainer = otherViewDataContainer.Object;

            // Assert
            Assert.Equal(2, ajaxHelper.ViewBag.A);
        }
Пример #6
0
 protected virtual void CreateHelpers()
 {
     Html = new HtmlHelper(ViewContext, this);
     Url = new UrlHelper(ViewContext.RequestContext);
     Ajax = new AjaxHelper(ViewContext, this);
 }
Пример #7
0
        public static MvcHtmlString AsiatekAjaxPager(this AjaxHelper ajaxHelper, IAsiatekPagedList pageList, AsiatekAjaxPagerOptions3 asiatekAjaxPagerOptions)
        {
            if (string.IsNullOrWhiteSpace(asiatekAjaxPagerOptions.SearchPageFieldName))
            {
                asiatekAjaxPagerOptions.SearchPageFieldName = "SearchPage";
            }

            //利用请求上下文对象创建url对象,用于分页超链接的创建
            UrlHelper URL = new UrlHelper(ajaxHelper.ViewContext.RequestContext);


            #region 配置路由参数值
            //反射查询参数对象,将系统类型的属性值添加到路由参数值中,属性名是路由参数的key
            //之所以这样做,是因为对于分页查询所需要的参数肯定都是简单类型
            //比如视图采用模型StudentSetting,StudentSetting包含下拉列表Grades年级,以及对应的值GradeID
            //对于我们的查询而言,需要的只是GradeID,而不是Grades下拉列表属性
            Type type  = asiatekAjaxPagerOptions.SearchDatasObj.GetType();
            var  props = type.GetProperties().Where(p => p.PropertyType.ToString().StartsWith("System.") && !p.PropertyType.IsGenericType);
            RouteValueDictionary rvd = new RouteValueDictionary();
            foreach (PropertyInfo p in props)
            {
                rvd.Add(p.Name, p.GetValue(asiatekAjaxPagerOptions.SearchDatasObj, null));
            }

            if (!rvd.ContainsKey(asiatekAjaxPagerOptions.SearchPageFieldName))
            {
                //允许自定义分页查询  当前页字段名 比如currentPage
                //相当于往请求参数中附加了currentPage=1
                rvd.Add(asiatekAjaxPagerOptions.SearchPageFieldName, 1);
            }
            else
            {
                rvd[asiatekAjaxPagerOptions.SearchPageFieldName] = 1;
            }
            //查询操作所属区域名
            rvd.Add("area", asiatekAjaxPagerOptions.AreaName);
            #endregion



            int pageIndex = pageList.CurrentPageIndex; //当前页索引
            int pageCount = pageList.TotalPageCount;   //总页数

            string voidStr = "javascript:void(0)";

            TagBuilder asiatekPagerDiv = new TagBuilder("div");//最外层DIV
            asiatekPagerDiv.GenerateId("asiatekPager");


            TagBuilder asiatekPagerBackDiv = new TagBuilder("div");//第一页
            asiatekPagerBackDiv.GenerateId("asiatekPagerBack");
            TagBuilder backLink = new TagBuilder("a");
            backLink.MergeAttribute("href", voidStr);
            backLink.SetInnerText("||<");
            backLink.AddCssClass("asiatekPagerDefault");
            if (pageCount != 1)//只有当总页数不为1时,才需要为返回第一页的html标签设置地址
            {
                asiatekAjaxPagerOptions.Url = URL.Action(asiatekAjaxPagerOptions.ActionName, asiatekAjaxPagerOptions.ControllerName, rvd);
                backLink.MergeAttributes(asiatekAjaxPagerOptions.ToUnobtrusiveHtmlAttributes());
            }
            asiatekPagerBackDiv.InnerHtml = backLink.ToString();


            TagBuilder asiatekPagerFrontDiv = new TagBuilder("div");//末页
            asiatekPagerFrontDiv.GenerateId("asiatekPagerFront");
            TagBuilder frontLink = new TagBuilder("a");
            frontLink.MergeAttribute("href", voidStr);
            frontLink.SetInnerText(">||");
            frontLink.AddCssClass("asiatekPagerDefault");
            if (pageCount != 1)//只有当总页数不为1时,才需要为末页的html标签设置地址
            {
                rvd[asiatekAjaxPagerOptions.SearchPageFieldName] = pageCount;
                asiatekAjaxPagerOptions.Url = URL.Action(asiatekAjaxPagerOptions.ActionName, asiatekAjaxPagerOptions.ControllerName, rvd);
                frontLink.MergeAttributes(asiatekAjaxPagerOptions.ToUnobtrusiveHtmlAttributes());
            }
            asiatekPagerFrontDiv.InnerHtml = frontLink.ToString();


            //内容(页选择)
            TagBuilder asiatekPagerContentDiv = new TagBuilder("div");//页内容
            asiatekPagerContentDiv.GenerateId("asiatekPagerContent");


            for (int i = 1; i <= pageCount; i++)
            {
                TagBuilder numLink = new TagBuilder("a");
                numLink.AddCssClass("asiatekPagerDefault");
                numLink.MergeAttribute("href", voidStr);
                if (i == pageIndex)//当前页添加 css
                {
                    numLink.AddCssClass("asiatekPagerSelected");
                }
                if (pageCount != 1)//如果总页数超过1,那么才对 页链接创建非注入式脚本,否则不添加
                {
                    rvd[asiatekAjaxPagerOptions.SearchPageFieldName] = i;
                    asiatekAjaxPagerOptions.Url = URL.Action(asiatekAjaxPagerOptions.ActionName, asiatekAjaxPagerOptions.ControllerName, rvd);
                    numLink.MergeAttributes(asiatekAjaxPagerOptions.ToUnobtrusiveHtmlAttributes());
                }
                numLink.SetInnerText(i.ToString());
                asiatekPagerContentDiv.InnerHtml += numLink.ToString();
            }
            int contentWidth = 250; //页数内容容器默认宽度250px
            int pagerWidth   = 320; //整个分页导航总宽度默认320px
            if (pageCount < 10)     //最多同时显示10页,当少于10页时,动态计算整体宽度,每个页链接占用25px,第一页与末页链接各占用35px
            {
                contentWidth = pageCount * 25;
                pagerWidth   = 70 + contentWidth;
            }
            //设置容器宽度
            asiatekPagerContentDiv.MergeAttribute("style", "width:" + contentWidth + "px;");
            asiatekPagerDiv.MergeAttribute("style", "width:" + pagerWidth + "px;");

            //合并全部HTML
            asiatekPagerDiv.InnerHtml = asiatekPagerBackDiv.ToString() + asiatekPagerContentDiv.ToString() + asiatekPagerFrontDiv.ToString();
            return(MvcHtmlString.Create(asiatekPagerDiv.ToString()));
        }
Пример #8
0
 public static MvcHtmlString Pager(this AjaxHelper ajax, IPagedList pagedList, PagerOptions pagerOptions, AjaxOptions ajaxOptions)
 {
     return(pagedList == null?Pager(ajax, pagerOptions, null) : Pager(ajax, pagedList.TotalItemCount, pagedList.PageSize, pagedList.CurrentPageIndex,
                                                                      null, null, null, pagerOptions, null, ajaxOptions, null));
 }
Пример #9
0
 public static RouteValueDictionary AppendContext(AjaxHelper ajaxHelper, RouteValueDictionary routeValues)
 {
     routeValues.Add("context", ajaxHelper.ViewData["context"].ToJson());
     return(routeValues);
 }
Пример #10
0
        internal PagerBuilder(HtmlHelper html, AjaxHelper ajax, string actionName, string controllerName,
                              int totalPageCount, int pageIndex, PagerOptions pagerOptions, string routeName, RouteValueDictionary routeValues,
                              AjaxOptions ajaxOptions, IDictionary <string, object> htmlAttributes)
        {
            _msAjaxPaging = (ajax != null);
            if (String.IsNullOrEmpty(actionName))
            {
                if (ajax != null)
                {
                    actionName = (string)ajax.ViewContext.RouteData.Values["action"];
                }
                else
                {
                    actionName = (string)html.ViewContext.RouteData.Values["action"];
                }
            }
            if (String.IsNullOrEmpty(controllerName))
            {
                if (ajax != null)
                {
                    controllerName = (string)ajax.ViewContext.RouteData.Values["controller"];
                }
                else
                {
                    controllerName = (string)html.ViewContext.RouteData.Values["controller"];
                }
            }
            if (pagerOptions == null)
            {
                pagerOptions = new PagerOptions();
            }

            _html           = html;
            _ajax           = ajax;
            _actionName     = actionName;
            _controllerName = controllerName;
            if (pagerOptions.MaxPageIndex == 0 || pagerOptions.MaxPageIndex > totalPageCount)
            {
                _totalPageCount = totalPageCount;
            }
            else
            {
                _totalPageCount = pagerOptions.MaxPageIndex;
            }
            _pageIndex      = pageIndex;
            _pagerOptions   = pagerOptions;
            _routeName      = routeName;
            _routeValues    = routeValues;
            _ajaxOptions    = ajaxOptions;
            _htmlAttributes = htmlAttributes;

            // start page index
            _startPageIndex = pageIndex - (pagerOptions.NumericPagerItemCount / 2);
            if (_startPageIndex + pagerOptions.NumericPagerItemCount > _totalPageCount)
            {
                _startPageIndex = _totalPageCount + 1 - pagerOptions.NumericPagerItemCount;
            }
            if (_startPageIndex < 1)
            {
                _startPageIndex = 1;
            }

            // end page index
            _endPageIndex = _startPageIndex + _pagerOptions.NumericPagerItemCount - 1;
            if (_endPageIndex > _totalPageCount)
            {
                _endPageIndex = _totalPageCount;
            }
        }
Пример #11
0
 public async Task <AjaxModel <ProfileModel> > ProfileGet()
 {
     return(await AjaxHelper.GetAsync(m => this.domain.ProfileGet()));
 }
Пример #12
0
 public async Task <AjaxModel <List <ListItem <int, string> > > > DriversListGet()
 {
     return(await AjaxHelper.GetAsync(m => this.domain.DriversListGet()));
 }
Пример #13
0
 public async Task <AjaxModel <NTModel> > ModelUpdate([FromBody] VehicleManufacturerModelModel model)
 {
     return(await AjaxHelper.SaveAsync(m => this.domain.ModelSave(model), FleetMessages.VehicleModelSaveSuccess));
 }
Пример #14
0
 public async Task <AjaxModel <ManufacturerDetailsModel> > ManufacturerDetailsGet(int manufacturerId)
 {
     return(await AjaxHelper.GetDashboardAsync(m => this.domain.ManufacturerDetailsGet(manufacturerId), this.dashboardDomain, this.widgetDomain));
 }
Пример #15
0
 public async Task <AjaxModel <NTModel> > ManufacturerDelete([FromBody] int manufacturerId)
 {
     return(await AjaxHelper.SaveAsync(m => this.domain.VehicleManufacturerDelete(manufacturerId), FleetMessages.VehicleManufacturerDeleteSuccess));
 }
Пример #16
0
 public async Task <AjaxModel <VehicleManufacturerModel> > ManufacturerGet(int manufacturerId)
 {
     return(await AjaxHelper.GetAsync(m => this.domain.VehicleManufacturerGet(manufacturerId)));
 }
Пример #17
0
 public static IHtmlString IconActionLink(this AjaxHelper helper, string iconClass, string linkText, string actionName, string controlerName, object routeValues, AjaxOptions ajaxOptions, object linkHtmlAttribute)
 {
     return(IconActionLinkBase(helper, iconClass, linkText, actionName, controlerName, routeValues, ajaxOptions, linkHtmlAttribute));
 }
Пример #18
0
 public static IHtmlString ImageActionLink(this AjaxHelper helper, string imageUrl, string altText, string actionName, string controlerName, object routeValues, AjaxOptions ajaxOptions, object imageHtmlAttribute, object linkHtmlAttribute)
 {
     return(ImageActionLinkBase(helper, imageUrl, altText, actionName, controlerName, routeValues, ajaxOptions, imageHtmlAttribute, linkHtmlAttribute));
 }
Пример #19
0
 public RubyAjaxHelper(ViewContext viewContext, IViewDataContainer viewDataContainer)
     : base(viewContext, viewDataContainer)
 {
     _helper = new AjaxHelper(viewContext, viewDataContainer);
 }
Пример #20
0
 public async Task <AjaxModel <List <VehicleDriverAssignmentModel> > > VehicleDriverGetList(int vehicleId)
 {
     return(await AjaxHelper.GetAsync(m => this.domain.VehicleDriverGetList(vehicleId)));
 }
Пример #21
0
 public async Task <AjaxModel <NTModel> > ChangePassword([FromBody] ChangePasswordModel model)
 {
     return(await AjaxHelper.SaveAsync(m => this.domain.ChangePassword(model), SecurityMessages.ChangePasswordSuccess));
 }
Пример #22
0
 public async Task <AjaxModel <NTModel> > VehicleDriverAdd([FromBody] VehicleDriverAssignmentModel model)
 {
     return(await AjaxHelper.SaveAsync(m => this.domain.VehicleDriverSave(model), FleetMessages.VehicleDriverSaveSuccess));
 }
Пример #23
0
        public static MvcHtmlString ContextedActionLink(this AjaxHelper ajaxHelper, string linkText, string actionName, AjaxOptions ajaxOptions)
        {
            var routeValuesWithContext = AppendContext(ajaxHelper, new RouteValueDictionary());

            return(ajaxHelper.ActionLink(linkText, actionName, routeValuesWithContext, ajaxOptions));
        }
Пример #24
0
 public async Task <AjaxModel <List <FuelModel> > > FuelGetList(int vehicleId)
 {
     return(await AjaxHelper.GetAsync(m => this.domain.FuelGetList(vehicleId)));
 }
Пример #25
0
 private static MvcHtmlString Pager(AjaxHelper ajax, PagerOptions pagerOptions, IDictionary <string, object> htmlAttributes)
 {
     return(new PagerBuilder(null, ajax, pagerOptions, htmlAttributes).RenderPager());
 }
Пример #26
0
 public async Task <AjaxModel <NTModel> > FuelUpdate([FromBody] FuelModel model)
 {
     return(await AjaxHelper.SaveAsync(m => this.domain.FuelSave(model), FleetMessages.FuelSaveSuccess));
 }
Пример #27
0
        public static MvcForm BeginJqueryForm(this AjaxHelper ajaxHelper, string formId, ActionResult actionResult, string callback, string cssClassNames)
        {
            var callInfo = actionResult.AsMVCResult();

            return(BeginJqueryForm(ajaxHelper, callInfo.Action, callInfo.Controller, formId, callback, callInfo.RouteValueDictionary, cssClassNames, null /* htmlAttributes */));
        }
Пример #28
0
 public async Task <AjaxModel <NTModel> > VehicleFuelReset([FromBody] int vehicleId)
 {
     return(await AjaxHelper.SaveAsync(m => this.domain.VehicleFuelReset(vehicleId), FleetMessages.FuelResetSuccess));
 }
Пример #29
0
        public static MvcHtmlString AsiatekAjaxPager(this AjaxHelper ajaxHelper, IAsiatekPagedList pageList, Func <int, AjaxOptions> pageAjaxOptions)
        {
            int pageIndex = pageList.CurrentPageIndex; //当前页索引
            int pageCount = pageList.TotalPageCount;   //总页数

            string voidStr = "javascript:void(0)";

            TagBuilder asiatekPagerDiv = new TagBuilder("div");//最外层DIV

            asiatekPagerDiv.GenerateId("asiatekPager");


            TagBuilder asiatekPagerBackDiv = new TagBuilder("div");//第一页

            asiatekPagerBackDiv.GenerateId("asiatekPagerBack");
            TagBuilder backLink = new TagBuilder("a");

            backLink.MergeAttribute("href", voidStr);
            backLink.SetInnerText("||<");
            backLink.AddCssClass("asiatekPagerDefault");
            if (pageCount != 1)
            {
                backLink.MergeAttributes(pageAjaxOptions(1).ToUnobtrusiveHtmlAttributes());
            }
            asiatekPagerBackDiv.InnerHtml = backLink.ToString();


            TagBuilder asiatekPagerFrontDiv = new TagBuilder("div");//末页

            asiatekPagerFrontDiv.GenerateId("asiatekPagerFront");
            TagBuilder frontLink = new TagBuilder("a");

            frontLink.MergeAttribute("href", voidStr);
            frontLink.SetInnerText(">||");
            frontLink.AddCssClass("asiatekPagerDefault");
            if (pageCount != 1)
            {
                frontLink.MergeAttributes(pageAjaxOptions(pageCount).ToUnobtrusiveHtmlAttributes());
            }
            asiatekPagerFrontDiv.InnerHtml = frontLink.ToString();


            //内容(页选择)
            TagBuilder asiatekPagerContentDiv = new TagBuilder("div");//页内容

            asiatekPagerContentDiv.GenerateId("asiatekPagerContent");


            for (int i = 1; i <= pageCount; i++)
            {
                TagBuilder numLink = new TagBuilder("a");
                numLink.AddCssClass("asiatekPagerDefault");
                numLink.MergeAttribute("href", voidStr);
                if (i == pageIndex)//当前页添加 css
                {
                    numLink.AddCssClass("asiatekPagerSelected");
                }
                if (pageCount != 1)//如果总页数超过1,那么才对 页链接创建非注入式脚本,否则不添加
                {
                    numLink.MergeAttributes(pageAjaxOptions(i).ToUnobtrusiveHtmlAttributes());
                }
                numLink.SetInnerText(i.ToString());
                asiatekPagerContentDiv.InnerHtml += numLink.ToString();
            }
            int contentWidth = 250; //页数内容容器默认宽度250px
            int pagerWidth   = 320; //整个分页导航总宽度默认320px

            if (pageCount < 10)     //最多同时显示10页,当少于10页时,动态计算整体宽度,每个页链接占用25px,第一页与末页链接各占用35px
            {
                contentWidth = pageCount * 25;
                pagerWidth   = 70 + contentWidth;
            }
            //设置容器宽度
            asiatekPagerContentDiv.MergeAttribute("style", "width:" + contentWidth + "px;");
            asiatekPagerDiv.MergeAttribute("style", "width:" + pagerWidth + "px;");

            //合并全部HTML
            asiatekPagerDiv.InnerHtml = asiatekPagerBackDiv.ToString() + asiatekPagerContentDiv.ToString() + asiatekPagerFrontDiv.ToString();
            return(MvcHtmlString.Create(asiatekPagerDiv.ToString()));
        }
Пример #30
0
 public async Task <AjaxModel <NTModel> > VehicleTypeUpdate([FromBody] VehicleTypeModel model)
 {
     return(await AjaxHelper.SaveAsync(m => this.domain.VehicleTypeSave(model), FleetMessages.VehicleTypeSaveSuccess));
 }
Пример #31
0
        public void ViewBagProperty_ReflectsViewData()
        {
            // Arrange
            ViewDataDictionary viewDataDictionary = new ViewDataDictionary() { { "A", 1 } };
            Mock<IViewDataContainer> viewDataContainer = new Mock<IViewDataContainer>();
            viewDataContainer.Setup(container => container.ViewData).Returns(viewDataDictionary);

            // Act
            AjaxHelper ajaxHelper = new AjaxHelper(new Mock<ViewContext>().Object, viewDataContainer.Object);

            // Assert
            Assert.Equal(1, ajaxHelper.ViewBag.A);
        }
Пример #32
0
        public void ViewBag_PropagatesChangesToViewData()
        {
            // Arrange
            ViewDataDictionary viewDataDictionary = new ViewDataDictionary() { { "A", 1 } };
            Mock<IViewDataContainer> viewDataContainer = new Mock<IViewDataContainer>();
            viewDataContainer.Setup(container => container.ViewData).Returns(viewDataDictionary);

            AjaxHelper ajaxHelper = new AjaxHelper(new Mock<ViewContext>().Object, viewDataContainer.Object, new RouteCollection());

            // Act
            ajaxHelper.ViewBag.A = "foo";
            ajaxHelper.ViewBag.B = 2;

            // Assert
            Assert.Equal("foo", ajaxHelper.ViewData["A"]);
            Assert.Equal(2, ajaxHelper.ViewData["B"]);
        }
Пример #33
0
 public async Task <AjaxModel <NTModel> > VehicleTypeDelete([FromBody] int vehicleTypeId)
 {
     return(await AjaxHelper.SaveAsync(m => this.domain.VehicleTypeDelete(vehicleTypeId), FleetMessages.VehicleTypeDeleteSuccess));
 }
Пример #34
0
 public MvcForm BeginForm(AjaxHelper ajaxHelper)
 {
     return(ajaxHelper.BeginForm(ActionName, ControllerName, RouteValues, AjaxOptions, HtmlAttributes));
 }
Пример #35
0
 public async Task <AjaxModel <List <VehicleListModel> > > VehicleList()
 {
     return(await AjaxHelper.GetDashboardAsync(m => this.domain.VehicleList(), this.dashboardDomain, this.widgetDomain));
 }
Пример #36
0
 public async Task <AjaxModel <VehicleDetailsModel> > VehicleServiceUpdate([FromBody] VehicleServiceModel model)
 {
     return(await AjaxHelper.SaveGetAsync(m => this.domain.VehicleServiceSave(model), FleetMessages.VehicleServiceSaveSuccess));
 }
Пример #37
0
        private static string GenerateLink(AjaxHelper ajaxHelper, string linkText, string targetUrl, AjaxOptions ajaxOptions, IDictionary<string, object> htmlAttributes)
        {
            TagBuilder tag = new TagBuilder("a")
            {
                InnerHtml = HttpUtility.HtmlEncode(linkText)
            };

            tag.MergeAttributes(htmlAttributes);
            tag.MergeAttribute("href", targetUrl);

            if (ajaxHelper.ViewContext.UnobtrusiveJavaScriptEnabled)
            {
                tag.MergeAttributes(ajaxOptions.ToUnobtrusiveHtmlAttributes());
            }
            else
            {
                tag.MergeAttribute("onclick", GenerateAjaxScript(ajaxOptions, LinkOnClickFormat));
            }

            return tag.ToString(TagRenderMode.Normal);
        }
Пример #38
0
 public async Task <AjaxModel <List <VehicleServiceModel> > > VehicleServiceReportGet(int vehicleServiceId, DateTime startDate, DateTime endDate)
 {
     return(await AjaxHelper.GetAsync(m => this.domain.VehicleServiceReportGet(vehicleServiceId, startDate, endDate)));
 }
Пример #39
0
 public RubyAjaxHelper(ViewContext viewContext, IViewDataContainer viewDataContainer, RouteCollection routeCollection)
     : base(viewContext, viewDataContainer, routeCollection)
 {
     _helper = new AjaxHelper(viewContext, viewDataContainer, routeCollection);
 }
Пример #40
0
 public async Task <AjaxModel <VehicleModel> > VehicleGet(int vehicleId)
 {
     return(await AjaxHelper.GetAsync(m => this.domain.VehicleGet(vehicleId)));
 }
Пример #41
0
        /// <summary>
        /// Instantiates and initializes the Ajax, Html, and Url properties.
        /// </summary>
        public virtual void InitHelpers(ViewContext context)
        {
			Precondition.Require(context, 
				() => Mvc.Error.ArgumentNull("context"));

            SetContentType(context.Context);
            _parameters = context.Context.Request.Parameters;
            _html = new HtmlHelper(context);
            _url = new UrlHelper(context);
            _ajax = new AjaxHelper(context);
            _validation = new ValidationHelper(context);
        }
Пример #42
0
 public async Task <AjaxModel <NTModel> > Logout()
 {
     return(await AjaxHelper.SaveAsync(m => this.domain.Logout(), SecurityMessages.LogoutSuccess));
 }