Mam akcję kontrolera, która przyjmuje dane, a następnie, korzystając z metody serwisu, zapisuje do bazy danych. Natomiast metoda tego serwisu, odpowiedzialna za zapis do bazy danych, sprawdza pewną poprawność wykorzystując do tego inną metodę. Zakładając, że walidacja tą metodą wypadła niepoprawnie, jak zwrócić komunikat do kontrolera?
public ActionResult Create(ViewModelClass viewModel)
{
if(ModelState.IsValid)
{
someService.SaveSomething(viewModel);
return RedirectToAction("Index");
}
return View(viewModel);
}
public void SaveSomething(ViewModelClass viewModel)
{
/* ... */
if(CheckIfCorrect(viewModel.someProperty))
{
/* ... zapis do bazy */
}
}
public bool CheckIfCorrect(int someProperty)
{
/* tutaj sprawdzam czy dane są OK i zwracam true lub false */
}