YbSoftwareFactory 代码生成插件【八】:基于JQuery EasyUI、Web Api的 ASP.NET MVC 代码生成插件

protected override string[] FilterArray
        {
            get
            {
                return new[] { "ProductName.Contains(@0)",
                    "QuantityPerUnit.Contains(@0)", 
                    "Categories.CategoryName.Contains(@0)", 
                    "Suppliers.CompanyName.Contains(@0)" };
            }
        }
public ResponseResult<M> Get(string filter, int page, int rows, string sort, string order)
        {

            var table = Table;
            if(!string.IsNullOrWhiteSpace(filter))
            {
                var str=GetFilterFormat();
                if(!string.IsNullOrWhiteSpace(str))
                    table = table.Where(str,filter);
            }
            var total = table.LongCount();
            table = table.OrderBy(string.Format("{0} {1}", sort, order)).Skip((page - 1)*rows).Take(rows);
            var items = table.ToList();
            var models = InjectFrom(items);
            return new ResponseResult<M>(total, models);
        }
public IEnumerable<HierarchyData> Get()
        {
            var items = new List<HierarchyData>();
            //此处添加需要的主代码
            items.Add(new HierarchyData() { HierarchyType = "行政区域" });
            items.Add(new HierarchyData() { HierarchyType = "部门" });

            return items;
        }

二 、集成Web API,可由此 Web API
对外发布数量,提供GET\POST\PUT\DELETE多个点子,可供
Web、WinForm、WPF、Silverlight 等富有类型的客户端调用和管理作业数据。

    登录用户管理界面:

//此处添加需要的主代码
        public IEnumerable<ConcreteData> Get()
        {
            var items = new List<ConcreteData>();

            items.Add(new ConcreteData() { ConcreteType = "类别"});
            items.Add(new ConcreteData() { ConcreteType = "颜色" });
            items.Add(new ConcreteData() { ConcreteType = "民族" });

            return items;
        }

图片 1

伍 、数据编辑界面,自动处理One-Many的涉嫌:

⑦ 、集成完善的权位控制机能

图片 2i吗

    注:该 德姆o 应用程序的源码完全通过 YbSoftwareFactory
一键变型,在此基础上3次开发将大大节省开发周期。

   
同时后台的各样实体要求完毕如下的过滤表达式,以便补协助调查询后的数据库分页,此处使用了Dynamic
Linq 技术,你可自定义符合自己供给的询问办法:

   层次数据字典的管住也应用通用API,你同一仅需定义所要管理的主代码即可:

    须求在劳务器端达成的基于泛型的ApiController类中爆出如下GET分页方法

图片 3

壹 、界面层使用ASP.NET MVC 4.0+JQuery EasyUI,基于Razor
语法,界面赏心悦目,操作便捷。

图片 4

function setQueryParams(value) {
    var queryParams = grid.datagrid('options').queryParams;
    queryParams.filter = value;
    grid.datagrid('options').queryParams = queryParams;
}

图片 5

三 、通过 Dynamic Linq
实现数据库的模糊查询和分页,分明增强大数据量下的特性,本文最终将提供
Dynamic Linq 达成源码的下载地址。

附属类小部件一:点击下载Dynamic
Linq
的源代码

 宗旨天性:

④ 、数据访问层使用 EntityFramework,使用Code
First,基于其提供的IQueryable接口达成查询和分页。

   
filter为扩张的询问参数,用于模糊匹配,必要在前台的JS中在查询时动态设置其参数值:

    如下是Web API公布的数额:

    基本原理:

    可排序的层次数据字典:

图片 6

图片 7

六 、集成方便易用的数码字典效率

    “YbRapidSolution for MVC”是 YbSoftwareFactory
最新的代码生成插件,可一键生成基于ASP.NET MVC的消除方案源代码。其变动的
Demo 项目地址:http://mvcdemo.yellbuy.com/。本文末尾还将提供二个Dynamic Linq 完结源码的下载地址,供感兴趣的情人下载。

    可排序的网格数据字典界面:

图片 8

    本方法前面包车型客车“rows”, “sort”, “order”多少个参数为JQuery EasyUI
datagrid设置为劳动器端分页所需的暗中同意参数,通过在前台页面中装置datagrid的“pagination:
true”后将会自行追加那个参数,由此该办法的参数顺序必须和datagrid的调用保持一致。

    网格数据字典的保管选用通用API,你仅需定义所要管理的主代码即可:

    剧中人物管理界面: