Example #1
0
        public async Task <IHttpActionResult> Post(ReservationViewModelPost viewModel)
        {
            try
            {
                var reservation = Mapper.Map <Reservation>(viewModel);
                var user        = await _userOperations.GetAsync(viewModel.UserEmail);

                if (user == null)
                {
                    user = await _userOperations.RegisterAsync(viewModel.UserEmail);
                }

                reservation.User   = user;
                reservation.UserId = user.Id;

                var result = await _reservationOperations.AddAsync(reservation);

                return(await Get(result.Id));
            }
            catch (Exception ex)
            {
                ErrorLogger.Log("CANNOT POST RESERVATION", ex);
                throw;
            }
        }
        public void Add_Ok_Test()
        {
            var rndString = Guid.NewGuid().ToString();
            var activity  = _context.Activities.Include(a => a.Organizer).First();
            var user      = _context.Users.First();

            var result = _reservationOperations.AddAsync(new Reservation
            {
                Name       = rndString,
                ActivityId = activity.Id,
                Comment    = rndString,
                Phone      = rndString,
                UserId     = user.Id,
                Activity   = activity,
            }).Result;

            Assert.AreEqual(rndString, result.Name);
            Assert.AreEqual(rndString, result.Comment);
            Assert.IsFalse(String.IsNullOrEmpty(result.Activity.Name));
            Assert.IsFalse(String.IsNullOrEmpty(result.User.Email));
        }