Witam
Otóż w swojej aplikacji mam problem koncepcyjny, ale najpierw przedstawię klasy i interface.
Oto interface, który implementuje viewClients
void SetController(ClientsController controller);
void AddClientsToGrid(List<Clients> listClient);
void UpdateView(List<Clients> client);
To jest Controller dla viewClients:
public class ClientsController
{
IControllerClients _clientsView;
List<Clients> ListClients = new List<Clients>();
Clients _client;
#region Constructor
public ClientsController(viewClients view)
{
this._clientsView = view;
this._clientsView.SetController(this);
}
#endregion
public void CreateClient()
{
this._client = new Clients();
_client.Corporation = "";
_client.Name = "";
_client.Surname = "";
_client.Note = "";
_client.Date = DateTime.Now;
}
public void SetDetailsClient(Clients client)
{
client.Corporation = _clientsView.Corporation;
client.Name = _clientsView.Name;
client.Surname = _clientsView.Surname;
client.Note = _clientsView.Note;
}
public void LoadView()
{
var con = Database.Open();
ListClients = con.ShowAllClients();
_clientsView.AddClientsToGrid(ListClients);
}
public void Save()
{
CreateClient();
SetDetailsClient(_client); //Tu problem
var con = Database.Open().AddClient(_client.Name,_client.Surname,_client.Note,_client.Date);
}
}
Problemu by nie było gdybym klienta dodawał z tej samej formy, wtedy w interface, którego implementuje viewClients daje getery i setery pól, które są wymagane w kontrolerze i gra.
Ja dodaje klienta z innej formy i zastanawiam się jak przekazać mu dane z widoku ( to znaczy pewnie szybko sposób bym znalazł, ale nie chce zniszczyć wzorca MVC i jego idei ).
Moje dotychczasowe rozważanie to takie, że piszę interface dla formy dodającej Client ( ona implementuje to co w nim jest ) no i przekazuje jego instancję do ClientsController ( dodatkowy parametr w konstruktorze ), ale to nie jest chyba dobre??
Pozdrawiam
Edycja: Poradziłem sobie. Pzdr.