//GET : /api/UserProfile
        public async Task <Object> GetApplications()
        {
            string userId = User.Claims.First(c => c.Type == "UserID").Value;
            var    user   = await _userManager.FindByIdAsync(userId);

            var UserApplicationContext         = _dataContext.Set <UserApplications>();
            var ApplicationRedirectUrisContext = _dataContext.Set <ApplicationRedirectUris>();
            var ApplicationScopesContext       = _dataContext.Set <ApplicationScopes>();

            var model = new UserApplicationViewModel();

            model.UserId   = user.Id;
            model.UserName = user.UserName;

            var applicationList = await UserApplicationContext.Where(x => x.UserId == user.Id).ToListAsync();

            model.Applications = applicationList.Select(x => new ApplicationModel
            {
                Id           = x.Id,
                ClientId     = x.ClientId,
                Secret       = x.Secret,
                Name         = x.ApplicationName,
                RedirectUris = ApplicationRedirectUrisContext.Where(y => y.ApplicationId == x.Id).Select(y => new RedirectUriModel
                {
                    Id          = y.Id,
                    RedirectUri = y.RedirectUri
                }).ToList(),
                Scopes = ApplicationScopesContext.Where(y => y.ApplicationId == x.Id).Select(y => new ScopeModel
                {
                    Id    = y.Id,
                    Scope = y.Scope
                }).ToList(),
            }).ToList();
            return(model);
        }
 public ActionResult JobApplicant(int id, int appid)
 {
     if (Session["UserId"] != null)
     {
         using (JobStoreContext db = new JobStoreContext())
         {
             int  UserId = Convert.ToInt32(Session["UserId"]);
             User user   = new User();
             user = db.Users.Where(x => x.UserId == id).FirstOrDefault();
             Application app = new Application();
             app = db.Applications.Where(e => e.ApplicationId == appid && e.Job.JobCreator.UserId == UserId && e.User.UserId == user.UserId).FirstOrDefault();
             UserApplicationViewModel viewmodel = new UserApplicationViewModel()
             {
                 Applicant   = user,
                 Application = app
             };
             if (app == null)
             {
                 return(RedirectToAction("Index"));
             }
             else
             {
                 return(View(viewmodel));
             }
         }
     }
     else
     {
         return(RedirectToAction("Login"));
     }
 }
 public ActionResult Applicants(int id)
 {
     if (Session["UserId"] != null)
     {
         using (JobStoreContext db = new JobStoreContext())
         {
             Job job = db.Jobs.Where(c => c.JobId == id).FirstOrDefault();
             List <Application> applications = new List <Application>();
             applications = db.Applications.Where(a => a.Job.JobId == job.JobId && a.Status == "Pending").ToList();
             List <User> applicants = new List <User>();
             List <UserApplicationViewModel> viewmodel = new List <UserApplicationViewModel>();
             UserApplicationViewModel        entry     = new UserApplicationViewModel();
             applications.ForEach(x => { entry.Application = x; entry.Applicant = x.User; viewmodel.Add(entry); });
             return(View(viewmodel));
         }
     }
     else
     {
         return(RedirectToAction("Login"));
     }
 }