コード例 #1
0
 public async Task DeleteAsync(long id)
 {
     _context.Menus.Remove(new Menu {
         Id = id
     });
     await _context.SaveChangesAsync();
 }
コード例 #2
0
        public async Task <IActionResult> PutMenuItem(int id, MenuItem MenuItem)
        {
            if (id != MenuItem.Id)
            {
                return(BadRequest());
            }

            _context.Entry(MenuItem).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MenuItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #3
0
ファイル: UserRepository.cs プロジェクト: zsuzitor/menu_back
        public async Task <bool> RemoveRefreshTokenByOld(long userId, string refreshTokenHash)
        {
            var user = await GetUserByIdAndRefreshTokenAsync(userId, refreshTokenHash);

            if (user == null)
            {
                return(false);
            }

            user.RefreshTokenHash = null;
            await _db.SaveChangesAsync();

            return(true);
        }
コード例 #4
0
        public virtual async Task <T1> Add(T1 newRecord)
        {
            _db.Set <T1>().Add(newRecord);
            await _db.SaveChangesAsync();

            return(newRecord);
        }
コード例 #5
0
        public async Task HandleAsync(RestaurantRegistered e)
        {
            _db.Restaurants.Add(new Entities.Restaurant
            {
                Id           = e.AggregateRootId,
                Name         = e.Name,
                ContactEmail = e.ContactEmail.Value
            });

            await _db.SaveChangesAsync();
        }
コード例 #6
0
        public async Task HandleAsync(MenuGroupAdded e)
        {
            _db.MenuGroups.Add(new Entities.MenuGroup
            {
                Id   = e.Id,
                Menu = _db.Menus.Single(m => m.Id == e.AggregateRootId),
                Name = e.Name
            });

            await _db.SaveChangesAsync();
        }
コード例 #7
0
        public async Task HandleAsync(MenuCreated e)
        {
            _db.Menus.Add(new Entities.Menu
            {
                Id         = e.AggregateRootId,
                Restaurant = _db.Restaurants.Single(r => r.Id == e.RestaurantId),
                State      = Domain.Menu.MenuState.UnderConstruction
            });

            await _db.SaveChangesAsync();
        }
コード例 #8
0
        public async Task HandleAsync(MenuItemAdded e)
        {
            _db.MenuItems.Add(new Entities.MenuItem
            {
                Id                 = e.Id,
                MenuGroup          = _db.MenuGroups.Single(g => g.Id == e.GroupId),
                ProductName        = e.ProductName,
                ProductDescription = e.ProductDescription,
                Price              = e.Price
            });

            await _db.SaveChangesAsync();
        }
コード例 #9
0
        public async Task <IActionResult> Post(Food food)
        {
            if (ModelState.IsValid == false)
            {
                return(BadRequest());
            }

            await _context.Foods.AddAsync(food);

            await _context.SaveChangesAsync();

            return(CreatedAtAction("Post", food));
        }
コード例 #10
0
        //To co není v array se smaže
        //to co v array je navíc, se přidá

        public void CompareAndSave(Food[] comparator)
        {
            //Kontrola, aby se z DB smazali staré záznamy a aktualizace upravených
            for (int i = 0; i < database.Menu.Count(); ++i)
            {
                //Opravdu zvlášní způsob, jak procházet entity... Seřadí se, a vždy se přeskočí o i entit a vybere jedna.
                var instance = database.Menu.OrderBy(s => s.Id).Skip(i).First();
                int result   = instance.IsIn(comparator);
                if (result != -1)
                {
                    //Změní se stav entity, aby se naznačilo, že se entita upravila
                    database.Entry(instance).State = System.Data.Entity.EntityState.Modified;
                    database.Menu.OrderBy(s => s.Id).Skip(i).First().SetValues(comparator[result]);
                    continue;
                }
                //Smazání entity
                else if (result == -1)
                {
                    database.Menu.Remove(instance);
                    continue;
                }
            }

            //Přidání nových záznamů
            for (int i = 0; i < comparator.Length; ++i)
            {
                //Pokud entita z porovnávacího pole není v již v DB, přidá se
                if (comparator[i].IsIn(database.Menu.ToArray()) == -1)
                {
                    database.Menu.Add(comparator[i]);
                }
            }
            try
            {
                database.SaveChangesAsync();
            }
            catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        }