public ActionResult List(GridCommand command, VehicleInFactorySearchModel searchModel)
 {
     TempData["VehicleInFactorySearchModel"] = searchModel;
     ViewBag.PageSize = base.ProcessPageSize(command.PageSize);
     return View();
 }
 public ActionResult _AjaxList(GridCommand command, VehicleInFactorySearchModel searchModel)
 {
     SearchStatementModel searchStatementModel = PrepareSearchStatement(command, searchModel);
     return PartialView(GetAjaxPageData<VehicleInFactoryMaster>(searchStatementModel, command));
 }
        private SearchStatementModel PrepareSearchStatement(GridCommand command, VehicleInFactorySearchModel searchModel)
        {
            string whereStatement = string.Empty;
            IList<object> param = new List<object>();

            HqlStatementHelper.AddLikeStatement("OrderNo", searchModel.OrderNo, HqlStatementHelper.LikeMatchMode.Start, "v", ref whereStatement, param);
            HqlStatementHelper.AddLikeStatement("VehicleNo", searchModel.VehicleNo, HqlStatementHelper.LikeMatchMode.Start, "v", ref whereStatement, param);
            HqlStatementHelper.AddLikeStatement("Plant", searchModel.Plant, HqlStatementHelper.LikeMatchMode.Start, "v", ref whereStatement, param);

            if (searchModel.IsInFactory)
            {
                if (whereStatement == string.Empty)
                {
                    whereStatement = " where v.Status in (?,?)";
                }
                else
                {
                    whereStatement += " and v.Status in (?,?)";
                }
                param.Add((int)com.Sconit.CodeMaster.VehicleInFactoryStatus.Submit);
                param.Add((int)com.Sconit.CodeMaster.VehicleInFactoryStatus.InProcess);
            }
            if (searchModel.DateFrom != null)
            {
                HqlStatementHelper.AddGeStatement("CreateDate", searchModel.DateFrom, "v", ref whereStatement, param);
            }
            if (searchModel.DateTo != null)
            {
                HqlStatementHelper.AddLeStatement("CreateDate", searchModel.DateTo, "v", ref whereStatement, param);
            }

            if (command.SortDescriptors.Count > 0)
            {
                if (command.SortDescriptors[0].Member == "VehicleInFactoryStatusDescription")
                {
                    command.SortDescriptors[0].Member = "Status";
                }
            }
            string sortingStatement = HqlStatementHelper.GetSortingStatement(command.SortDescriptors);

            SearchStatementModel searchStatementModel = new SearchStatementModel();
            searchStatementModel.SelectCountStatement = selectCountStatement;
            searchStatementModel.SelectStatement = selectStatement;
            searchStatementModel.WhereStatement = whereStatement;
            searchStatementModel.SortingStatement = sortingStatement;
            searchStatementModel.Parameters = param.ToArray<object>();

            return searchStatementModel;
        }