public ActionResult Create([Bind(Include = "Id,FirstName,LastName,IsInstructor")] Member member) { ViewBag.Disciplines = db.GetDbSet <Discipline>().ToList(); string disciplineId = Request.Form["Dropdown"]; if (ModelState.IsValid) { member.IsArchived = false; db.GetDbSet <Member>().Add(member); db.SaveChanges(); if (disciplineId == "None") { return(Json(new JsonReturn { RedirectLink = Url.Action("List"), })); } else { DisciplineEnrolledMember enrolledMember = new DisciplineEnrolledMember(); enrolledMember.MemberId = member.Id; enrolledMember.Member = db.GetDbSet <Member>().Find(enrolledMember.MemberId); enrolledMember.DisciplineId = int.Parse(disciplineId); enrolledMember.Discipline = db.GetDbSet <Discipline>().Find(enrolledMember.DisciplineId); return(PartialView("Enroll", enrolledMember)); } } return(PartialView("Create", member)); }
public ActionResult Enroll(DisciplineEnrolledMember enrolledMember) { if (ModelState.IsValid) { enrolledMember.RemainingCost = enrolledMember.Cost; enrolledMember.EndDate = enrolledMember.StartDate.AddMonths(enrolledMember.MembershipLength); db.GetDbSet <DisciplineEnrolledMember>().Add(enrolledMember); db.SaveChanges(); return(Json(new JsonReturn { RedirectLink = Url.Action("Details", new { id = enrolledMember.MemberId }), })); } ViewBag.DisciplineId = new SelectList(db.GetDbSet <Discipline>(), "Id", "Name", enrolledMember.DisciplineId); return(PartialView(enrolledMember)); }
public ActionResult Create([Bind(Include = "Id,Description,Amount,Date,MemberId,PaymentType,Member")] Payment payment, int membershipId) { Member member = db.GetDbSet <Member>().Include("DisciplineEnrolledMembers").Include("DisciplineEnrolledMembers.Discipline").First(m => m.Id == payment.MemberID); if (ModelState.IsValid) { if (membershipId != 0) { DisciplineEnrolledMember membership = member.DisciplineEnrolledMembers.First(d => d.Id == membershipId); membership.MakePayment(payment.Amount); } db.GetDbSet <Payment>().Add(payment); db.SaveChanges(); return(Json(new JsonReturn { RefreshScreen = true })); } payment.Member = member; return(PartialView("Create", payment)); }
public ActionResult Index() { // Gets all of the discipline enrolled members from the database and puts them in a list. var memberList = (from mem in db.GetDbSet <DisciplineEnrolledMember>() where !mem.IsArchived select new { mem.Member, mem.Discipline, mem.Discipline.Name, mem.Member.FirstName, mem.Member.LastName, mem.EndDate, mem.RemainingCost }).ToList(); DayOfWeek today = DateTime.Now.DayOfWeek; // Gets all of the class sessions from the database and puts them in a list. var classSession = (from cls in db.GetDbSet <ClassSession>() where cls.DayOfWeek == today && !cls.IsArchived select new { cls.Id, cls.Discipline, cls.Discipline.Name, cls.DayOfWeek, cls.StartTime }).ToList(); // Remove all memberships with an end date prior to the last 2 months. memberList.RemoveAll(x => x.EndDate < DateTime.Now.AddMonths(-2)); // Sorts the members by their end date memberList.Sort((x, y) => DateTime.Compare(x.EndDate, y.EndDate)); // Selects the top 5 members from the list. if (memberList.Count > 5) { memberList.RemoveRange(5, memberList.Count - 5); } // Select top 5 class sessions. if (classSession.Count > 5) { classSession.RemoveRange(5, classSession.Count - 5); } HomeViewModel viewModel = new HomeViewModel() { DisciplineEnrolledMembers = new List <DisciplineEnrolledMember>(), ClassSessions = new List <ClassSession>() }; // Creates a model and sets lists properties to the model properties. foreach (var item in memberList) { DisciplineEnrolledMember mem = new DisciplineEnrolledMember(); mem.Member = item.Member; mem.Discipline = item.Discipline; mem.Discipline.Name = item.Name; mem.Member.FirstName = item.FirstName; mem.Member.LastName = item.LastName; mem.EndDate = item.EndDate; mem.RemainingCost = item.RemainingCost; viewModel.DisciplineEnrolledMembers.Add(mem); } // Creates a model and sets lists properties to the class properties. foreach (var item in classSession) { ClassSession session = new ClassSession(); session.Id = item.Id; session.Discipline = item.Discipline; session.Discipline.Name = item.Name; session.DayOfWeek = item.DayOfWeek; session.StartTime = item.StartTime; viewModel.ClassSessions.Add(session); } ViewBag.ClassName = null; return(View(viewModel)); }