public ActionResult Summary() { Matriarch currentMom = db.Matriarches.OrderByDescending(x => x.MatriarchId).First(); int babies = 0, bladder = 0, energy = 0; int currentDaddies = db.Children.Where(x => x.MotherId == currentMom.MatriarchId).GroupBy(x => x.Father).Select(x => x.FirstOrDefault()).Count(); int allDaddies = db.Children.GroupBy(x => x.Father).Select(x => x.FirstOrDefault()).ToList().Count(); int matriarchs = db.Matriarches.ToList().Count; foreach (Matriarch matriarch in db.Matriarches.ToList()) { babies += matriarch.Children.Count; bladder += matriarch.BladderFailures; energy += matriarch.EnergyFailures; } ViewBag.Babies = babies; ViewBag.CurrentMom = currentMom; ViewBag.CurrentDaddies = currentDaddies; ViewBag.AllDaddies = allDaddies; ViewBag.Mommies = matriarchs; ViewBag.Bladder = bladder; ViewBag.Energy = energy; return(View()); }
public ActionResult AddBladderFailure() { Matriarch matriarch = db.Matriarches.OrderByDescending(x => x.MatriarchId).First(); matriarch.BladderFailures += 1; db.Entry(matriarch).State = EntityState.Modified; db.SaveChanges(); return(Redirect(Request.UrlReferrer.ToString())); }
public ActionResult Create([Bind(Include = "MatriarchId,Name,BladderFailures,EnergyFailures")] Matriarch matriarch) { if (ModelState.IsValid) { db.Matriarches.Add(matriarch); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(matriarch)); }
// GET: Matriarchs/Details/5 public ActionResult Details(int?id, int?daddiesPage, int?childrenPage) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Matriarch matriarch = db.Matriarches.Find(id); if (matriarch == null) { return(HttpNotFound()); } List <Child> children = (from child in db.Children where child.MotherId == matriarch.MatriarchId group child by child.Father into daddy select daddy.FirstOrDefault()).ToList(); List <string> daddies = new List <string>(); foreach (Child child in children) { daddies.Add(child.Father); } ViewBag.DaddyCount = daddies.Count; IPagedList <string> daddiesPagedList = daddies.ToPagedList(daddiesPage ?? 1, 5); IPagedList <Child> childrenPagedList = (from child in db.Children where child.MotherId == matriarch.MatriarchId select child).OrderBy(x => x.ChildId).ToPagedList(childrenPage ?? 1, 10); ViewBag.DaddyCount = daddies.Count; ViewBag.ChildCount = (from child in db.Children where child.MotherId == matriarch.MatriarchId select child.Name).ToList().Count; MatriarchDetailsVM matriarchVM = new MatriarchDetailsVM { Mother = matriarch, ChildrenList = childrenPagedList, DaddiesList = daddiesPagedList, }; return(View(matriarchVM)); }