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 --")

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 --")