public void Add(Fermentable fermentable) { using (var context = new MicrobrewitContext()) { if (fermentable.Supplier != null) { fermentable.Supplier = null; } context.Entry(fermentable).State = EntityState.Added; try { context.SaveChanges(); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); Log.DebugFormat("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } } }
public void Add(Brewery brewery) { using (var context = new MicrobrewitContext()) { brewery.Origin = null; brewery.CreatedDate = DateTime.Now; brewery.UpdatedDate = DateTime.Now; context.Entry(brewery).State = EntityState.Added; try { context.SaveChanges(); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); Log.DebugFormat("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } } }
public virtual async Task AddAsync(Other origin) { using (var context = new MicrobrewitContext()) { context.Entry(origin).State = EntityState.Added; try { await context.SaveChangesAsync(); } catch (DbEntityValidationException dbEx) { //foreach (var validationErrors in dbEx.EntityValidationErrors) //{ // foreach (var validationError in validationErrors.ValidationErrors) // { // Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); // Log.DebugFormat("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); // throw dbEx; // } //} throw; } catch (Exception ex) { throw; } } }
public virtual void Add(params T[] items) { using (var context = new MicrobrewitContext()) { foreach (T item in items) { context.Entry(item).State = EntityState.Added; } try { context.SaveChanges(); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); Log.DebugFormat("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } } }
public async Task UpdateMemberAsync(BreweryMember breweryMember) { using (var context = new MicrobrewitContext()) { context.Entry(breweryMember).State = EntityState.Modified; await context.SaveChangesAsync(); } }
public virtual void Update(Fermentable fermentable) { using (var context = new MicrobrewitContext()) { context.Entry(fermentable).State = EntityState.Modified; context.SaveChanges(); } }
public virtual void Remove(Other other) { using (var context = new MicrobrewitContext()) { context.Entry(other).State = EntityState.Deleted; context.SaveChanges(); } }
public async Task AddAsync(Beer beer) { using (var context = new MicrobrewitContext()) { context.Entry(beer).State = EntityState.Added; await context.SaveChangesAsync(); } }
public virtual void Update(Other other) { using (var context = new MicrobrewitContext()) { context.Entry(other).State = EntityState.Modified; context.SaveChanges(); } }
public virtual void Remove(BeerStyle beerStyle) { using (var context = new MicrobrewitContext()) { context.Entry(beerStyle).State = EntityState.Deleted; context.SaveChanges(); } }
private static void SetChanges(MicrobrewitContext context, object original, object updated) { foreach (PropertyInfo propertyInfo in original.GetType().GetProperties()) { if (propertyInfo.GetValue(updated, null) == null) { propertyInfo.SetValue(updated, propertyInfo.GetValue(original, null), null); } } context.Entry(original).CurrentValues.SetValues(updated); }
public virtual void Remove(params T[] items) { using (var context = new MicrobrewitContext()) { foreach (T item in items) { context.Entry(item).State = EntityState.Deleted; } context.SaveChanges(); } }
public async Task <int> UpdateAsync(Hop hop) { using (var context = new MicrobrewitContext()) { var dbHop = context.Hops.SingleOrDefault(h => h.HopId == hop.HopId); if (dbHop == null) { throw new DbUpdateException("Hop does not exist."); } context.Entry(dbHop).CurrentValues.SetValues(hop); return(await context.SaveChangesAsync()); } }
public void Update(Hop hop) { using (var context = new MicrobrewitContext()) { var dbHop = context.Hops.SingleOrDefault(h => h.HopId == hop.HopId); if (dbHop == null) { throw new DbUpdateException("Hop does not exist."); } context.Entry(dbHop).CurrentValues.SetValues(hop); context.SaveChanges(); } }
public virtual async Task <int> UpdateAsync(Other origin) { using (var context = new MicrobrewitContext()) { context.Entry(origin).State = EntityState.Modified; try { return(await context.SaveChangesAsync()); } catch (Exception e) { throw; } } }
public virtual async Task RemoveAsync(Other origin) { using (var context = new MicrobrewitContext()) { context.Entry(origin).State = EntityState.Deleted; try { await context.SaveChangesAsync(); } catch (Exception e) { Log.Debug(e); throw; } } }
public async Task RemoveAsync(Beer beer) { using (var context = new MicrobrewitContext()) { context.Entry(beer).State = EntityState.Deleted; try { await context.SaveChangesAsync(); } catch (Exception e) { Log.Debug(e); throw; } } }
public void Add(Hop hop) { using (var context = new MicrobrewitContext()) { if (hop.OriginId > 0) { hop.Origin = null; } foreach (var subs in hop.Substituts) { context.Entry(subs).State = EntityState.Unchanged; } context.Hops.Add(hop); context.SaveChanges(); } }
public virtual async Task <int> UpdateAsync(params T[] items) { using (var context = new MicrobrewitContext()) { foreach (T item in items) { context.Entry(item).State = EntityState.Modified; } try { return(await context.SaveChangesAsync()); } catch (Exception e) { throw; } } }
public virtual async Task RemoveAsync(params T[] items) { using (var context = new MicrobrewitContext()) { foreach (T item in items) { context.Entry(item).State = EntityState.Deleted; } try { await context.SaveChangesAsync(); } catch (Exception e) { Log.Debug(e); throw; } } }
public async Task <int> UpdateAsync(Beer newBeer) { using (var context = new MicrobrewitContext()) { var dbBeer = context.Beers .Include(b => b.ABV) .Include(b => b.SRM) .Include(b => b.IBU) .Include(b => b.Brewers) .Include(b => b.Breweries) .SingleOrDefault(b => b.BeerId == newBeer.BeerId); newBeer.BeerStyle = null; newBeer.CreatedDate = dbBeer.CreatedDate; newBeer.UpdatedDate = DateTime.Now; context.Entry(dbBeer).CurrentValues.SetValues(newBeer); if (newBeer.ABV != null) { var dbAbv = context.ABVs.SingleOrDefault(a => a.AbvId == newBeer.ABV.AbvId); if (dbAbv != null) { context.Entry(dbBeer.ABV).CurrentValues.SetValues(newBeer.ABV); } else { dbBeer.ABV = newBeer.ABV; } } if (newBeer.SRM != null) { var dbSrm = context.SRMs.SingleOrDefault(s => s.SrmId == newBeer.SRM.SrmId); if (dbSrm != null) { context.Entry(dbBeer.SRM).CurrentValues.SetValues(newBeer.SRM); } else { dbBeer.SRM = newBeer.SRM; } } if (newBeer.IBU != null) { var dbIbu = context.IBUs.SingleOrDefault(i => i.IbuId == newBeer.IBU.IbuId); if (dbIbu != null) { context.Entry(dbBeer.IBU).CurrentValues.SetValues(newBeer.IBU); } else { dbBeer.IBU = newBeer.IBU; } } // Brewers foreach (var brewers in dbBeer.Brewers.ToList()) { if (newBeer.Brewers.All(b => b.Username != brewers.Username)) { context.UserBeers.Remove(brewers); } } foreach (var newUserBeer in newBeer.Brewers) { var dbUserBeer = context.UserBeers.SingleOrDefault(u => u.Username.Equals(newUserBeer.Username) && u.BeerId == newBeer.BeerId); if (dbUserBeer != null) { context.Entry(dbUserBeer).CurrentValues.SetValues(newUserBeer); } else { context.UserBeers.Add(newUserBeer); } } // Brewery foreach (var dbBreweryBeers in dbBeer.Breweries.ToList()) { if (newBeer.Breweries.All(b => b.BreweryId != dbBreweryBeers.BreweryId)) { context.BreweryBeers.Remove(dbBreweryBeers); } } foreach (var newBreweryBeer in newBeer.Breweries) { var dbBreweryBeer = context.BreweryBeers.SingleOrDefault(b => b.BreweryId == newBreweryBeer.BreweryId && b.BeerId == newBeer.BeerId); if (dbBreweryBeer != null) { context.Entry(dbBreweryBeer).CurrentValues.SetValues(newBreweryBeer); } else { context.BreweryBeers.Add(newBreweryBeer); } } // Recipe if (newBeer.Recipe != null) { var dbRecipe = context.Recipes .Include(r => r.FermentationSteps) .Include(r => r.MashSteps) .Include(r => r.BoilSteps) // .Include(r => r.SpargeStep) .SingleOrDefault(r => r.RecipeId == newBeer.Recipe.RecipeId); if (dbRecipe != null) { context.Entry(dbRecipe).CurrentValues.SetValues(newBeer.Recipe); //Sparge step //if (newBeer.Recipe.SpargeStep != null) //{ // var newSpargeStep = newBeer.Recipe.SpargeStep; // var dbSpargeStep = context.SpargeSteps.SingleOrDefault(i => i.StepNumber == newSpargeStep.StepNumber && i.RecipeId == newSpargeStep.RecipeId); // if (dbSpargeStep != null) // { // context.Entry(dbSpargeStep).CurrentValues.SetValues(newSpargeStep); // } // else // { // dbRecipe.SpargeStep = newSpargeStep; // } //} // Fermentation Step foreach (var dbFermentationStep in dbRecipe.FermentationSteps) { if ( newBeer.Recipe.FermentationSteps.All( f => f.StepNumber != dbFermentationStep.StepNumber)) { context.FermentationSteps.Remove(dbFermentationStep); } } foreach (var newFermentationStep in newBeer.Recipe.FermentationSteps) { var dbFermentationStep = context.FermentationSteps.SingleOrDefault(s => s.StepNumber == newFermentationStep.StepNumber && s.RecipeId == newFermentationStep.RecipeId); if (dbFermentationStep != null) { context.Entry(dbFermentationStep).CurrentValues.SetValues(newFermentationStep); //Fermentable if (dbFermentationStep.Fermentables != null) { foreach (var dbFermentable in dbFermentationStep.Fermentables) { if ( newFermentationStep.Fermentables.All( f => f.FermentableId != dbFermentable.FermentableId)) { context.FermentationStepFermentables.Remove(dbFermentable); } } } if (newFermentationStep.Fermentables != null) { foreach (var newFermentable in newFermentationStep.Fermentables) { var dbFermentable = context.FermentationStepFermentables .SingleOrDefault( f => f.StepNumber == newFermentable.StepNumber && f.FermentableId == newFermentable.FermentableId && f.RecipeId == newFermentable.RecipeId); if (dbFermentable != null) { context.Entry(dbFermentable).CurrentValues.SetValues(newFermentable); } else { context.FermentationStepFermentables.Add(newFermentable); } } } //Hop if (dbFermentationStep.Hops != null) { foreach (var dbFermentationStepHop in dbFermentationStep.Hops) { if (newFermentationStep.Hops.All(h => h.HopId != dbFermentationStepHop.HopId)) { context.FermentationStepHops.Remove(dbFermentationStepHop); } } } if (newFermentationStep.Hops != null) { foreach (var newHop in newFermentationStep.Hops) { var dbHop = context.FermentationStepHops .SingleOrDefault( h => h.StepNumber == newHop.StepNumber && h.HopId == newHop.HopId && h.RecipeId == newHop.RecipeId); if (dbHop != null) { context.Entry(dbHop).CurrentValues.SetValues(newHop); } else { context.FermentationStepHops.Add(newHop); } } } //Other if (dbFermentationStep.Others != null) { foreach (var dbFermentationStepOther in dbFermentationStep.Others) { if ( newFermentationStep.Others.All( o => o.OtherId != dbFermentationStepOther.OtherId)) { context.FermentationStepOthers.Remove(dbFermentationStepOther); } } } if (newFermentationStep.Others != null) { foreach (var newOther in newFermentationStep.Others) { var dbOther = context.FermentationStepOthers .SingleOrDefault( o => o.StepNumber == newOther.StepNumber && o.OtherId == newOther.OtherId && o.RecipeId == newOther.RecipeId); if (dbOther != null) { context.Entry(dbOther).CurrentValues.SetValues(newOther); } else { context.FermentationStepOthers.Add(newOther); } } } //Yeast if (dbFermentationStep.Yeasts != null) { foreach (var dbFermentationStepYeast in dbFermentationStep.Yeasts) { if ( newFermentationStep.Yeasts.All( y => y.YeastId != dbFermentationStepYeast.YeastId)) { context.FermentationStepYeasts.Remove(dbFermentationStepYeast); } } } if (newFermentationStep.Yeasts != null) { foreach (var newFermentationStepYeast in newFermentationStep.Yeasts) { var dbYeast = context.FermentationStepYeasts .SingleOrDefault( y => y.StepNumber == newFermentationStepYeast.StepNumber && y.YeastId == newFermentationStepYeast.YeastId && y.RecipeId == newFermentationStepYeast.RecipeId); if (dbYeast != null) { context.Entry(dbYeast).CurrentValues.SetValues(newFermentationStepYeast); } else { context.FermentationStepYeasts.Add(newFermentationStepYeast); } } } } else { dbRecipe.FermentationSteps.Add(newFermentationStep); } } // Boil step foreach (var dbBoilStep in dbRecipe.BoilSteps) { if (newBeer.Recipe.BoilSteps.All(f => f.StepNumber != dbBoilStep.StepNumber)) { context.BoilSteps.Remove(dbBoilStep); } } foreach (var newBoilStep in newBeer.Recipe.BoilSteps) { var dbBoilStep = context.BoilSteps.SingleOrDefault(s => s.StepNumber == newBoilStep.StepNumber && s.RecipeId == newBoilStep.RecipeId); if (dbBoilStep != null) { context.Entry(dbBoilStep).CurrentValues.SetValues(newBoilStep); //Fermentable if (dbBoilStep.Fermentables != null) { foreach (var dbFermentable in dbBoilStep.Fermentables) { if ( newBoilStep.Fermentables.All( f => f.FermentableId != dbFermentable.FermentableId)) { context.BoilStepFermentables.Remove(dbFermentable); } } } if (newBoilStep.Fermentables != null) { foreach (var newFermentable in newBoilStep.Fermentables) { var dbFermentable = context.BoilStepFermentables .SingleOrDefault( f => f.StepNumber == newFermentable.StepNumber && f.FermentableId == newFermentable.FermentableId && f.RecipeId == newFermentable.RecipeId); if (dbFermentable != null) { context.Entry(dbFermentable).CurrentValues.SetValues(newFermentable); } else { context.BoilStepFermentables.Add(newFermentable); } } } //Hop if (dbBoilStep.Hops != null) { foreach (var dbBoilStepHop in dbBoilStep.Hops) { if (newBoilStep.Hops.All(h => h.HopId != dbBoilStepHop.HopId)) { context.BoilStepHops.Remove(dbBoilStepHop); } } } if (newBoilStep.Hops != null) { foreach (var newHop in newBoilStep.Hops) { var dbHop = context.BoilStepHops .SingleOrDefault( h => h.StepNumber == newHop.StepNumber && h.HopId == newHop.HopId && h.RecipeId == newHop.RecipeId); if (dbHop != null) { context.Entry(dbHop).CurrentValues.SetValues(newHop); } else { context.BoilStepHops.Add(newHop); } } } //Other if (dbBoilStep.Others != null) { foreach (var dbBoilStepOther in dbBoilStep.Others) { if ( newBoilStep.Others.All( o => o.OtherId != dbBoilStepOther.OtherId)) { context.BoilStepOthers.Remove(dbBoilStepOther); } } } if (newBoilStep.Others != null) { foreach (var newOther in newBoilStep.Others) { var dbOther = context.BoilStepOthers .SingleOrDefault( o => o.StepNumber == newOther.StepNumber && o.OtherId == newOther.OtherId && o.RecipeId == newOther.RecipeId); if (dbOther != null) { context.Entry(dbOther).CurrentValues.SetValues(newOther); } else { context.BoilStepOthers.Add(newOther); } } } } else { dbRecipe.BoilSteps.Add(newBoilStep); } } // Updates changes to the mash steps foreach (var dbMashStep in dbRecipe.MashSteps) { if ( newBeer.Recipe.MashSteps.All( f => f.StepNumber != dbMashStep.StepNumber)) { context.MashSteps.Remove(dbMashStep); } } foreach (var newMashStep in newBeer.Recipe.MashSteps) { var dbMashStep = context.MashSteps.SingleOrDefault(s => s.StepNumber == newMashStep.StepNumber && s.RecipeId == newMashStep.RecipeId); if (dbMashStep != null) { context.Entry(dbMashStep).CurrentValues.SetValues(newMashStep); //Fermentable if (dbMashStep.Fermentables != null) { foreach (var dbFermentable in dbMashStep.Fermentables) { if ( newMashStep.Fermentables.All( f => f.FermentableId != dbFermentable.FermentableId)) { context.MashStepFermentables.Remove(dbFermentable); } } } if (newMashStep.Fermentables != null) { foreach (var newFermentable in newMashStep.Fermentables) { var dbFermentable = context.MashStepFermentables .SingleOrDefault( f => f.StepNumber == newFermentable.StepNumber && f.FermentableId == newFermentable.FermentableId && f.RecipeId == newFermentable.RecipeId); if (dbFermentable != null) { context.Entry(dbFermentable).CurrentValues.SetValues(newFermentable); } else { context.MashStepFermentables.Add(newFermentable); } } } //Hop if (dbMashStep.Hops != null) { foreach (var dbMashStepHop in dbMashStep.Hops) { if (newMashStep.Hops.All(h => h.HopId != dbMashStepHop.HopId)) { context.MashStepHops.Remove(dbMashStepHop); } } } if (newMashStep.Hops != null) { foreach (var newHop in newMashStep.Hops) { var dbHop = context.MashStepHops .SingleOrDefault( h => h.StepNumber == newHop.StepNumber && h.HopId == newHop.HopId && h.RecipeId == newHop.RecipeId); if (dbHop != null) { context.Entry(dbHop).CurrentValues.SetValues(newHop); } else { context.MashStepHops.Add(newHop); } } } //Other if (dbMashStep.Others != null) { foreach (var dbMashStepOther in dbMashStep.Others) { if ( newMashStep.Others.All( o => o.OtherId != dbMashStepOther.OtherId)) { context.MashStepOthers.Remove(dbMashStepOther); } } } if (newMashStep.Others != null) { foreach (var newOther in newMashStep.Others) { var dbOther = context.MashStepOthers .SingleOrDefault( o => o.StepNumber == newOther.StepNumber && o.OtherId == newOther.OtherId && o.RecipeId == newOther.RecipeId); if (dbOther != null) { context.Entry(dbOther).CurrentValues.SetValues(newOther); } else { context.MashStepOthers.Add(newOther); } } } } else { dbRecipe.MashSteps.Add(newMashStep); } } } else { context.Recipes.Add(newBeer.Recipe); } } try { return(await context.SaveChangesAsync()); } catch (Exception e) { Console.WriteLine(e); throw; } } }