public async Task <IHttpActionResult> Put(int id, ReservationViewModelPost viewModel) { try { var res = await _reservationOperations.GetAsync(id); if (res == null) { return(this.Result404("This reservation is not found")); } var reservation = Mapper.Map <Reservation>(viewModel); reservation.Id = id; var user = await _userOperations.GetAsync(viewModel.UserEmail) ?? await _userOperations.RegisterAsync(viewModel.UserEmail); reservation.User = user; reservation.UserId = user.Id; await _reservationOperations.UpdateAsync(reservation); return(await Get(id)); } catch (Exception ex) { ErrorLogger.Log("CANNOT PUT RESERVATION", ex); throw; } }
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 Post_WrongModel_Test() { var viewModel = new ReservationViewModelPost { Name = null, UserEmail = "0", Phone = null, Comment = null, ActivityId = 9999 }; string url = $"api/reservation"; HttpPost <ReservationViewModelGet>(url, viewModel); }
public void Put_WrongModel_Test() { var reservation = _context.Reservations.First(); var rndString = Guid.NewGuid().ToString(); var viewModel = new ReservationViewModelPost { Name = rndString, UserEmail = "*****@*****.**", Phone = rndString, ActivityId = 0, Comment = rndString }; string url = $"api/reservation/{reservation.Id}"; HttpPut <ReservationViewModelGet>(url, viewModel, "ABRAKADABRA"); }
public void Put_WrongId_Test() { var rndString = Guid.NewGuid().ToString(); var user = _context.Users.First(); var viewModel = new ReservationViewModelPost { Name = rndString, UserEmail = user.Email, Phone = rndString, ActivityId = 1, Comment = rndString }; string url = $"api/reservation/9999"; HttpPut <ReservationViewModelGet>(url, viewModel, "ABRAKADABRA"); }
public void Put_Ok_Test() { var reservation = _context.Reservations.Include(r => r.Activity).Include(r => r.User).First(); var rndString = Guid.NewGuid().ToString(); var viewModel = new ReservationViewModelPost { Name = rndString, UserEmail = reservation.User.Email, Phone = rndString, ActivityId = reservation.ActivityId, Comment = rndString }; string url = $"api/reservation/{reservation.Id}"; var result = HttpPut <ReservationViewModelGet>(url, viewModel, "ABRAKADABRA"); Assert.AreEqual(rndString, result.Name); Assert.AreEqual(rndString, result.Phone); Assert.AreEqual(rndString, result.Comment); Assert.AreEqual(reservation.Activity.Name, result.Activity.Name); }
public void Post_Ok_Test() { var rndString = Guid.NewGuid().ToString(); var activity = _context.Activities.Include(a => a.Organizer).First(); var user = _context.Users.First(); var viewModel = new ReservationViewModelPost { Name = rndString, UserEmail = user.Email, Phone = rndString, Comment = rndString, ActivityId = activity.Id, }; string url = $"api/reservation"; var result = HttpPost <ReservationViewModelGet>(url, viewModel); Assert.AreEqual(rndString, result.Name); Assert.AreEqual(rndString, result.Comment); Assert.AreEqual(rndString, result.Phone); Assert.AreEqual(activity.Name, result.Activity.Name); }