示例#1
0
        public ActionResult Search(SearchPackageParametersVM model)
        {
            try
            {
                object sortColumn    = "";
                object sortDirection = "";

                if (model.order.Count == 0)
                {
                    sortColumn    = "CreatedOn";
                    sortDirection = "desc";
                }
                else
                {
                    sortColumn    = model.columns[Convert.ToInt32(model.order[0].column)].data ?? (object)DBNull.Value;
                    sortDirection = model.order[0].dir ?? (object)DBNull.Value;
                }

                model.PageSize = Constants.PAGESIZE;
                var packages = packageRepository.SearchPackage(model, Convert.ToString(sortColumn), Convert.ToString(sortDirection));

                int totalRecords = 0;
                var dbRecords    = packages.Select(m => m.TotalCount).FirstOrDefault();

                if (dbRecords != 0)
                {
                    totalRecords = Convert.ToInt32(dbRecords);
                }

                return(Json(new
                {
                    IsSuccess = true,
                    CurrentPage = model.PageNum,
                    PageSize = Constants.PAGESIZE,
                    TotalRecords = totalRecords,
                    data = packages
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                Utility.Utility.LogError(e, "Search");
                return(Json(new { IsSuccess = false, errorMessage = e.Message }));
            }
        }
        public List <SearchPackageResultVM> SearchPackage(SearchPackageParametersVM model, string sortColumn, string sortDirection)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter {
                    ParameterName = "@Name", Value = model.Name
                },
                new SqlParameter {
                    ParameterName = "@Description", Value = model.Description
                },
                new SqlParameter {
                    ParameterName = "@Price", Value = model.Price
                },
                new SqlParameter {
                    ParameterName = "@CalculationRatioId", Value = model.CalculationRatioId
                },
                new SqlParameter {
                    ParameterName = "@PageNum", Value = model.PageNum
                },
                new SqlParameter {
                    ParameterName = "@PageSize", Value = model.PageSize
                },
                new SqlParameter {
                    ParameterName = "@SortColumn", Value = sortColumn
                },
                new SqlParameter {
                    ParameterName = "@SortDirection", Value = sortDirection
                }
            };

            var dt = DALHelper.GetDataTableWithExtendedTimeOut("SearchPackage", parameters);

            var packages = new List <SearchPackageResultVM>();

            packages = DALHelper.CreateListFromTable <SearchPackageResultVM>(dt);

            return(packages);
        }