Exemple #1
0
        public ActionResult AddWine()
        {
            // ****************************************************
            // *** Establish New Wine Add View Model For Add ******
            // *** May Also Utilize This Area of Code 4 Edit ******
            // ****************************************************

            var vm = new WineAddViewModel()
            {
                // ****************************************************
                // * Default Value Of Nullable Boolean Is Always Null *
                // * Unnecessary To Nullify But Set To Insure Value   *
                // ****************************************************

                ShowSuccessMsg = null,

                VarietalsToChooseFrom = Repository.GetAllGrapeVarietals().OrderBy(gv => gv.Name).ToList(),

                TheWine      = new WineModel(),
                TheWineClass = new TTBWineClass()
            };

            //*****************************************************
            //*** Returns AddWine View (Form) For Adding A Wine ***
            //*****************************************************

            return(View("AddWine", vm));
        }
Exemple #2
0
        public ActionResult AddWine2(Models.ViewModels.WineAddViewModel wine)
        {
            // ****************************************************
            // ********* Check To Make Sure Model Is Valid ********
            // ****************************************************

            if (ModelState.IsValid)

            {
                wine.VarietalsToChooseFrom = Repository.GetAllGrapeVarietals();

                using (var context = new WineContext())
                {
                    // *************************************************
                    // * Might Be Useful To Cache For Some Time In The *
                    // * Future To Make Sure That User Does Not Try    *
                    // * To Pass A Varietal To DB That Does Not Exist  *
                    // *************************************************

                    var varietalFromDb = context.Varietals.FirstOrDefault(v => v.Id == wine.TheWine.Varietal.VarietalId)
                    ;
                    if (varietalFromDb == null)

                    {
                        throw new Exception("Received an invalid varietal name.");
                    }


                    //******************************************
                    //*** Map Field Names For The Database *****
                    //*** In New dbWine Variable ***************
                    //******************************************

                    var dbWine = new Wine

                    {
                        ABV             = wine.TheWine.ABV,
                        AVA             = wine.TheWine.AVA,
                        btlVol          = wine.TheWine.btlVol,
                        btlVolUOM       = wine.TheWine.btlVolUOM,
                        fluidOz         = wine.TheWine.fluidOz,
                        Id              = wine.TheWine.Id,
                        Name            = wine.TheWine.Name,
                        TheVarietal     = varietalFromDb,
                        TheWineType     = wine.TheWine.WineType,
                        TheTTBWineClass = wine.TheWineClass,
                        Description     = wine.TheWine.Description,
                        WineryURL       = wine.TheWine.WineryURL
                    };

                    // *****************************************
                    // *** Add The New Wine To The Database ****
                    // *** And Save The Changes ****************
                    // *****************************************

                    context.Wines.Add(dbWine);
                    context.SaveChanges();
                }

                //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                //      CODE NOTE USED CODE NOT USED
                //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

                var blankWine = new WineAddViewModel
                {
                    ShowSuccessMsg = true,
                    //SelectedVarietalId = null,
                    TheWine = new WineModel(),
                    VarietalsToChooseFrom = Repository.GetAllGrapeVarietals(),
                };

                //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                //      CODE NOTE USED CODE NOT USED
                //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\


                return(RedirectToAction("Index", "Wine", wine));
            }

            // *************************************************
            // *** Repopulate Varietals To Choose From *********
            // *************************************************

            wine.VarietalsToChooseFrom = Repository.GetAllGrapeVarietals();

            //Return Some Error View - to be added...

            throw new NotImplementedException("Dealing With Errors");
        }