Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }