コード例 #1
0
        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();
                }
            }
        }
コード例 #2
0
        public ActionResult Create([Bind(Include = "ID,BeerName,ABV,BeerDescription,FirstBrewed")] Beer beer, HttpPostedFileBase upload)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (upload != null && upload.ContentLength > 0)
                    {
                        var avatar = new File
                        {
                            FileName    = System.IO.Path.GetFileName(upload.FileName),
                            FileType    = FileType.Avatar,
                            ContentType = upload.ContentType
                        };
                        using (var reader = new System.IO.BinaryReader(upload.InputStream))
                        {
                            avatar.Content = reader.ReadBytes(upload.ContentLength);
                        }
                        beer.Files = new List <File> {
                            avatar
                        };
                    }
                    db.Beers.Add(beer);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (DataException /* dex */)
            {
                //Log the error (uncomment dex variable name and add a line here to write a log.
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
            }

            return(View(beer));
        }
コード例 #3
0
        private void StopProcess()
        {
            BrewingData.IsRunning = false;
            arduinoConnection.TurnHeaterOff();
            arduinoConnection.TurnPumpOff();

            bool isCompeted = true;

            foreach (var phase in BrewingPhases)
            {
                if (phase.IsCompleted == false)
                {
                    isCompeted = false;
                    break;
                }
            }

            BrewProcess brewProcess = new BrewProcess
            {
                IsCompleted = isCompeted,
                Recipe      = Recipe,
                RecipeID    = Recipe.ID,
                Time        = DateTime.Now
            };

            using BreweryContext db = new BreweryContext();
            db.BrewProcesses.Add(brewProcess);
            db.SaveChanges();
        }
コード例 #4
0
 private void SaveExecute(object obj)
 {
     using (BreweryContext db = new BreweryContext())
     {
         db.PumpIntervals.Add(PumpInterval);
         db.SaveChanges();
     }
     CloseAction();
 }
コード例 #5
0
        public ActionResult Create([Bind(Include = "ID,BeerName,ABV,BeerDescription,FirstBrewed")] Beer beer)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    db.Beers.Add(beer);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (DataException /* dex */)
            {
                //Log the error (uncomment dex variable name and add a line here to write a log.
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
            }

            return(View(beer));
        }
コード例 #6
0
        private void DublicateExecute(object obj)
        {
            if (obj is OverviewModel overview)
            {
                using var db = new BreweryContext();
                var dbRecipe = db.Recipes.FirstOrDefault(r => r.ID == overview.RecipeID);
                if (dbRecipe != null)
                {
                    List <Ingredient> ingredients = new List <Ingredient>();

                    var inList = db.Ingredients.Where(i => i.RecipeID == dbRecipe.ID);
                    foreach (var ingr in inList)
                    {
                        ingredients.Add(new Ingredient
                        {
                            Name   = ingr.Name,
                            Amount = ingr.Amount,
                            Typ    = ingr.Typ
                        });
                    }

                    List <Phase> phases = new List <Phase>();
                    var          phList = db.Phases.Where(p => p.RecipeID == dbRecipe.ID);
                    foreach (var phase in phList)
                    {
                        phases.Add(new Phase
                        {
                            Name              = phase.Name,
                            Typ               = phase.Typ,
                            PeriodOfMinutes   = phase.PeriodOfMinutes,
                            Position          = phase.Position,
                            PumpInterval      = phase.PumpInterval,
                            PumpIntervalID    = phase.PumpIntervalID,
                            TargetTemperature = phase.TargetTemperature
                        });
                    }

                    Recipe recipe = new Recipe
                    {
                        Name        = dbRecipe.Name,
                        Description = dbRecipe.Description,
                        IsFavorite  = dbRecipe.IsFavorite,
                        Ingredients = ingredients,
                        Phases      = phases
                    };

                    db.Recipes.Add(recipe);
                    db.SaveChanges();
                    InitModel();
                }
            }
        }
コード例 #7
0
 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();
         }
     }
 }
