public ActionResult Index(OperationSearch search)
 {
     if (TempData["HintMessage"] != null)
     {
         ViewData["HintMessage"] = TempData["HintMessage"];
     }
     OperationIndexModel model = new OperationIndexModel() { Search = search, Operations = Operation.Search(search) };
     return View(model);
 }
        public PagedList<Core.Business.Operation> Search(OperationSearch search)
        {
            IList<Core.Business.Operation> operationlist = new List<Core.Business.Operation>();
            SqlServerUtility sql = new SqlServerUtility();

            sql.AddParameter("@Name", SqlDbType.NVarChar, !string.IsNullOrEmpty(search.Name) ? (object)search.Name : (object)DBNull.Value);
            sql.AddParameter("@Controller", SqlDbType.NVarChar, !string.IsNullOrEmpty(search.ControllerName) ? (object)search.ControllerName : (object)DBNull.Value);
            sql.AddParameter("@Action", SqlDbType.NVarChar, !string.IsNullOrEmpty(search.ActionName) ? (object)search.ActionName : (object)DBNull.Value);
            sql.AddParameter("@Status", SqlDbType.Int, search.Status != null ? (object)search.Status.Value : (object)DBNull.Value);

            SqlDataReader reader = sql.ExecuteSqlReader(SqlSearch);

            if (reader != null)
            {
                while (reader.Read())
                {
                    Core.Business.Operation operation = new Core.Business.Operation();

                    if (!reader.IsDBNull(0)) operation.Id = reader.GetInt32(0);
                    if (!reader.IsDBNull(1)) operation.Status = reader.GetInt32(1);
                    if (!reader.IsDBNull(2)) operation.AddDate = reader.GetDateTime(2);
                    if (!reader.IsDBNull(3)) operation.Name = reader.GetString(3);
                    if (!reader.IsDBNull(4)) operation.Controller = reader.GetString(4);
                    if (!reader.IsDBNull(5)) operation.Action = reader.GetString(5);

                    operation.MarkOld();
                    operationlist.Add(operation);
                }
                reader.Close();
            }
            return new PagedList<Operation>(operationlist, 0, 100, 1000);
        }