public ActionResult Index()
        {
            //if you want to order by something other than first name later, i would look at ordering client site
            //take a look at the UI project (the theme) - data tables - these can be sorted client side with javascript

            var peopleBySite = _db.People
                               .OrderBy(x => x.FirstName)
                               .GroupBy(x => x.Site.Name)
                               .ToList()
                               .Select(x => new PeopleListViewModel.NamedList {
                Name = x.Key, People = x.ToList()
            });

            var peopleByRole = _db.People
                               .OrderBy(x => x.FirstName)
                               .GroupBy(x => x.Role.Name)
                               .ToList()
                               .Select(x => new PeopleListViewModel.NamedList {
                Name = x.Key, People = x.ToList()
            });

            var viewModel = new PeopleListViewModel
            {
                ByRole = peopleByRole,
                BySite = peopleBySite
            };

            return(View(viewModel));
        }
 public PeopleListPage()
 {
     InitializeComponent();
     BindingContext = new PeopleListViewModel()
     {
         Navigation = this.Navigation
     };
 }
Example #3
0
        public ActionResult GoodGuyList()
        {
            var voteType  = VoteType.Up;
            var viewModel = new PeopleListViewModel();

            viewModel.PageType            = voteType;
            viewModel.LastRankingDateTime = DbContext.RankingHistory
                                            .OrderByDescending(rh => rh.RankingDateTime)
                                            .FirstOrDefault()?.RankingDateTime;
            viewModel.LastRanking = DbContext.PeopleRanking
                                    .Where(pr => pr.RankType == voteType)
                                    .OrderBy(pr => pr.Rank)
                                    .ToList();
            viewModel.TopPeople = DbContext.People
                                  .OrderByDescending(p => p.Votes.Count(v => v.VoteType == voteType))
                                  .Where(p => p.Votes.Count(v => v.VoteType == voteType) > 0)
                                  .Take(ConfigurationHelper.Instance.RankingPeopleCount)
                                  .ToList();

            return(View("ShitList", viewModel));
        }
 public PeopleListPage()
 {
     InitializeComponent();
     BindingContext = new PeopleListViewModel();
 }
Example #5
0
 public PeopleListView()
 {
     InitializeComponent();
     DataContext = new PeopleListViewModel();
 }
Example #6
0
 public MainWindow(PeopleListViewModel peopleListViewModel)
 {
     _peopleListViewModel = peopleListViewModel;
     InitializeComponent();
 }
 public PeoplesManagementPage(PeopleListViewModel peopleListViewModel)
 {
     InitializeComponent();
     DataContext = peopleListViewModel;
 }
 public PeopleListPage()
 {
     InitializeComponent();
     this.viewModel      = new PeopleListViewModel();
     this.BindingContext = this.viewModel;
 }
Example #9
0
 public PeopleListView(Action showAddPerson, Action showFilter)
 {
     InitializeComponent();
     DataContext = new PeopleListViewModel(showAddPerson, showFilter);
 }