Я знаю, что заголовок немного сложно понять, но я точно не знал, как описать проблему, но вот она.
У меня есть эта доменная сущность: пользователь, и у нее есть список адресов подкласса, поскольку у пользователя может быть несколько адресов. Дом, работа и т. Д. ...
private class User{
private string _FirstName;
private string _LastName;
private IList<Address> _addresses;
public string FirstName{...}
public string LastName{...}
public IList<Addresses> Addresses {...}
}
private class Address{
private string _streetAddress1;
private string _streetAddress2;
...
public string StreetAddress1{...};
public string StreetAddress2{...};
...
}
У меня есть проверка входных данных, которая выглядит следующим образом.
[AcceptVerbs(HttpVerbs.Post)]
[ValidateModelAttribute(typeof(FormUser))]
public ActionResult CreateEdit([Bind(Prefix = "")] FormUser formUser)
{
//-- Check so the input
if (!ModelState.IsValid)
return View();
User modelUser = new UserMapper().MapToModel(formUser);
_UserRepository.Save(modelUser);
return RedirectToAction<SharedController>(m => m.Success());
}
FormUser - это моя PresentationEntity, которая выглядит следующим образом.
public class FormUser
{
[NonEmptyValidator("Field is required!")]
public string FirstName{get;set;}
[NonEmptyValidator("Field is required!")]
public string LastName{get;set;}
public List<Address> Addresses{get;set;}
}
Для полей FirstName и LastName это не проблема, это очень просто и работает отлично. Но теперь я добавил свойство Addresses в мою сущность User и хочу сделать этот ввод умным способом с простой проверкой поля ввода в сущности Address.
Итак, скажем, у меня на веб-странице есть текстовые поля FirstName и LastName, и теперь я хочу добавить адрес для этого пользователя. Я вижу способ сделать это
Это открытие новой веб-страницы с собственным контроллером, которая выполняет ту же проверку, что и я для Пользователя. Поэтому у меня есть класс FormAddress и CreateEdit () - метод в моем AddressController. Проблема, которую я вижу здесь, состоит в том, как мне добавить эти адресные данные пользователю, когда я закончу проверку данных?
Или есть лучший способ сделать это. Это действительно легко в приложении с состоянием, но здесь я не вижу хорошего чистого способа сделать это.