Esempio 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();
        }
Esempio n. 2
0
 public async Task RegisterForAVisitAsync(RegisterGuestCommand registerGuestCommand)
 {
     await userRegistrationClient.RegisterGuestAsync(
         new GuestRegistrationRequest {
         GuestEmail       = registerGuestCommand.GuestEmail,
         GuestPhoneNumber = registerGuestCommand.GuestPhoneNumber,
         GuestFirstName   = registerGuestCommand.GuestFirstName,
         GuestLastName    = registerGuestCommand.GuestLastName,
         RestaurantId     = registerGuestCommand.RestaurantId
     });
 }