E-mail
static class Program { /// <summary> /// The main entry point for the application. /// Standard code.. nothing MVP /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } }
public partial class Form1 : Form, IView { private MainPresenter presenter; public Form1() { InitializeComponent(); presenter = new MainPresenter(this); } private void btnPostCustomer_Click(object sender, EventArgs e) { presenter.PostCustomer(); } // IView members public string FirstName { get { return txtFirstName.Text; } set { txtFirstName.Text = value; } } public string LastName { get { return txtLastName.Text; } set { txtLastName.Text = value; } } public void DisplayResult(string result) { MessageBox.Show(result); } }
public class MainPresenter { private IView view; private MainModel model = new MainModel(); public MainPresenter(IView view) { this.view = view; } public void PostCustomer() { Debug.Assert(view != null); try { Customer customer = new Customer(view.FirstName, view.LastName); model.PostCustomer(customer); view.DisplayResult(customer.ToString() + " posted"); } catch(Exception ex) { view.DisplayResult(ex.Message); } } }
private void btnPostCustomer_Click(object sender, EventArgs e) { presenter.PostCustomer(); }
public void PostCustomer() { Debug.Assert(view != null); try { Customer customer = new Customer(view.FirstName, view.LastName); model.PostCustomer(customer); view.DisplayResult(customer.FullName() + " posted"); } catch(Exception ex) { view.DisplayResult(ex.Message); } }
public void PostCustomer(Customer customer) { XmlSerializer serializer = new XmlSerializer(typeof(Customer)); if (File.Exists("Customer.xml")) { using (FileStream stream = new FileStream("Customer.xml", FileMode.Append, FileAccess.Write)) { serializer.Serialize(stream, customer); } } else { using (FileStream stream = new FileStream("Customer.xml", FileMode.Create, FileAccess.Write)) { serializer.Serialize(stream, customer); } } }
public void DisplayResult(string result) { MessageBox.Show(result); }
Remember Me
a@href@title, strike