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; }
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")); }