public OAuthRefreshTokenIndexViewModel(
            TokenSearchCriteria searchCriteria,
            IClientsRepository clientRepository,
            ICodeTokenRepository codeTokenRepository,
            bool doSearch = false)
        {
            this.SearchCriteria = searchCriteria;
            var clients =
                from item in clientRepository.GetAll()
                select new
            {
                item.Name, item.ID
            };
            var list =
                (from item in clients.ToArray()
                 select new SelectListItem
            {
                Text = item.Name, Value = item.ID.ToString()
            }).ToList();

            list.Insert(0, new SelectListItem {
                Text = "-none selected-", Value = ""
            });
            this.Clients = list;

            if (searchCriteria.HasValues || doSearch)
            {
                var results = codeTokenRepository.Search(searchCriteria.ClientID, searchCriteria.Username, searchCriteria.Scope, CodeTokenType.RefreshTokenIdentifier);
                this.SearchResults = results.OrderBy(x => x.TimeStamp);
            }
        }
        public OAuthRefreshTokenIndexViewModel(
            TokenSearchCriteria searchCriteria,
            IClientsRepository clientRepository,
            ICodeTokenRepository codeTokenRepository,
            bool doSearch = false)
        {
            this.SearchCriteria = searchCriteria;
            var clients = 
                from item in clientRepository.GetAll()
                select new 
                {
                    item.Name, item.ID
                };
            var list =
                (from item in clients.ToArray()
                select new SelectListItem
                {
                    Text = item.Name, Value=item.ID
                }).ToList();
            list.Insert(0, new SelectListItem { Text = @"-none selected-", Value="" });
            this.Clients = list;

            if (searchCriteria.HasValues || doSearch)
            {
                var results = codeTokenRepository.Search(searchCriteria.ClientID, searchCriteria.Username, searchCriteria.Scope, CodeTokenType.RefreshTokenIdentifier);
                this.SearchResults = results.OrderBy(x=>x.TimeStamp);
            }
        }
 public ActionResult DeleteToken(string token, TokenSearchCriteria searchCriteria)
 {
     codeTokenRepository.DeleteCode(token);
     return RedirectToAction("Index", new { searchCriteria.Username, searchCriteria.Scope, searchCriteria.ClientID });
 }
 public ActionResult IndexPost(TokenSearchCriteria searchCriteria)
 {
     var vm = new OAuthRefreshTokenIndexViewModel(searchCriteria, clientRepository, codeTokenRepository, true);
     return View("Index", vm);
 }