示例#1
0
 public SessionListByUserViewModel(SessionSignup userOdr)
 {
     Id     = userOdr.Id;
     UserId = userOdr.UserId;
     ///   UserName = userOdr.attendee.Username;
     ///   FirstName = userOdr.attendee.FirstName;
     ///   LastName = userOdr.attendee.LastName;
     ///   EmailAddress = userOdr.attendee.EmailAddress;
     Title     = userOdr.Session.Title;
     Presenter = userOdr.Session.Presenter;
     Time      = userOdr.Session.Time;
     Room      = userOdr.Session.Room;
 }
示例#2
0
        public ActionResult AddToSessionOrder(List <SessionViewModel> sessionsToAdd)
        {
            //verify that sessionsToAdd is not null
            if (sessionsToAdd == null)
            {
                return(RedirectToAction("Index"));
            }

            //capture sessions to add (filter by isSelected)
            sessionsToAdd = sessionsToAdd.Where(p => p.IsSelected).ToList();

            //IF there are no sessions to add, redirect to shopping cart index
            if (sessionsToAdd.Count <= 0)
            {
                return(RedirectToAction("Index"));
            }

            //get user from User.Identity.Name
            string username = User.Identity.Name;


            using (WSADDbContext context = new WSADDbContext())
            {
                //get user from db, need their user Id
                int userId = context.Users
                             .Where(row => row.Username == username)
                             .Select(row => row.Id)
                             .FirstOrDefault();

                foreach (SessionViewModel sVM in sessionsToAdd)
                {
                    //does this session/user combo exist
                    if (context.SessionSignup.Any(row =>
                                                  row.UserId == userId && row.SessionId == sVM.Id))
                    {
                        //update quantity
                        SessionSignup existingSessionSignupDTO = context.SessionSignup.FirstOrDefault(row =>
                                                                                                      row.UserId == userId && row.SessionId == sVM.Id);

                        existingSessionSignupDTO.Quantity++;
                    }
                    else
                    {
                        //create a Session checkout DTO
                        SessionSignup sessionDTO = new SessionSignup()
                        {
                            //add the session id and user id and quantity to the dto
                            UserId    = userId,
                            SessionId = sVM.Id,
                            Quantity  = 1
                        };

                        //add the dto to the dbcontext
                        context.SessionSignup.Add(sessionDTO);
                    }
                }

                //save the db context
                context.SaveChanges();
            }
            //redirect to session list index

            return(RedirectToAction("Index"));
        }