Ejemplo n.º 1
0
        public JourneyItemViewModel AddItem(JourneyItemFormViewModel model)
        {
            Enum.TryParse(model.Type, true, out JourneyItemType type);
            var item = new JourneyItem
            {
                JourneyId    = model.JourneyId,
                Type         = type,
                Date         = model.Date,
                Airline      = model.Airline,
                FlightNumber = model.FlightNumber,
                Origin       = model.Origin,
                Destination  = model.Destination,
                Name         = model.Name,
                Address      = model.Address
            };

            _context.JourneyItems.Add(item);
            _context.SaveChanges();
            return(new JourneyItemViewModel
            {
                Id = item.Id,
                Type = item.Type.ToString(),
                Date = item.Date,
                Airline = item.Airline,
                FlightNumber = item.FlightNumber,
                Origin = item.Origin,
                Destination = item.Destination,
                Name = item.Name,
                Address = item.Address
            });
        }
Ejemplo n.º 2
0
        public void TestAddItemFlight()
        {
            var model = new JourneyItemFormViewModel {
                Airline = "Ryanair", Type = "Flight"
            };
            var item = _repository.AddItem(model);

            Assert.NotNull(item);
            Assert.AreEqual("Ryanair", model.Airline);
            Assert.AreEqual("Flight", item.Type);
        }
Ejemplo n.º 3
0
        public void TestAddItemHotel()
        {
            var model = new JourneyItemFormViewModel {
                Name = "Hotel name", Type = "Hotel"
            };
            var item = _repository.AddItem(model);

            Assert.NotNull(item);
            Assert.AreEqual("Hotel name", model.Name);
            Assert.AreEqual("Hotel", item.Type);
        }
Ejemplo n.º 4
0
        public ActionResult <JourneyItemViewModel> AddItem([FromBody] JourneyItemFormViewModel model)
        {
            var userId = GetUserId(User);

            if (!_journeyRepository.IsUsersJourney(userId, model.JourneyId))
            {
                return(StatusCode(403, "Journey doesn't belong to the user"));
            }

            if (model.Date < Now)
            {
                return(StatusCode(422, "Date must not be in the past"));
            }

            return(_journeyRepository.AddItem(model));
        }