public string Execute(ISqlAction action,
                              ISqlParameters inParams,
                              IDictionary <string, object> outParams)
        {
            string text = action.Text;

            if (string.IsNullOrEmpty(text))
            {
                return(string.Empty);
            }
            else
            {
                string operation;
                string defaultRule;

                int index = text.IndexOf('?');
                if (index > 0)
                {
                    operation   = text.Substring(0, index);
                    defaultRule = text.Substring(index + 1);
                }
                else
                {
                    operation   = text;
                    defaultRule = string.Empty;
                }

                string rule = GetPermissionRule(operation);

                return(string.IsNullOrEmpty(rule) ? defaultRule : rule);
            }
        }
        /// <summary>
        /// Get search results by search view model
        /// </summary>
        /// <param name="searchViewModel"></param>
        /// <returns></returns>
        protected async Task <ActionResult> SearchByViewModel(ISearchViewModel searchViewModel)
        {
            IEnumerable <ISearchResultModel> list;
            int        totalNum;
            string     viewName;
            ISqlAction sqlAction = SqlManager.GetSqlAction(this);

            // Get result list and total result mumber
            if (searchViewModel.IsLatest)
            {
                list     = sqlAction.GetResultIsLatestByFilter(searchViewModel);
                totalNum = sqlAction.GetTotalNumberByFilter(searchViewModel);
                viewName = "_SearchResultIsLatestPartial";
            }
            else
            {
                list     = sqlAction.GetResultByFilter(searchViewModel);
                totalNum = sqlAction.GetTotalNumberByFilter(searchViewModel);
                viewName = "_SearchResultPartial";
            }

            // If requested download
            if (searchViewModel.IsDownload)
            {
                return(ExportToExcel(list.ToList()));
            }

            // Otherwise return view
            ViewBag.Pager = new Pager(totalNum, searchViewModel.Page, ConstantHelper.PaginationPageSize);
            ViewBag.SearchResultViewModel = searchViewModel;
            return(PartialView(viewName, list));
        }
Exemple #3
0
 protected virtual void ExecuteCommand(ISqlAction action)
 {
     if (this.Context != null)
     {
         action.TransactionContext = this.Context;
     }
     action.Execute();
 }
Exemple #4
0
 public DomainFactoryEventArgs(DomainObject domainObject, ISqlAction action)
 {
     this.Object = domainObject;
     this.Action = action;
 }