Example #1
0
        public List <Dinner> GetAllDinners()
        {
            List <Dinner> dinners = new List <Dinner>();

            dinners = db.Dinner.ToList();
            SortRepo sort = new SortRepo();

            dinners.Sort(sort.CompareDescending);
            return(dinners);
        }
        public List <GuestVM> GetAllMembers(int groupID)
        {
            List <GuestVM>   MemberList    = new List <GuestVM>();
            List <UserGroup> userGroupList = db.UserGroups.Where(g => g.GroupId == groupID).Include(u => u.User).ToList();

            foreach (UserGroup user in userGroupList)
            {
                MemberList.Add(new GuestVM
                {
                    Name    = user.User.FirstName + " " + user.User.LastName,
                    Balance = user.Credit,
                    UserID  = user.UserId
                });
            }

            SortRepo sortRepo = new SortRepo();

            MemberList.Sort(sortRepo.Compare);

            return(MemberList);
        }
        public List <TransactionVM> GetUserTransactions(string userID)
        {
            List <TransactionVM> transactionsVM = new List <TransactionVM>();

            foreach (Transaction transaction in db.Transactions.Where(u => u.UserID == userID).ToList())
            {
                transactionsVM.Add(new TransactionVM
                {
                    Date            = DateTime.Parse(transaction.TransactionDate),
                    Value           = transaction.Value,
                    TransactionID   = transaction.RecieptID,
                    TransactionType = transaction.TransactionType
                });
            }

            SortRepo sort = new SortRepo();

            transactionsVM.Sort(sort.Compare);

            return(transactionsVM);
        }
        //Returns the first list of dinner guests for Dinner group that user is apart of
        public List <DinnerGuestsVM> GetDinnerGuests(string userID)
        {
            List <DinnerGuestsVM> dinnerGuests = new List <DinnerGuestsVM>();
            var dinners = db.Dinner.Where(g => g.GroupId == 1 && g.Active).ToList();

            dinners.Sort(new SortRepo().Compare);
            bool flag = true;


            if (dinners.Count != 0)
            {
                foreach (Dinner dinner in dinners)
                {
                    if (flag)
                    {
                        List <GuestVM>   guestVM    = new List <GuestVM>();
                        List <PlusOneVM> plusOneVM  = new List <PlusOneVM>();
                        bool             voted      = false;
                        bool             hasPlusOne = false;
                        bool             waitListed = false;

                        foreach (ApplicationUser user in db.UserDinners.Where(d => d.DinnerID == dinner.DinnerID).Select(u => u.User).ToList())
                        {
                            if (user.Id == userID)
                            {
                                voted = true;

                                if (db.UserDinners.Where(i => i.UserID == userID && i.DinnerID == dinner.DinnerID).Select(w => w.WaitList).FirstOrDefault() > 0)
                                {
                                    waitListed = true;
                                }
                            }
                            guestVM.Add(new GuestVM
                            {
                                Name     = user.FirstName + " " + user.LastName,
                                WaitList = db.UserDinners.Where(i => i.UserID == user.Id && i.DinnerID == dinner.DinnerID).Select(w => w.WaitList).FirstOrDefault(),
                                Balance  = db.UserGroups.Where(u => u.UserId == user.Id).Select(c => c.Credit).FirstOrDefault(),
                                UserID   = user.Id
                            });
                        }

                        foreach (PlusOne plusOne in db.PlusOnes.Where(d => d.DinnerID == dinner.DinnerID).ToList())
                        {
                            if (plusOne.UserID == userID)
                            {
                                hasPlusOne = true;
                            }
                            plusOneVM.Add(new PlusOneVM
                            {
                                PlusOneID = plusOne.PlusOneID,
                                Name      = plusOne.Name,
                                UserID    = plusOne.UserID,
                                DinnerID  = plusOne.DinnerID,
                                WaitList  = plusOne.WaitList
                            });
                        }

                        SortRepo sortRepo = new SortRepo();
                        guestVM.Sort(sortRepo.Compare);
                        plusOneVM.Sort(sortRepo.Compare);

                        dinnerGuests.Add(new DinnerGuestsVM
                        {
                            DinnerType     = dinner.DinnerType,
                            Date           = dinner.Date,
                            Limit          = dinner.Limit,
                            Guests         = guestVM,
                            DinnerId       = dinner.DinnerID,
                            Credit         = db.UserGroups.Where(u => u.UserId == userID).Select(c => c.Credit).FirstOrDefault(),
                            DinnerVoting   = dinner.DinnerVoting,
                            WaitList       = dinner.WaitList,
                            PlusOnes       = plusOneVM,
                            UserID         = userID,
                            UserVoted      = voted,
                            HasPlusOne     = hasPlusOne,
                            UserWaitListed = waitListed
                        });
                        flag = false;
                    }
                    else
                    {
                        dinnerGuests.Add(new DinnerGuestsVM
                        {
                            Date     = dinner.Date,
                            DinnerId = dinner.DinnerID
                        });
                    }
                }
            }

            else
            {
                dinnerGuests.Add(new DinnerGuestsVM
                {
                    Credit = db.UserGroups.Where(u => u.UserId == userID).Select(c => c.Credit).FirstOrDefault(),
                });
            }
            return(dinnerGuests);
        }