public void DeleteRestaurantType(long restaurantTypeId)
        {
            var restaurantType = _restaurantTypeService.Find(restaurantTypeId);

            if (restaurantType == null)
            {
                throw new NotFoundException(ErrorCodes.RestaurantTypeNotFound);
            }
            restaurantType.IsDeleted = true;
            foreach (var restaurant in restaurantType.Restaurants)
            {
                restaurant.IsDeleted = true;
                restaurant.RestaurantAdmin.IsDeleted = true;

                _restaurantService.Update(restaurant);
                var waiters = _restaurantWaiterService.GetAlRestaurantWaitersByRestaurantId(restaurant.RestaurantId);
                waiters.ForEach(x => { x.IsDeleted = true; _restaurantWaiterService.Update(x); });

                var globalAdmin = _globalAdminService.Find(restaurant.AdminId);
                //var packages = _packageService.GetAllPackagesByAdminId(globalAdmin.UserId);
                //Parallel.ForEach(packages, (package) =>
                //{
                //    UpdateSubscription(globalAdmin, package.PackageGuid, package.Waiters.Count(x => !x.IsDeleted));
                //});
            }
            _restaurantTypeService.Update(restaurantType);

            SaveChanges();
        }
Beispiel #2
0
        public void UpdateRestaurantWaiter(RestaurantWaiterDTO restaurantWaiterDto)
        {
            var restaurantWaiter = _restaurantWaiterService.Find(restaurantWaiterDto.UserId);

            if (restaurantWaiter == null)
            {
                throw new NotFoundException(ErrorCodes.UserNotFound);
            }

            ValidateRestaurantWaiter(restaurantWaiterDto, restaurantWaiter.RestaurantId);
            restaurantWaiter.Name     = restaurantWaiterDto.Name;
            restaurantWaiter.UserName = restaurantWaiterDto.UserName;
            restaurantWaiter.Password = PasswordHelper.Encrypt(restaurantWaiterDto.Password);
            restaurantWaiter.BranchId = restaurantWaiterDto.BranchId;
            _restaurantWaiterService.Update(restaurantWaiter);
            SaveChanges();
        }