public ActionResult Details(int applicationId) { // get application Application application = _applicationsRepository.GetApplicationById(applicationId); // get current user logged in int userIdCurrentlyLoggedIn = Int32.Parse(User.Claims.FirstOrDefault(uc => uc.Type == ClaimTypes.NameIdentifier).Value); // check if application does not exists if (application == null) { return(NotFound()); } // check if application is not made by the applicant if (User.IsInRole("candidate")) { ViewBag.SelectedNav = "Profile"; if (application.JobFinderUser.UserId != userIdCurrentlyLoggedIn) { return(NotFound()); } } // check if company user is not assigned to see the job listing if (User.IsInRole("hr")) { ViewBag.SelectedNav = "Dashboard"; int companyId = application.JobListing.Company.CompanyId; if (!_companyUsersRepository.CompanyUserExists(userIdCurrentlyLoggedIn, companyId)) { return(NotFound()); } } // retrieve data for application ApplicationEducation applicationEducation = _applicationEducationsRepository.GetApplicationEducationForApplication(applicationId); ApplicationWorkExperience applicationWorkExperience = _applicationWorkExperience.GetApplicationWorkExperienceForApplication(applicationId); ApplicationSkill applicationSkill = _applicationSkillsRepository.GetApplicationSkillForApplication(applicationId); // build a list for potential application statuses List <string> ApplicationStatuses = new List <string> { "Pending", "Contacted", "Accepted", "Rejected" }; // build up a view model with all the data required to see an application ViewApplicationViewModel viewApplicationViewModel = new ViewApplicationViewModel { Application = application, ApplicationEducation = applicationEducation, ApplicationSkill = applicationSkill, ApplicationWorkExperience = applicationWorkExperience, OtherNotes = application.OtherNotes, Status = application.Status, ApplicationWrittenAt = application.ApplicationWrittenAt }; ViewBag.ApplicationStatuses = new SelectList(ApplicationStatuses, ApplicationStatuses); return(View(viewApplicationViewModel)); }
public async Task <IActionResult> DeclineApplication(ViewApplicationViewModel model) { VendorApplication application = await _vendorApplicationRepository.GetApplicationByIdAsync(model.VendorApplicationId); application.Status = "Declined"; application.RejectMessage = model.RejectMessage; await _vendorApplicationRepository.UpdateApplicationAsync(application); return(RedirectToAction("ListApplications", "VendorApplication")); }
public void UpdateStatus(ViewApplicationViewModel viewmodel) { using (UnitOfWork.UnitOfWork uow = new UnitOfWork.UnitOfWork()) { var application = uow.Repository <Application>().GetById(viewmodel.IdNumber); if (application != null) { application.Status = viewmodel.Status; uow.Repository <Application>().Update(application); uow.Save(); } } }
public async Task <IActionResult> ViewApplicationAsync(int applicationId) { VendorApplication application = await _vendorApplicationRepository.GetApplicationByIdAsync(applicationId); //Currency currency = await _currencyRepository.GetCurrencyByNameAsync(purchase.PaymentMethods.First().PaymentMethodName); //PaymentMethod paymentMethod = purchase.PaymentMethods.First(); ApplicationUser user = await _userManager.FindByIdAsync(application.ApplicantId); var vm = new ViewApplicationViewModel { VendorApplicationId = application.VendorApplicationId, Applicant = user, IdProofUrl = application.IdProofUrl, ResidenceProof = application.ResidencyProofUrl, ApplicationDate = application.ApplicationDate, RejectMessage = application.RejectMessage }; return(View(vm)); }