While researching how to manage follow-ups, I faced a few challenges: ✅ Associating a follow-up with a specific job application   ✅ Restricting status selection (NotStarted, InProgress) during creation   ✅ Updating to Completed, Deferred, or Cancelled only during edit   ✅ Dynamically loading dropdowns with enums and job applications Here’s a quick look at how I solved it: // Load FollowUpStatus dropdown ViewBag.FollowUpStatusList = Enum.GetValues(typeof(FollowUpStatus))   .Cast()   .Select(s => new SelectListItem { Value = ((int)s).ToString(), Text = s.ToString() }); // Load JobApplication dropdown ViewBag.JobApplicationList = _context.JobApplications   .Select(j => new SelectListItem { Value = j.Id.ToString(), Text = j.CompanyName }); s In the view: l@Html.DropDownListFor(model => model.JobApplicationId,    (IEnumerable)ViewBag.JobApplicationList,    "-- Select Application --") @html.DropDownListFor(model => model.Status,    (IEnumerable)ViewBag.FollowUpStatusList,    "-- Select Status --")

Apr 24, 2025 - 14:00
 0

While researching how to manage follow-ups, I faced a few challenges:

✅ Associating a follow-up with a specific job application  
✅ Restricting status selection (NotStarted, InProgress) during creation  
✅ Updating to Completed, Deferred, or Cancelled only during edit  
✅ Dynamically loading dropdowns with enums and job applications

Here’s a quick look at how I solved it:

// Load FollowUpStatus dropdown
ViewBag.FollowUpStatusList = Enum.GetValues(typeof(FollowUpStatus))
  .Cast()
  .Select(s => new SelectListItem { Value = ((int)s).ToString(), Text = s.ToString() });

// Load JobApplication dropdown
ViewBag.JobApplicationList = _context.JobApplications
  .Select(j => new SelectListItem { Value = j.Id.ToString(), Text = j.CompanyName });
s

In the view:

l@Html.DropDownListFor(model => model.JobApplicationId, 
  (IEnumerable)ViewBag.JobApplicationList, 
  "-- Select Application --")

@html.DropDownListFor(model => model.Status, 
  (IEnumerable)ViewBag.FollowUpStatusList, 
  "-- Select Status --")