public IActionResult Delete(int?id) { if (!id.HasValue) { return(RedirectToAction("List", "UserJobOffers")); } UserApplicationEditViewModel model = userApplicationsService.GetById(id.Value); if (model == null) { return(RedirectToAction("List", "UserJobOffers")); } userApplicationsService.Delete(model.Id); return(RedirectToAction("Details", "UserJobOffers", new { id = model.JobOfferId })); }
public IActionResult Accept(int?id) { if (!id.HasValue) { return(RedirectToAction("List", "UserJobOffers")); } UserApplicationEditViewModel model = userApplicationsService.GetById(id.Value); if (model == null) { return(RedirectToAction("List", "UserJobOffers")); } model.Status = ApplicationStatusEnum.Accepted; // User who created user application UserDetailsViewModel user = usersService.GetDetails(model.UserId); JobOfferEditViewModel jobOffer = jobOffersService.GetById(model.JobOfferId, user.Id); if (jobOffer == null) { return(RedirectToAction("List", "UserJobOffers")); } userApplicationsService.Update(model); emailService.SendAsync(new EmailViewModel { UserName = user.FullName, UserEmail = user.Email, Subject = "Application Accepted", Body = $"Your application for job {jobOffer.Title} has been accepted." }); return(RedirectToAction("Details", "UserJobOffers", new { id = model.JobOfferId })); }
public IActionResult Apply(int?jobOfferId) { if (!jobOfferId.HasValue) { return(RedirectToAction("List", "UserJobOffers")); } UserDetailsViewModel user = usersService.GetDetails(HttpContext.Session.GetInt32("loggedUserId").Value); JobOfferDetailsViewModel jobOffer = jobOffersService.GetDetails(jobOfferId.Value, user.Id); if (jobOffer == null) { return(RedirectToAction("List", "UserJobOffers")); } UserApplicationEditViewModel model = new UserApplicationEditViewModel { UserId = user.Id, // AuthenticationService.LoggedUser.Id, JobOfferId = jobOffer.Id, // jobOfferId.Value Status = ApplicationStatusEnum.Pending }; userApplicationsService.Insert(model); // Send email emailService.SendAsync(new EmailViewModel { UserName = jobOffer.User.FullName, UserEmail = jobOffer.User.Email, Subject = "New Application", Body = $"{user.FullName} applied for job {jobOffer.Title}" }); return(RedirectToAction("Details", "UserJobOffers", new { id = jobOfferId })); }