public HomeModule() { Get["/"] = _ => { List <Contact> allContacts = Contact.GetAll(); return(View["contacts.cshtml", allContacts]); }; Get["/contacts/new"] = _ => { return(View["contact_form.cshtml"]); }; Get["/contact/{id}"] = parameters => { Contact selectedContact = Contact.Find(parameters.id); return(View["contact.cshtml", selectedContact]); }; Get["/contact/delete/{id}"] = parameters => { Contact.Delete(parameters.id); List <Contact> allContacts = Contact.GetAll(); return(View["contacts.cshtml", allContacts]); }; Get["/contacts/search_form"] = _ => { return(View["search_form.cshtml"]); }; Get["/contacts/search/{suggestion}"] = parameters => { string userQuery = parameters.suggestion; List <Contact> searchedContacts = Contact.Search(userQuery); if (searchedContacts.Count > 0) { return(View["contacts_searched.cshtml", searchedContacts]); } else { List <string> searchSuggestions = Contact.SuggestSearch(userQuery); return(View["search_suggestions.cshtml", searchSuggestions]); } }; Post["/contact/new"] = _ => { string contactName = Request.Form["contact-name"]; string contactPhone = Request.Form["contact-phone"]; Contact newContact = new Contact(contactName, contactPhone); return(View["contact_made.cshtml", newContact]); }; Post["/contacts/new_address_or_not/{id}"] = parameters => { string addressOrNot = Request.Form["address-or-not"]; Contact selectedContact = Contact.Find(parameters.id); Address noAddress = new Address("No Address", "", "", ""); selectedContact.SetAddress(noAddress); if (addressOrNot == "return") { List <Contact> allContacts = Contact.GetAll(); return(View["contacts.cshtml", allContacts]); } else { return(View["contact_address_form.cshtml", selectedContact]); } }; Post["/contact/new_address/{id}"] = parameters => { string contactStreet = Request.Form["contact-street"]; string contactApt = Request.Form["contact-apt"]; string contactCity = Request.Form["contact-city"]; string contactState = Request.Form["contact-state"]; string contactZip = Request.Form["contact-zip"]; Address newAddress = new Address(contactStreet, contactCity, contactState, contactZip); newAddress.AddStreet(contactApt); Contact selectedContact = Contact.Find(parameters.id); selectedContact.SetAddress(newAddress); return(View["address-added.cshtml", selectedContact]); }; Post["/contacts/clear"] = _ => { Contact.ClearAll(); return(View["contacts_clear.cshtml"]); }; Post["/contacts/search"] = _ => { string userQuery = Request.Form["user-query"]; List <Contact> searchedContacts = Contact.Search(userQuery); if (searchedContacts.Count > 0) { return(View["contacts_searched.cshtml", searchedContacts]); } else { List <string> searchSuggestions = Contact.SuggestSearch(userQuery); return(View["search_suggestions.cshtml", searchSuggestions]); } }; }
public HomeModule() { Get["/"] = _ => { List <Contact> allContacts = Contact.GetAll(); return(View["index.cshtml", allContacts]); }; Get["/contact/add"] = _ => { return(View["contact_form.cshtml"]); }; Get["/contact/new"] = _ => { return(View["new_contact.cshtml"]); }; Get["/contact/{id}"] = parameters => { Dictionary <string, object> model = new Dictionary <string, object>(); Contact contact = Contact.Find(parameters.id); // List<Address> allAddresses = contact.GetAddress(); var addressList = contact.GetAddress(); model.Add("person", contact); model.Add("addresses", addressList); return(View["contact.cshtml", model]); }; Get["{id}/address/new"] = parameters => { Dictionary <string, object> model = new Dictionary <string, object>(); Contact contact = Contact.Find(parameters.id); List <Address> allAddresses = contact.GetAddress(); model.Add("person", contact); model.Add("addresses", allAddresses); return(View["add_address.cshtml", model]); }; Post["/contact/new_address"] = _ => { Dictionary <string, object> model = new Dictionary <string, object>(); Contact contact = Contact.Find(Request.Form["contact-id"]); List <Address> allAddresses = contact.GetAddress(); string newType = Request.Form["new-type"]; string newStreet = Request.Form["new-street"]; string newCity = Request.Form["new-city"]; string newState = Request.Form["new-state"]; string newZipCode = Request.Form["new-zip-code"]; Address newAddress = new Address(newType, newStreet, newCity, newState, newZipCode); allAddresses.Add(newAddress); model.Add("person", contact); model.Add("addresses", allAddresses); return(View["contact.cshtml", model]); }; Post["/contact/new"] = _ => { Dictionary <string, object> model = new Dictionary <string, object>(); Contact newContact = new Contact(Request.Form["new-name"], Request.Form["new-phone-number"]); List <Address> allAddresses = newContact.GetAddress(); string newType = Request.Form["new-type"]; string newStreet = Request.Form["new-street"]; string newCity = Request.Form["new-city"]; string newState = Request.Form["new-state"]; string newZipCode = Request.Form["new-zip-code"]; Address newAddress = new Address(newType, newStreet, newCity, newState, newZipCode); allAddresses.Add(newAddress); model.Add("person", newContact); model.Add("addresses", allAddresses); return(View["contact.cshtml", model]); }; Post["/"] = _ => { Contact newContact = new Contact(Request.Form["new-name"], Request.Form["new-phone-number"]); List <Contact> allContacts = Contact.GetAll(); return(View["index.cshtml", allContacts]); }; Post["/"] = _ => { List <Contact> allContacts = Contact.GetAll(); return(View["index.cshtml", allContacts]); }; Get["/contacts/clear"] = _ => { return(View["clear.cshtml"]); }; Post["/contacts/clear"] = _ => { List <Contact> allContacts = Contact.GetAll(); allContacts.Clear(); return(View["clear.cshtml"]); }; Post["/contact/delete/{id}"] = parameters => { Contact contact = Contact.Find(parameters.id); contact.Delete(); List <Contact> allContacts = Contact.GetAll(); return(View["index.cshtml", allContacts]); }; Get["/contact/search"] = _ => { return(View["search_form.cshtml"]); }; Post["/contact/search_results"] = _ => { Dictionary <string, object> model = new Dictionary <string, object>(); Contact selectedContact = Contact.SearchContact(Request.Form["search-name"]); // List<Address> allAddresses = contact.GetAddress(); var addressList = selectedContact.GetAddress(); model.Add("person", selectedContact); model.Add("addresses", addressList); return(View["contact.cshtml", model]); }; }