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