public ActionResult _AjaxList(GridCommand command, SubPrintOrderSearchModel searchModel)
        {
            string replaceFrom = "_AjaxList";
            string replaceTo = "List";
            this.GetCommand(ref command, searchModel, replaceFrom, replaceTo);

            SearchStatementModel searchStatementModel = this.PrepareSearchStatement(command, searchModel);
            var list = GetAjaxPageData<SubPrintOrder>(searchStatementModel, command);
            var codeDetails = this.genericMgr.FindAllIn<CodeDetail>
                ("from CodeDetail where Value in(?", list.Data.Select(p => p.ExcelTemplate));

            foreach (var data in list.Data)
            {
                if (data.UserId != 0)
                {
                    data.UserCode = this.genericMgr.FindById<User>(data.UserId).Code;
                }
                var codeDetail = codeDetails.FirstOrDefault(p => p.Value == data.ExcelTemplate);
                if (codeDetail != null)
                {
                    var codeMaster = (com.Sconit.CodeMaster.CodeMaster)Enum.Parse(typeof(com.Sconit.CodeMaster.CodeMaster), codeDetail.Code);
                    data.ExcelTemplateDescription = this.systemMgr.GetCodeDetailDescription(codeMaster, codeDetail.Value);
                }
                else
                {
                    data.ExcelTemplateDescription = data.ExcelTemplate;
                }
            }
            return PartialView(list);
        }
 public ActionResult List(GridCommand command, SubPrintOrderSearchModel searchModel)
 {
     SearchCacheModel searchCacheModel = this.ProcessSearchModel(command, searchModel);
     if (searchCacheModel.isBack == true)
     {
         ViewBag.Page = searchCacheModel.Command.Page==0 ? 1 : searchCacheModel.Command.Page;
     }
     ViewBag.PageSize = base.ProcessPageSize(command.PageSize);
     return View();
 }
 private SearchStatementModel PrepareSearchStatement(GridCommand command, SubPrintOrderSearchModel searchModel)
 {
     string whereStatement = string.Empty;
     IList<object> param = new List<object>();
     HqlStatementHelper.AddEqStatement("Client", searchModel.Client, "h", ref whereStatement, param);
     HqlStatementHelper.AddEqStatement("Flow", searchModel.Flow, "h", ref whereStatement, param);
     HqlStatementHelper.AddEqStatement("Location", searchModel.Location, "h", ref whereStatement, param);
     HqlStatementHelper.AddEqStatement("Printer", searchModel.Printer, "h", ref whereStatement, param);
     HqlStatementHelper.AddEqStatement("Region", searchModel.Region, "h", ref whereStatement, param);
     HqlStatementHelper.AddEqStatement("ExcelTemplate", searchModel.ExcelTemplate, "h", ref whereStatement, param);
     if (!string.IsNullOrWhiteSpace(searchModel.UserCode))
     {
         int userId = 0;
         var user = securityMgr.GetUser(searchModel.UserCode);
         if (user != null)
         {
             userId = user.Id;
         }
         HqlStatementHelper.AddEqStatement("UserId", userId, "h", ref whereStatement, param);
     }
     string sortingStatement = HqlStatementHelper.GetSortingStatement(command.SortDescriptors);
     if (command.SortDescriptors.Count == 0)
     {
         sortingStatement = " order by h.Id desc";
     }
     SearchStatementModel searchStatementModel = new SearchStatementModel();
     searchStatementModel.SelectCountStatement = selectCountStatement;
     searchStatementModel.SelectStatement = selectStatement;
     searchStatementModel.WhereStatement = whereStatement;
     searchStatementModel.SortingStatement = sortingStatement;
     searchStatementModel.Parameters = param.ToArray<object>();
     return searchStatementModel;
 }