コード例 #1
0
        public ActionResult Changes(string entityName, int page = 1, [Bind(Prefix = "sq")] string searchQuery = "", [Bind(Prefix = "pp")] int perPage = 10, [Bind(Prefix = "o")] string order = "", [Bind(Prefix = "od")] string orderDirection = "")
        {
            var entityChangesFor = AdminInitialise.EntitiesTypes.FirstOrDefault(x => x.Name == entityName);
            var changeEntity     = AdminInitialise.ChangeEntity;
            var filters          = entityService.PrepareFilters(changeEntity, Request);
            var pagedRecords     = entityService.GetChangesRecords(entityChangesFor, page, perPage, filters, searchQuery, order, orderDirection);

            if (pagedRecords.Records.IsNullOrEmpty() && page > 1)
            {
                return(RedirectToAction("Changes", PrepareRouteValues(entityName, 1, perPage, filters, searchQuery, order, orderDirection)));
            }

            var url       = Url.Action("Changes", PrepareRouteValues(entityName, "-page-", perPage, filters, searchQuery, order, orderDirection)).Replace("-page-", "{0}");
            var viewModel = new ChangesViewModel
            {
                Data             = pagedRecords.Records,
                Columns          = entityService.PrepareColumns(changeEntity, order, orderDirection),
                Entity           = changeEntity,
                EntityChangesFor = entityChangesFor,
                PagerInfo        = new PagerInfo(url, perPage, page, pagedRecords.TotalItems),
                Filters          = filters,
                SearchQuery      = searchQuery,
                IsSearchActive   = changeEntity.SearchProperties.Any(),
                PerPage          = perPage,
                Order            = order,
                OrderDirection   = orderDirection
            };

            return(View(viewModel));
        }
コード例 #2
0
        protected override void OnViewModelChanged(ChangesViewModel oldModel, ChangesViewModel newModel)
        {
            base.OnViewModelChanged(oldModel, newModel);

            ViewModel.Listen(x => x.SelectedStagedFile).Then(OnSelectedFileChanged);
            ViewModel.Listen(x => x.SelectedUnstagedFile).Then(OnSelectedFileChanged);
        }
コード例 #3
0
        public async Task <IActionResult> Changes(String date)
        {
            if (String.IsNullOrWhiteSpace(date))
            {
                return(RedirectToAction("Index"));
            }

            DateTime dateTime;

            if (!DateTime.TryParse(date, out dateTime))
            {
                return(RedirectToAction("Index"));
            }

            var viewModel = await ChangesViewModel.CreateAsync(_changeSetRepository, dateTime);

            return(View(viewModel));
        }
コード例 #4
0
        private void OnSelectedItemViewModelChanged(Ear <NodeItemViewModel> ear, NodeItemViewModel oldValue, NodeItemViewModel newValue)
        {
            if (newValue != null)
            {
                switch (newValue)
                {
                case CommitNodeItemViewModel commitNodeViewModel:
                    var commitViewModel = new CommitViewModel(ViewModel.Repository, commitNodeViewModel.Commit);
                    commitViewModel.Listen(x => x.SelectedFileContent).Then(() => ViewModel.SelectedFileContent = commitViewModel.SelectedFileContent);
                    commitView.ViewModel     = commitViewModel;
                    selectedItemView.Content = commitView;
                    break;

                case ChangesNodeItemViewModel changesNodeViewModel:
                    var changesViewModel = new ChangesViewModel(ViewModel.Repository, changesNodeViewModel.Status);
                    changesViewModel.Listen(x => x.SelectedFileContent).Then(() => ViewModel.SelectedFileContent = changesViewModel.SelectedFileContent);
                    changesView.ViewModel    = changesViewModel;
                    selectedItemView.Content = changesView;
                    break;
                }

                if (rightColumn.Width == new GridLength(0))
                {
                    var settings = Properties.Settings.Default;
                    splitterColumn.Width = new GridLength(5);
                    rightColumn.Width    = new GridLength(settings.RightSidebarWidth);
                }
            }
            else
            {
                if (rightColumn.Width != new GridLength(0))
                {
                    splitterColumn.Width = new GridLength(0);
                    rightColumn.Width    = new GridLength(0);
                }
            }
        }