예제 #1
0
        /// <summary>
        /// Populate the drop down lists for editing the record
        /// </summary>
        /// <typeparam name="TViewModel"></typeparam>
        /// <param name="viewModel"></param>
        protected override void PopulateAdditionalEditViewModelAttributes <TViewModel>(TViewModel viewModel)
        {
            var model = viewModel as AppMenuItemMaintenanceEditViewModel;

            //
            //Get the list of all app menus
            //
            var getAllAppMenusRequest = new AppMenuItemMaintenanceGetAllAppMenusRequest()
            {
            };

            //Set the list of app menus that the app meny drop down list will be based off of.
            var getAllAppMenusResponse = _service.GetAllAppMenus(getAllAppMenusRequest);

            model.AppMenuList = getAllAppMenusResponse.AppMenus;

            //
            //Get the list of all app menu items except for the one we are currently editing.
            //
            var getAllAppMenuItemsRequest = new AppMenuItemMaintenanceGetAllAppMenuItemsRequest()
            {
                AppMenuItemIdExcludeList = new List <int>()
            };

            if (model != null && model.AppMenuItemId != null)
            {
                getAllAppMenuItemsRequest.AppMenuItemIdExcludeList.Add(model.AppMenuItemId);
            }

            //Set the list of app menu items that the parent menu item drop down list will be based off of.
            var getAllAppMenuItemsResponse = _service.GetAllAppMenuItems(getAllAppMenuItemsRequest);

            model.ParentAppMenuItemList = getAllAppMenuItemsResponse.AppMenuItems;
        }
        /// <summary>
        /// Method to get all AppMenuItems used for a select list
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public AppMenuItemMaintenanceGetAllAppMenuItemsResponse GetAllAppMenuItems(
            AppMenuItemMaintenanceGetAllAppMenuItemsRequest request)
        {
            var appMenuItemsQueryable = _repository.GetAll<AppMenuItem>();
            if (request != null && request.AppMenuItemIdExcludeList != null &&
                request.AppMenuItemIdExcludeList.Any())
            {
                appMenuItemsQueryable = appMenuItemsQueryable.Where(p => !request.AppMenuItemIdExcludeList.Contains(p.AppMenuItemId));
            }
            var appMenuItems = appMenuItemsQueryable.OrderBy(p => p.Name).ToList();

            return new AppMenuItemMaintenanceGetAllAppMenuItemsResponse()
            {
                AppMenuItems = appMenuItems,
                IsSuccessful = true
            };
        }