private void SaveExecute(object obj) { using (var db = new BreweryContext()) { if (Evaluation.ID == 0) { Recipe recipe = db.Recipes.FirstOrDefault(r => r.ID == recipeId); Evaluation.Recipe = recipe; Evaluation.RecipeID = recipe.ID; db.Evaluations.Add(Evaluation); db.SaveChanges(); } else { foreach (var criteria in Evaluation.Criterias) { db.Entry(criteria).State = EntityState.Modified; db.SaveChanges(); } db.Entry(Evaluation).State = EntityState.Modified; db.SaveChanges(); } } }
public Brewery GetById(long id) { Brewery brewery = breweryContext.Breweries.Find(id); if (brewery == null) { return(null); } breweryContext.Entry(brewery).Collection(x => x.Beers).Query() .Include(x => x.BeerProviders) .ThenInclude(x => x.Provider) .Load(); return(brewery); }
public Provider GetById(long id) { Provider provider = breweryContext.Providers.Find(id); if (provider == null) { return(null); } breweryContext.Entry(provider).Collection(x => x.BeerProviders).Query() .Include(x => x.Beer) .Load(); return(provider); }
private void DeleteExecute(object obj) { if (obj is OverviewModel overview) { using var db = new BreweryContext(); var recipe = db.Recipes.FirstOrDefault(r => r.ID == overview.RecipeID); if (recipe != null) { db.Entry(recipe).State = Microsoft.EntityFrameworkCore.EntityState.Deleted; db.Recipes.Remove(recipe); db.SaveChanges(); InitModel(); } } }
private void SaveRecipeExecute(object obj) { using var db = new BreweryContext(); //Rezept neu if (recipeId == 0) { foreach (var phase in RecipePhases) { var pumpIntervall = db.PumpIntervals.FirstOrDefault(p => p.ID == phase.PumpInterval.ID); if (pumpIntervall != null) { phase.PumpInterval = pumpIntervall; phase.PumpIntervalID = pumpIntervall.ID; } } Recipe recipe = new Recipe() { Description = RecipeDescription, Name = RecipeName, Ingredients = new List <Ingredient>(RecipeIngredients), Phases = new List <Phase>(RecipePhases), IsFavorite = false }; db.Recipes.Add(recipe); db.SaveChanges(); } else { //Rezept schon vorhanden var recipe = db.Recipes.FirstOrDefault(r => r.ID == recipeId); if (recipe != null) { foreach (var phase in RecipePhases) { var pumpIntervall = db.PumpIntervals.FirstOrDefault(p => p.ID == phase.PumpInterval.ID); if (pumpIntervall != null) { phase.PumpInterval = pumpIntervall; phase.PumpIntervalID = pumpIntervall.ID; } } recipe.Description = RecipeDescription; recipe.Name = RecipeName; recipe.Ingredients = new List <Ingredient>(RecipeIngredients); recipe.Phases = new List <Phase>(RecipePhases); recipe.IsFavorite = false; db.Entry(recipe).State = EntityState.Modified; db.SaveChanges(); //Löschen der nicht mehr genutzten Ingredients in der DB var dbRecipeIngredients = db.Ingredients.Where(i => i.RecipeID == recipe.ID); foreach (var dbRecipeIngredient in dbRecipeIngredients) { var item = RecipeIngredients.FirstOrDefault(i => i.ID == dbRecipeIngredient.ID); if (item == null) { db.Ingredients.Remove(dbRecipeIngredient); db.SaveChanges(); } } //Löschen der nicht mehr genutzten Phases in der DB var dbRecipePhases = db.Phases.Where(i => i.RecipeID == recipe.ID); foreach (var dbRecipePhase in dbRecipePhases) { var item = RecipePhases.FirstOrDefault(i => i.ID == dbRecipePhase.ID); if (item == null) { db.Phases.Remove(dbRecipePhase); db.SaveChanges(); } } } } }
public void Save(BeerProvider beerProvider) { breweryContext.Entry(beerProvider).State = EntityState.Modified; }