Ejemplo n.º 1
0
        public async Task <bool> TransferOwnershipAsync(long ownerId, long restaurantId, long newOwnerId)
        {
            EmployersRestaurants currentConnection = await CheckEmployerRestaurantAsync(ownerId, restaurantId);

            Employers newEmployer = await CheckEmployerExistenceAsync(newOwnerId);

            EmployersRestaurants oldData = await EmployerRestaurantRepo.GetByRestaurantIdAndEmployerId(restaurantId, ownerId);

            if (oldData == null)
            {
                throw new Exception(String.Format("The given owner with id:{0} is not an owner.", ownerId));
            }

            EmployersRestaurants newData = await EmployerRestaurantRepo.GetByRestaurantIdAndEmployerId(restaurantId, newOwnerId);

            if (newData != null)
            {
                throw new Exception(String.Format("The given new owner with id:{0} is already an owner.", newOwnerId));
            }

            await EmployerRestaurantRepo.AddAsync
            (
                new EmployersRestaurants
            {
                RestaurantId = restaurantId,
                EmployerId   = newOwnerId
            },
                ModifierId
            );

            await EmployerRestaurantRepo.RemoveAsync(oldData);

            return(true);
        }
Ejemplo n.º 2
0
        public async Task <EmployersRestaurants> AddCoownerAsync(long ownerId, long restaurantId, long coownerId)
        {
            CheckTheLoggedInPerson();

            EmployersRestaurants currentConnection = await CheckEmployerRestaurantAsync(ownerId, restaurantId);

            Employers newEmployer = await CheckEmployerExistenceAsync(coownerId);

            EmployersRestaurants item = new EmployersRestaurants
            {
                EmployerId   = newEmployer.Id,
                RestaurantId = currentConnection.TheRestaurant.Id
            };

            await EmployerRestaurantRepo.AddAsync(item, ModifierId);

            return(item);
        }
Ejemplo n.º 3
0
        public async Task <Tuple <RestaurantObjects, EmployersRestaurants> > AddNewRestaurantAsync(long ownerId, string restaurantName, string restaurantDescription)
        {
            CheckTheLoggedInPerson();

            Employers currentEmployer = await CheckEmployerExistenceAsync(ownerId);

            RestaurantObjects restaurantItem = new RestaurantObjects
            {
                Name        = restaurantName,
                Description = restaurantDescription
            };

            await RestaurantRepo.AddAsync(restaurantItem, ModifierId);

            EmployersRestaurants item = new EmployersRestaurants
            {
                EmployerId   = currentEmployer.Id,
                RestaurantId = restaurantItem.Id
            };

            await EmployerRestaurantRepo.AddAsync(item, ModifierId);

            return(new Tuple <RestaurantObjects, EmployersRestaurants>(restaurantItem, item));
        }