Exemplo n.º 1
0
        public ActionResult SaveScreener(ScreenerViewModel screenerView)
        {
            if (ModelState.IsValid)
            {
                if (screenerView.Screener.FormatId == -1)
                {
                    screenerView.Screener.FormatId = null;
                }
                screenerView.Screener.DurationMinutes = screenerView.Duration.NumberOfMinutes;
                if (screenerView.Screener.DurationMinutes.HasValue && screenerView.Screener.DurationMinutes == 0)
                {
                    screenerView.Screener.DurationMinutes = null;
                }
            }

            ScreenerViewModel model = new ScreenerViewModel();

            model.ListOfAttributes = new ScreenerRepository().GetListOfAttributes();
            model.ListOfGenres     = new ScreenerRepository().GetListOfGenres();
            model.ListOfFormats    = new ScreenerRepository().GetListOfFormats();
            Screener scr = new ScreenerRepository().AddScreener(screenerView.Screener, screenerView.SelectedGenres, screenerView.SelectedAttributes, this.User.UserId);

            model.Screener  = scr;
            ViewBag.Message = "The Screener has been saved";
            return(View("Screener", model));
        }
Exemplo n.º 2
0
        public ScreenerPage()
        {
            this.InitializeComponent();

            this.navigationHelper            = new NavigationHelper(this);
            this.navigationHelper.LoadState += this.NavigationHelper_LoadState;
            this.navigationHelper.SaveState += this.NavigationHelper_SaveState;
            DataContext = new ScreenerViewModel(nameSuggestBox, eventSuggestBox);
        }
Exemplo n.º 3
0
        public ActionResult Screener(int?filmId)
        {
            ScreenerViewModel model = new ScreenerViewModel();

            model.ListOfAttributes = new ScreenerRepository().GetListOfAttributes();
            model.ListOfGenres     = new ScreenerRepository().GetListOfGenres();
            model.ListOfFormats    = new ScreenerRepository().GetListOfFormats();
            int      filmSubId = filmId ?? -1;
            Screener scr       = new ScreenerRepository().GetScreener(filmSubId);

            if (scr == null)
            {
                scr = new Screener {
                    ScreenerId = -1, FormatId = -1, FilmSubmissionId = filmSubId, DurationMinutes = 0
                }
            }
            ;
            model.Screener = scr;
            model.Duration.NumberOfMinutes = scr.DurationMinutes ?? 0;

            return(View(model));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Screen(string criteria, int?page, string columns, string columnToAdd, string columnToRemove, string columnToken)
        {
            if (string.IsNullOrEmpty(criteria))
            {
                return(NotFound());
            }
            var screener = _screenerFactory.GetScreener(criteria);

            if (screener == null)
            {
                return(NotFound());
            }
            if (!ManageColumns(screener, columns, columnToAdd, columnToRemove, out var columnsTodisplay, columnToken))
            {
                return(NotFound());
            }
            ViewData["Columns"]  = string.Join(',', columnsTodisplay);
            ViewData["Criteria"] = criteria;
            ViewData["Title"]    = screener.Name;

            var stocks = screener.LoadStocks(_context).Where(screener.SelectionCriteria);

            stocks = screener.Order(stocks);
            var pageSize = 25;

            var pageList = await PaginatedList <Stock> .CreateAsync(stocks.AsNoTracking(), page ?? 1, pageSize);

            var viewModel = new ScreenerViewModel(pageList.PageIndex, pageList.TotalPages, pageList.HasPreviousPage, pageList.HasNextPage);

            foreach (var column in ColumnConstants.Columns.Where(x => !columnsTodisplay.Contains(x.Key)))
            {
                viewModel.AvailableAdditionalColumns.Add(column.Key, column.Value);
            }

            viewModel.ColumnTitles.AddRange(_cellsGenerator.GetColumnTitles(columnsTodisplay));
            viewModel.Rows.AddRange(_cellsGenerator.GetRows(pageList, columnsTodisplay));
            return(View(viewModel));
        }