Exemplo n.º 1
0
 public HomeModule()
 {
     Get["/"] = _ => {
         List <Contact> allContacts = Contact.GetAll();
         return(View["index.cshtml", allContacts]);
     };
     Get["/contact/form"] = _ => View["contact_form.cshtml"];
     Post["/contact/new"] = _ => {
         Dictionary <string, object> model = new Dictionary <string, object>();
         var           newContact          = new Contact(Request.Form["name"]);
         List <Number> contactNumbers      = newContact.GetNumbers();
         var           newNumber           = new Number(Request.Form["number"]);
         contactNumbers.Add(newNumber);
         List <Address> contactAddresses = newContact.GetAddresses();
         var            newAddress       = new Address(Request.Form["first-line"], Request.Form["city"], Request.Form["state"], Request.Form["zip"]);
         contactAddresses.Add(newAddress);
         model.Add("numbers", contactNumbers);
         model.Add("addresses", contactAddresses);
         model.Add("contact", newContact);
         return(View["contact.cshtml", model]);
     };
     //Search functionality does not work, but I would love it to.
     Get["/contacts/search"] = _ => {
         string  searchString        = (Request.Form["search-string"]);
         Contact searchResultContact = Contact.Search(searchString);
         return(View["search_results.cshtml", searchResultContact]);
     };
     Get["/contacts/{id}"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object>();
         Contact        selectedContact    = Contact.Find(parameters.id);
         List <Number>  allNumbers         = selectedContact.GetNumbers();
         List <Address> allAddresses       = selectedContact.GetAddresses();
         model.Add("numbers", allNumbers);
         model.Add("addresses", allAddresses);
         model.Add("contact", selectedContact);
         return(View["contact.cshtml", model]);
     };
     Post["/contacts/clear"] = _ => {
         Contact.ClearAll();
         return(View["contacts_clear.cshtml"]);
     };
 }