Skip to content
This repository was archived by the owner on Apr 19, 2021. It is now read-only.

Commit ef63780

Browse files
author
pmourfield
committed
get the code up to date
1 parent 140300a commit ef63780

24 files changed

+296
-149
lines changed

.deployment

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[config]
2+
project = mvc4/NerdDinner/NerdDinner.csproj
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

mvc4/NerdDinner/Controllers/AccountController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,9 @@ public ActionResult Manage(LocalPasswordModel model)
189189
WebSecurity.CreateAccount(User.Identity.Name, model.NewPassword);
190190
return RedirectToAction("Manage", new { Message = ManageMessageId.SetPasswordSuccess });
191191
}
192-
catch (Exception e)
192+
catch (Exception)
193193
{
194-
ModelState.AddModelError("", e);
194+
ModelState.AddModelError("", String.Format("Unable to create local account. An account with the name \"{0}\" may already exist.", User.Identity.Name));
195195
}
196196
}
197197
}

mvc4/NerdDinner/Controllers/DinnersController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public ActionResult Index(int? page)
2121
{
2222
int pageIndex = page ?? 1;
2323

24-
var dinners = db.Dinners.OrderBy(d => d.EventDate);
24+
var dinners = db.Dinners.Where(d => d.EventDate >= DateTime.Now).OrderBy(d => d.EventDate);
2525
return View(dinners.ToPagedList(pageIndex, PageSize));
2626
}
2727

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
using System;
2+
using System.Globalization;
3+
using System.Linq;
4+
using System.Web.Mvc;
5+
using NerdDinner.Helpers;
6+
using NerdDinner.Models;
7+
8+
namespace NerdDinner.Controllers
9+
{
10+
public class RSVPController : Controller
11+
{
12+
private NerdDinnerContext db = new NerdDinnerContext();
13+
14+
//
15+
// HTTP: /RSVP/Register/1
16+
[Authorize]
17+
public ActionResult Register(int id)
18+
{
19+
RegisterForDinner(id);
20+
return RedirectToAction("Details", "Dinners", new { id = id });
21+
}
22+
23+
//
24+
// AJAX: /Dinners/RegisterAjax/1
25+
[Authorize, HttpPost]
26+
public ActionResult RegisterAjax(int id)
27+
{
28+
RegisterForDinner(id);
29+
return Content("Thanks - we'll see you there!");
30+
}
31+
32+
private void RegisterForDinner(int id)
33+
{
34+
Dinner dinner = db.Dinners.Find(id);
35+
36+
if (!dinner.IsUserRegistered(User.Identity.Name))
37+
{
38+
RSVP rsvp = new RSVP();
39+
rsvp.AttendeeName = User.Identity.Name;
40+
41+
dinner.RSVPs.Add(rsvp);
42+
db.SaveChanges();
43+
}
44+
}
45+
46+
//
47+
// AJAX: /RSVP/CancelAjax/1
48+
49+
[Authorize, HttpPost]
50+
public ActionResult CancelAjax(int id)
51+
{
52+
Dinner dinner = db.Dinners.Find(id);
53+
54+
RSVP rsvp = dinner.RSVPs.SingleOrDefault(r => this.User.Identity.Name == r.AttendeeName);
55+
if (rsvp != null)
56+
{
57+
db.RSVPs.Remove(rsvp);
58+
db.SaveChanges();
59+
}
60+
61+
return Content("Sorry you can't make it!");
62+
}
63+
}
64+
}

mvc4/NerdDinner/Controllers/SearchController.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public IEnumerable<JsonDinner> SearchByPlaceNameOrZip(string location)
5353
[HttpPost]
5454
public IEnumerable<JsonDinner> GetMostPopularDinners(int limit)
5555
{
56-
var mostPopularDinners = from dinner in db.Dinners
56+
var mostPopularDinners = from dinner in db.Dinners.Include("RSVPs")
5757
where dinner.EventDate >= DateTime.Now
5858
orderby dinner.RSVPs.Count descending
5959
select dinner;
@@ -70,17 +70,17 @@ protected IQueryable<JsonDinner> FindByLocation(double latitude, double longitud
7070
.Where(loc => loc.Location.Distance(sourcePoint) < 2000)
7171
.OrderBy(loc => loc.Location.Distance(sourcePoint));
7272

73-
//foreach (Dinner dinner in results)
74-
//{
75-
// dinner.RSVPs = new List<RSVP>();
73+
foreach (Dinner dinner in results)
74+
{
75+
dinner.RSVPs = new List<RSVP>();
7676

77-
// var rsvps = db.RSVPs.Where(x => x.DinnerID == dinner.DinnerID);
77+
var rsvps = db.RSVPs.Where(x => x.DinnerID == dinner.DinnerID);
7878

79-
// foreach (RSVP rsvp in rsvps)
80-
// {
81-
// dinner.RSVPs.Add(rsvp);
82-
// }
83-
//}
79+
foreach (RSVP rsvp in rsvps)
80+
{
81+
dinner.RSVPs.Add(rsvp);
82+
}
83+
}
8484

8585
var jsonDinners = results.AsEnumerable()
8686
.Select(item => JsonDinnerFromDinner(item));
@@ -98,7 +98,7 @@ private JsonDinner JsonDinnerFromDinner(Dinner dinner)
9898
Longitude = dinner.Location.Longitude.Value,
9999
Title = dinner.Title,
100100
Description = dinner.Description,
101-
RSVPCount = 0,
101+
RSVPCount = dinner.RSVPs.Count(),
102102
Url = dinner.DinnerID.ToString()
103103
};
104104
}
868 Bytes
Loading

0 commit comments

Comments
 (0)