コード例 #8
0
 private void DeleteExecute(object obj)
 {
     if (obj is PumpInterval pumpInterval)
     {
         using var db = new BreweryContext();
         var item = db.PumpIntervals.FirstOrDefault(p => p.ID == pumpInterval.ID);
         if (item != null)
         {
             db.PumpIntervals.Remove(item);
             db.SaveChanges();
             PumpIntervals.Remove(pumpInterval);
         }
     }
     else if (obj is EMailAddress eMailAddress)
     {
         using var db = new BreweryContext();
         var item = db.EMailAddresses.FirstOrDefault(p => p.ID == eMailAddress.ID);
         if (item != null)
         {
             db.EMailAddresses.Remove(item);
             db.SaveChanges();
             EmailAddresses.Remove(eMailAddress);
         }
     }
     else if (obj is FoundationCriteria foundationCriteria)
     {
         using var db = new BreweryContext();
         var item = db.FoundationCriterias.FirstOrDefault(p => p.ID == foundationCriteria.ID);
         if (item != null)
         {
             db.FoundationCriterias.Remove(item);
             db.SaveChanges();
             FoundationCriterias.Remove(foundationCriteria);
         }
     }
     else if (obj is FoundationIngrediet foundationIngrediets)
     {
         using var db = new BreweryContext();
         var item = db.FoundationIngrediets.FirstOrDefault(p => p.ID == foundationIngrediets.ID);
         if (item != null)
         {
             db.FoundationIngrediets.Remove(item);
             db.SaveChanges();
             FoundationIngrediets.Remove(foundationIngrediets);
         }
     }
 }
コード例 #9
0
        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();
                        }
                    }
                }
            }
        }
コード例 #10
0
 protected new IActionResult Ok()
 {
     breweryContext.SaveChanges();
     return(base.Ok(Envelope.Ok()));
 }
コード例 #11
0
        private void SaveExecute(object obj)
        {
            using var db = new BreweryContext();
            // Save FoundationIngrediets
            foreach (var foundationIngrediet in FoundationIngrediets)
            {
                if (foundationIngrediet.ID == 0)
                {
                    db.FoundationIngrediets.Add(foundationIngrediet);
                    db.SaveChanges();
                }
                else
                {
                    var dbPfoundation = db.FoundationIngrediets.FirstOrDefault(e => e.ID == foundationIngrediet.ID);
                    if (dbPfoundation != null)
                    {
                        dbPfoundation.Amount = foundationIngrediet.Amount;
                        dbPfoundation.Name   = foundationIngrediet.Name;
                        dbPfoundation.Typ    = foundationIngrediet.Typ;
                        db.SaveChanges();
                    }
                }
            }

            // Save FoundationCriterias
            foreach (var foundationCriteria in FoundationCriterias)
            {
                if (foundationCriteria.ID == 0)
                {
                    db.FoundationCriterias.Add(foundationCriteria);
                    db.SaveChanges();
                }
                else
                {
                    var dbPfoundation = db.FoundationCriterias.FirstOrDefault(e => e.ID == foundationCriteria.ID);
                    if (dbPfoundation?.Description != foundationCriteria.Description)
                    {
                        dbPfoundation.Description = foundationCriteria.Description;
                        db.SaveChanges();
                    }
                }
            }

            // Save PumpIntervals
            foreach (var interval in PumpIntervals)
            {
                if (interval.ID == 0)
                {
                    db.PumpIntervals.Add(interval);
                    db.SaveChanges();
                }
                else
                {
                    var dbPumpInterval = db.PumpIntervals.FirstOrDefault(e => e.ID == interval.ID);
                    if (dbPumpInterval != null)
                    {
                        dbPumpInterval.Name = interval.Name;
                        dbPumpInterval.RestTimeInSeconds    = interval.RestTimeInSeconds;
                        dbPumpInterval.RunningTimeInSeconds = interval.RunningTimeInSeconds;
                        db.SaveChanges();
                    }
                }
            }

            // Save EmailAddresses
            foreach (var address in EmailAddresses)
            {
                if (address.ID == 0)
                {
                    db.EMailAddresses.Add(address);
                    db.SaveChanges();
                }
                else
                {
                    var dbEmail = db.EMailAddresses.FirstOrDefault(e => e.ID == address.ID);

                    if (dbEmail?.Address != address.Address)
                    {
                        dbEmail.Address = address.Address;
                        db.SaveChanges();
                    }
                }
            }
        }
コード例 #12
0
 public void Save()
 {
     _breweryContext.SaveChanges();
 }
コード例 #13
0
        public void AddBeer(Beer beer)
        {
            context.Beers.Add(beer);

            context.SaveChanges();
        }
コード例 #14
0
 public void Add(Recipes recipe)
 {
     _breweryContext.Recipes.Add(recipe);
     _breweryContext.SaveChanges();
 }