Exemplo n.º 1
0
        public ActionResult GetPlistUiViewButtons(GetPlistUiViewButtons requestData)
        {
            if (!ModelState.IsValid)
            {
                return(ModelState.ToJsonResult());
            }
            var data = AcDomain.GetPlistUiViewButtons(requestData);

            Debug.Assert(requestData.Total != null, "requestData.total != null");
            return(this.JsonResult(new MiniGrid <UiViewAssignButtonTr> {
                total = requestData.Total.Value, data = data
            }));
        }
Exemplo n.º 2
0
 public static IQueryable<UiViewAssignButtonTr> GetPlistUiViewButtons(this IAcDomain acDomain, GetPlistUiViewButtons requestData)
 {
     if (!requestData.UiViewId.HasValue)
     {
         throw new ValidationException("uiViewID是必须的");
     }
     UiViewState view;
     if (!acDomain.UiViewSet.TryGetUiView(requestData.UiViewId.Value, out view))
     {
         throw new ValidationException("意外的页面标识" + requestData.UiViewId);
     }
     var viewButtons = acDomain.UiViewSet.GetUiViewButtons(view);
     var buttons = acDomain.ButtonSet;
     var data = new List<UiViewAssignButtonTr>();
     foreach (var button in buttons)
     {
         var viewButton = viewButtons.FirstOrDefault(a => a.ButtonId == button.Id && a.UiViewId == view.Id);
         if (requestData.IsAssigned.HasValue)
         {
             if (requestData.IsAssigned.Value)
             {
                 if (viewButton == null)
                 {
                     continue;
                 }
             }
             else
             {
                 if (viewButton != null)
                 {
                     continue;
                 }
             }
         }
         DateTime? createOn = null;
         int isEnabled;
         string functionCode = null;
         Guid? functionId = null;
         string functionName = null;
         Guid id;
         bool isAssigned;
         int functionIsEnabled = 0;
         if (viewButton != null)
         {
             createOn = viewButton.CreateOn;
             isEnabled = viewButton.IsEnabled;
             id = viewButton.Id;
             isAssigned = true;
             FunctionState function;
             if (viewButton.FunctionId.HasValue && acDomain.FunctionSet.TryGetFunction(viewButton.FunctionId.Value, out function))
             {
                 functionCode = function.Code;
                 functionId = function.Id;
                 functionName = function.Description;
                 functionIsEnabled = function.IsEnabled;
             }
         }
         else
         {
             id = Guid.NewGuid();
             isAssigned = false;
             isEnabled = 0;
         }
         data.Add(new UiViewAssignButtonTr
         {
             CreateOn = createOn,
             Id = id,
             IsAssigned = isAssigned,
             FunctionIsEnabled = functionIsEnabled,
             Icon = button.Icon,
             IsEnabled = isEnabled,
             Name = button.Name,
             ButtonId = button.Id,
             ButtonIsEnabled = button.IsEnabled,
             Code = button.Code,
             FunctionCode = functionCode,
             FunctionId = functionId,
             FunctionName = functionName,
             UiViewId = view.Id,
             SortCode = button.SortCode
         });
     }
     int pageIndex = requestData.PageIndex;
     int pageSize = requestData.PageSize;
     var queryable = data.AsQueryable();
     if (!string.IsNullOrEmpty(requestData.key))
     {
         queryable = queryable.Where(a => a.Name.Contains(requestData.key) || a.Code.Contains(requestData.key));
     }
     requestData.Total = queryable.Count();
     return queryable.OrderBy(requestData.SortField + " " + requestData.SortOrder).Skip(pageIndex * pageSize).Take(pageSize);
 }
Exemplo n.º 3
0
        public static IQueryable <UiViewAssignButtonTr> GetPlistUiViewButtons(this IAcDomain acDomain, GetPlistUiViewButtons requestData)
        {
            if (!requestData.UiViewId.HasValue)
            {
                throw new ValidationException("uiViewID是必须的");
            }
            UiViewState view;

            if (!acDomain.UiViewSet.TryGetUiView(requestData.UiViewId.Value, out view))
            {
                throw new ValidationException("意外的页面标识" + requestData.UiViewId);
            }
            var viewButtons = acDomain.UiViewSet.GetUiViewButtons(view);
            var buttons     = acDomain.ButtonSet;
            var data        = new List <UiViewAssignButtonTr>();

            foreach (var button in buttons)
            {
                var viewButton = viewButtons.FirstOrDefault(a => a.ButtonId == button.Id && a.UiViewId == view.Id);
                if (requestData.IsAssigned.HasValue)
                {
                    if (requestData.IsAssigned.Value)
                    {
                        if (viewButton == null)
                        {
                            continue;
                        }
                    }
                    else
                    {
                        if (viewButton != null)
                        {
                            continue;
                        }
                    }
                }
                DateTime?createOn = null;
                int      isEnabled;
                string   functionCode = null;
                Guid?    functionId   = null;
                string   functionName = null;
                Guid     id;
                bool     isAssigned;
                int      functionIsEnabled = 0;
                if (viewButton != null)
                {
                    createOn   = viewButton.CreateOn;
                    isEnabled  = viewButton.IsEnabled;
                    id         = viewButton.Id;
                    isAssigned = true;
                    FunctionState function;
                    if (viewButton.FunctionId.HasValue && acDomain.FunctionSet.TryGetFunction(viewButton.FunctionId.Value, out function))
                    {
                        functionCode      = function.Code;
                        functionId        = function.Id;
                        functionName      = function.Description;
                        functionIsEnabled = function.IsEnabled;
                    }
                }
                else
                {
                    id         = Guid.NewGuid();
                    isAssigned = false;
                    isEnabled  = 0;
                }
                data.Add(new UiViewAssignButtonTr
                {
                    CreateOn          = createOn,
                    Id                = id,
                    IsAssigned        = isAssigned,
                    FunctionIsEnabled = functionIsEnabled,
                    Icon              = button.Icon,
                    IsEnabled         = isEnabled,
                    Name              = button.Name,
                    ButtonId          = button.Id,
                    ButtonIsEnabled   = button.IsEnabled,
                    Code              = button.Code,
                    FunctionCode      = functionCode,
                    FunctionId        = functionId,
                    FunctionName      = functionName,
                    UiViewId          = view.Id,
                    SortCode          = button.SortCode
                });
            }
            int pageIndex = requestData.PageIndex;
            int pageSize  = requestData.PageSize;
            var queryable = data.AsQueryable();

            if (!string.IsNullOrEmpty(requestData.key))
            {
                queryable = queryable.Where(a => a.Name.Contains(requestData.key) || a.Code.Contains(requestData.key));
            }
            requestData.Total = queryable.Count();
            return(queryable.OrderBy(requestData.SortField + " " + requestData.SortOrder).Skip(pageIndex * pageSize).Take(pageSize));
        }
Exemplo n.º 4
0
        public ActionResult GetPlistUiViewButtons(GetPlistUiViewButtons requestData)
        {
            if (!ModelState.IsValid)
            {
                return ModelState.ToJsonResult();
            }
            var data = AcDomain.GetPlistUiViewButtons(requestData);

            Debug.Assert(requestData.Total != null, "requestData.total != null");
            return this.JsonResult(new MiniGrid<UiViewAssignButtonTr> { total = requestData.Total.Value, data = data });
        }