示例#1
0
        /// <summary>
        /// Name DateFrom  DateTo 三个条件为基础的条件,有其他条件可以在 相应的子类中扩展
        /// </summary>
        /// <param name="pager"></param>
        /// <returns></returns>
        public ActionResult SearchMenu(MenuPager pager)
        {
            var sql = @"SELECT t1.[keyid]
                              ,[C_Name]
                              ,[C_Description]
                              ,[C_ParentMenu]
                              , ParentMenu
                              ,[C_Controller]
                              ,[C_Action]
                              ,[C_CreatedDate]
                              ,[C_UpdatedDate]
                          FROM [DATA_MANAGE].[dbo].[tbl_Menu] t1
                          left join (select keyid, C_Name as ParentMenu from tbl_menu) as t2
                          on t1.C_parentMenu=t2.keyid";

            var where = new StringBuilder(" where 1=1 ");
            if (!string.IsNullOrWhiteSpace(pager.Name))
            {
                where.AppendLine("and Name like '%" + pager.Name + "%'");
            }
            if (!string.IsNullOrWhiteSpace(pager.DateFrom))
            {
                where.AppendLine(" and C_CreatedDate>'" + pager.DateFrom + "'");
            }
            if (!string.IsNullOrWhiteSpace(pager.DateTo))
            {
                where.AppendLine(" and C_CreatedDate<'" + pager.DateTo + "'");
            }
            try
            {
                var service   = Container.GetService <IMenuService>();
                var menudtos  = service.GetModelsByPage <MenuDto>(pager.pageSize, pager.pageIndex, sql + where);
                var menuinfos = MenuInfo.ConvertToMenuInfos(menudtos);
                var grid      = new MenuGrid();
                grid.rows  = menuinfos;
                grid.total = service.GetTableCount(where.ToString());
                return(Json(grid));
            }
            catch (Exception ex)
            {
                ViewBag.Operation = ex.Message;
                return(View("Error"));
            }
        }