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); }
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); }
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)); }