Exemplo n.º 1
0
        public void Post([FromBody] JSONPostRequest userseminar)
        {
            string name = userseminar.name;
            string email = userseminar.email;
            int seminarId = userseminar.seminarId;
            

            var context = new ApplicationDbContext();
            var user = new User { Name = name, Email = email };
            var matchingUser = context.Users.ToList().Find(x => x.Name == name && x.Email == email);

            if (matchingUser == null)
            {              
                context.Users.Add(user);            
                context.SaveChanges();
                var addedUser = context.Users.ToList().Find(x => x.Name == name && x.Email == email);
                var userSeminar = new UserSeminar { seminarId = seminarId, userId = addedUser.id };
                context.userSeminars.Add(userSeminar);
                context.SaveChanges();
            }
            else
            {
                var userSeminar = new UserSeminar { seminarId = seminarId, userId = matchingUser.id};
                context.userSeminars.Add(userSeminar);
                context.SaveChanges();             
            }
        }
Exemplo n.º 2
0
        public ActionResult <object> PostUser([FromBody] UserViewModel userVM)
        {
            var userSeminar = new UserSeminar();

            var seminar = _context.Seminars.Where(s => s.id == userVM.seminarId).FirstOrDefault();

            var message = "Successfully signed up for " + seminar.name + "!";

            var existingUser = _context.Users.Where(e => e.email == userVM.email).FirstOrDefault();


            if (existingUser != null)
            {
                userSeminar.user    = existingUser;
                userSeminar.seminar = seminar;
                _context.UserSeminars.Add(userSeminar);
            }
            else
            {
                var user = new User {
                    name = userVM.name, email = userVM.email,
                };
                _context.Users.Add(user);

                userSeminar.user    = user;
                userSeminar.seminar = seminar;
                _context.UserSeminars.Add(userSeminar);
            }

            try
            {
                _context.SaveChanges();
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
            return(Ok(new { message }));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> CreateUser(UserVM request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userFromDb = _context.Users.SingleOrDefault(u => u.Email == request.Email);
            var seminar    = await _context.Seminars.FindAsync(request.seminarId);

            if (seminar == null || seminar.AvailableSeats <= 0)
            {
                return(BadRequest());
            }

            if (userFromDb == null)
            {
                var user = new User
                {
                    Firstname   = request.Firstname,
                    Lastname    = request.Lastname,
                    Email       = request.Email,
                    PhoneNumber = request.PhoneNumber,
                    City        = request.City,
                    Address     = request.Address
                };

                await _context.Users.AddAsync(user);

                var newAttendee = new UserSeminar
                {
                    Seminar    = seminar,
                    User       = user,
                    DateSignUp = DateTime.Now
                };

                await _context.UserSeminars.AddAsync(newAttendee);

                seminar.AvailableSeats = seminar.AvailableSeats - 1;
                await _context.SaveChangesAsync();

                return(Ok());
            }

            var attendee = new UserSeminar
            {
                Seminar    = seminar,
                User       = userFromDb,
                DateSignUp = DateTime.Now
            };

            var userSeminar = _context.UserSeminars.FirstOrDefault(x => x.Seminar == attendee.Seminar && x.User == attendee.User);

            if (userSeminar == null)
            {
                _context.UserSeminars.Add(attendee);
                seminar.AvailableSeats = seminar.AvailableSeats - 1;
                await _context.SaveChangesAsync();

                return(Ok());
            }

            return(BadRequest("You have already signed up for this seminar"));
        }