Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
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;
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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");
        }
Esempio n. 5
0
        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");
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }