Ejemplo n.º 1
0
        //public void Test()
        //{
        //    IBaseRole<Restaurant> baseRole = new RegistrationRestaurantRole();
        //}

        //GuestId -> email(string)

        public async Task RegisterGuest(RegisterGuestCommand request)
        {
            var restaurant = await restaurantRepository.GetRestaurantById(request.RestaurantId);

            if (restaurant == null)
            {
                throw new ArgumentNullException("Restaurant is not present in the system");
            }


            var Guest = await GuestRepository.GetGuestByEmail(request.Email);

            if (Guest == null)
            {
                throw new ArgumentNullException("Guest is not present in the system");
            }

            registrationRestaurantRole.RegisterGuest(Guest, restaurant);

            var visit = Visit.CreateVisit(request.RestaurantId, DateTime.Now, 0);

            registeringGuestRole.SetVisit(Guest, visit);

            GuestRepository.Update(Guest);

            await GuestRepository.SaveChangesAsync();
        }
 public void SetVisit(int tmpId, int restaurantId)
 {
     visits.Add(Visit.CreateVisit(tmpId, restaurantId));
 }