public async Task <AddResult> AddTable(TableAddModel model)
        {
            if (string.IsNullOrEmpty(model.Code))
            {
                throw new RestaurantBadRequestException("Az asztal kódja nem lehet üres!");
            }

            if (model.Size <= 0)
            {
                throw new RestaurantBadRequestException("Az asztal méretének pozitív számnak kell lennie!");
            }

            var existingTable = await DbContext.Tables.Where(t => t.Code == model.Code && t.IsActive).SingleOrDefaultAsync();

            if (existingTable != null)
            {
                throw new RestaurantBadRequestException("Már létezik asztal a megadott kóddal!");
            }

            if (model.CategoryId != null)
            {
                var category = await DbContext.TableCategories.FindAsync(model.CategoryId);

                if (category == null)
                {
                    throw new RestaurantNotFoundException("A megadott kategória nem létezik!");
                }
            }

            var table = DbContext.Tables.Add(new Table()
            {
                Code       = model.Code,
                Size       = model.Size,
                IsActive   = true,
                CategoryId = model.CategoryId
            });

            await DbContext.SaveChangesAsync();

            return(new AddResult(table.Entity.Id));
        }
Esempio n. 2
0
 public async Task <AddResult> AddTable(TableAddModel table)
 => await TableService.AddTable(table);