Sono un po 'confuso se il salvataggio delle informazioni nel codice di sessione di seguito, appartiene all'azione del controller come mostrato di seguito o dovrebbe far parte del mio Modello?
Vorrei aggiungere che ho altri metodi di controller che leggeranno più avanti questo valore di sessione.
public ActionResult AddFriend(FriendsContext viewModel)
{
if (!ModelState.IsValid)
{
return View(viewModel);
}
// Start - Confused if the code block below belongs in Controller?
Friend friend = new Friend();
friend.FirstName = viewModel.FirstName;
friend.LastName = viewModel.LastName;
friend.Email = viewModel.UserEmail;
httpContext.Session["latest-friend"] = friend;
// End Confusion
return RedirectToAction("Home");
}
Ho pensato di aggiungere una classe di utilità statica nel mio modello che fa qualcosa di simile in basso, ma sembra semplicemente stupido aggiungere 2 righe di codice in un altro file.
public static void SaveLatestFriend(Friend friend, HttpContextBase httpContext)
{
httpContext.Session["latest-friend"] = friend;
}
public static Friend GetLatestFriend(HttpContextBase httpContext)
{
return httpContext.Session["latest-friend"] as Friend;
}