public ActionResult <Winery> PostWinery(Winery winery)
        {
            _logger.LogTrace("Create new Winery " + winery.ToString( ));

            // Convert model to entity.
            var wineryEntity = _converter.Convert(winery);

            // Only allow one instance of each Winery.
            var checkWinery = from v in _context.Wineries
                              where (v.Name == wineryEntity.Name)
                              select v;

            if (checkWinery.FirstOrDefault( ) == null)
            {
                _context.Wineries.Add(wineryEntity);

                try
                {
                    _context.SaveChanges( );
                }
                catch
                {
                    return(BadRequest( ));
                }
            }
            else
            {
                return(Conflict( ));
            }

            return(CreatedAtAction("GetWinery", wineryEntity.Id));
        }
Beispiel #2
0
        public void PutWinery_Returns404NotFound_WhenUsingInvalidIWineryId()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 4.3 Winery",
                WebSite = "Test 4.3 Web Site",
                EMail   = "Test 4.3 EMail",
                Phone   = "Test 4.3 Phone"
            };

            _dbContext.Wineries.Add(wineryEntity);
            _dbContext.SaveChanges( );

            var wineryId = wineryEntity.Id + 1;         // force an invalid record Id

            var winery = new Winery
            {
                Name    = "Test 4.3 Winery",
                WebSite = "Test 4.3 Web Site UPDATED",
                EMail   = "Test 4.3 EMail",
                Phone   = "Test 4.3 Phone"
            };

            // Act
            var result = _controller.PutWinery(wineryId, winery);

            // Assert
            Assert.IsType <NotFoundResult>(result);
        }
Beispiel #3
0
        public void PutWinery_ReturnsItemOfCorrectType_WhenUsingValidWineryId()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 4.2 Winery",
                WebSite = "Test 4.2 Web Site",
                EMail   = "Test 4.2 EMail",
                Phone   = "Test 4.2 Phone"
            };

            _dbContext.Wineries.Add(wineryEntity);
            _dbContext.SaveChanges( );
            var wineryEntityId = wineryEntity.Id;

            var winery = new Winery
            {
                Name    = "Test 4.2 Winery",
                WebSite = "Test 4.2 Web Site",
                EMail   = "Test 4.2 EMail",
                Phone   = "Test 4.2 Phone UPDATED"
            };

            // Act
            var result = _controller.PutWinery(wineryEntityId, winery);

            // Assert
            Assert.IsType <NoContentResult>(result);
        }
Beispiel #4
0
        public void PutWinery_AttributesUnchanged_WhenUsingInvalidWineryId()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 4.4 Winery",
                WebSite = "Test 4.4 Web Site",
                EMail   = "Test 4.4 EMail",
                Phone   = "Test 4.4 Phone"
            };

            _dbContext.Wineries.Add(wineryEntity);
            _dbContext.SaveChanges( );

            var winery = new Winery
            {
                Name    = "Test 4.4 Winery UPDATE",
                WebSite = "Test 4.4 Web Site UPDATE",
                EMail   = "Test 4.4 EMail UPDATE",
                Phone   = "Test 4.4 Phone UPDATE"
            };

            // Act
            _controller.PutWinery(wineryEntity.Id + 1, winery);
            var result = _dbContext.Wineries.Find(wineryEntity.Id);

            // Assert
            Assert.Equal(wineryEntity.Name, result.Name);
        }
        public HttpResponseMessage Put(DeleteReviewSubmitModel delModel)
        {
            var response = new HttpResponseMessage(HttpStatusCode.NotFound);

            using (var session = ravenStore.OpenSession())
            {
                Winery winery = session.Load <Winery>(delModel.SubjectId);

                Review myReview = winery.Reviews.FirstOrDefault(x => x.UserId == delModel.UserId);
                winery.Reviews.Remove(myReview);


                if (winery.Reviews.Count > 0)
                {
                    var rating = winery.Reviews.Average(x => x.Rating);
                    winery.Rating = rating;
                }
                else
                {
                    winery.Rating = 0;
                }

                session.SaveChanges();

                response = new HttpResponseMessage(HttpStatusCode.OK);
            }

            return(response);
        }
Beispiel #6
0
    public void WriteEnterprises(string filename)
    {
        // Creates an instance of the XmlSerializer class.
        XmlSerializer mySerializer =
            new XmlSerializer(typeof(Enterprises));
        // Writing file requires a TextWriter.
        TextWriter writer = new StreamWriter(filename);

        // Creates an instance of the XmlSerializerNamespaces class.
        XmlSerializerNamespaces ns = new XmlSerializerNamespaces();

        // Adds namespaces and prefixes for the XML document instance.
        ns.Add("winery", "http://www.cohowinery.com");
        ns.Add("vacationCompany", "http://www.treyresearch.com");

        // Creates an instance of the class that will be serialized.
        Enterprises myEnterprises = new Enterprises();

        // Creates objects and adds to the array.
        Winery w1 = new Winery();

        w1.Name = "cohowinery";
        Winery[] myWinery = { w1 };
        myEnterprises.Wineries = myWinery;

        VacationCompany com1 = new VacationCompany();

        com1.Name = "adventure-works";
        VacationCompany[] myCompany = { com1 };
        myEnterprises.Companies = myCompany;

        // Serializes the class, and closes the TextWriter.
        mySerializer.Serialize(writer, myEnterprises, ns);
        writer.Close();
    }
        public IActionResult Add(WineryViewModel nw)
        {
            if (ModelState.IsValid)
            {
                Winery newWinery = new Winery
                {
                    Name    = nw.Name,
                    Address = nw.Address,
                    Phone   = nw.Phone,
                    Email   = nw.Email,
                    Website = nw.Website,
                    Notes   = nw.Notes
                };

                if (!newWinery.Website.StartsWith("http://") || !newWinery.Website.StartsWith("https://"))
                {
                    newWinery.Website = "http://" + newWinery.Website;
                }

                context.Wineries.Add(newWinery);
                context.SaveChanges();

                return(Redirect("/Winery"));
            }

            return(View(nw));
        }
        public void WineryPostWinery()
        {
            Winery testWinery = new Winery()
            {
                HasMenu          = true,
                TastingPrice     = 50,
                Rating           = 4,
                Address          = "290 John St E, Niagara-on-the-Lake, ON L0S 1J0",
                CheckInRadius    = 250,
                HoursOfOperation = new string[] { "9-20", "9-20", "9-20", "9-20", "9-20", "11-19", "11-19" },
                PhoneNumber      = "519-872-1556",
                WineryName       = "Peller Estates Winery and Restaurant",
                Latitude         = 43.238662,
                Longitude        = -79.067035,
                Reviews          = new List <Review>()
            };

            var response = _wineryController.Post(testWinery);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);

            var winery = _wineryController.Get("wineries/1-A");

            Assert.NotNull(winery);
        }
Beispiel #9
0
        public Task <int> UpdateWineryAsync(Winery winery)
        {
            wineryContext.Wineries.Update(winery);
            var saved = wineryContext.SaveChanges();

            return(Task.FromResult(saved));
        }
Beispiel #10
0
        public void PutWinery_AttributesUpdated_WhenUsingValidWineryId()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 4.1 Winery",
                WebSite = "Test 4.1 Web Site",
                EMail   = "Test 4.1 EMail",
                Phone   = "Test 4.1 Phone"
            };

            _dbContext.Wineries.Add(wineryEntity);
            _dbContext.SaveChanges( );
            var wineryEntityId = wineryEntity.Id;

            var winery = new Winery
            {
                Name    = "Test 4.1 Winery UPDATED",
                WebSite = "Test 4.1 Web Site UPDATED",
                EMail   = "Test 4.1 EMail UPDATED",
                Phone   = "Test 4.1 Phone UPDATED"
            };

            // Act
            _controller.PutWinery(wineryEntityId, winery);
            var result = _dbContext.Wineries.Find(wineryEntityId);

            // Assert
            Assert.Equal(winery.Name, result.Name);
            Assert.Equal(winery.WebSite, result.WebSite);
            Assert.Equal(winery.EMail, result.EMail);
            Assert.Equal(winery.Phone, result.Phone);
        }
        public ActionResult PutWinery(int id, Winery winery)
        {
            _logger.LogTrace("Update Winery with Id " + id);
            var wineryEntity = _context.Wineries.Find(id);

            // Can only update an existing winery.
            if (wineryEntity == null)
            {
                return(NotFound( ));
            }

            // Convert parameter model to entity.
            var paramWineryEntity = _converter.Convert(winery);

            // Generate an updated winery entity.
            wineryEntity.Name    = paramWineryEntity.Name;
            wineryEntity.EMail   = paramWineryEntity.EMail;
            wineryEntity.Phone   = paramWineryEntity.Phone;
            wineryEntity.WebSite = paramWineryEntity.WebSite;

            // Flush change to database.
            _context.Entry(wineryEntity).State = EntityState.Modified;
            _context.SaveChanges( );

            return(NoContent( ));
        }
Beispiel #12
0
        public Task <Guid> AddWineryAsync(Winery winery)
        {
            winery.Id = Guid.NewGuid();
            wineryContext.Wineries.Add(winery);
            var result = wineryContext.SaveChanges() > 0 ? winery.Id : Guid.Empty;

            return(Task.FromResult(result));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Winery winery = db.Wineries.Find(id);

            db.Wineries.Remove(winery);
            db.SaveChanges();
            TempData["message"] = string.Format("{0} has been Deleted", winery.Name, true); //infrom user of changes, message displayed in partail view name _AdminLayOut
            return(RedirectToAction("Index"));
        }
Beispiel #14
0
 public static Contract.Winery MapToWineryContract(this Winery winery)
 {
     return(new Contract.Winery
     {
         Id = winery.Id,
         Name = winery.Name,
         Region = winery.Region,
         Country = winery.Country
     });
 }
        public IActionResult Delete(int id)
        {
            // Get a winery info ffrom the passesd id
            Winery winery = _context.Winery.Single(model => model.Id == id);

            _context.Winery.Remove(winery);
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
Beispiel #16
0
 public WineryModelTests()
 {
     _testWinery = new Winery
     {
         Name    = "Base Winery",
         WebSite = "Base WebSite",
         EMail   = "Base EMail",
         Phone   = "Base Phone"
     };
 }
 public ActionResult Edit([Bind(Include = "Id,Name,Country")] Winery winery)
 {
     if (ModelState.IsValid)
     {
         db.Entry(winery).State = EntityState.Modified;
         db.SaveChanges();
         TempData["message"] = string.Format("{0} has been Edited", winery.Name, true); //infrom user of changes, message displayed in partail view
         return(RedirectToAction("Index"));
     }
     return(View(winery));
 }
        public IActionResult Create(Winery winery)
        {
            if (ModelState.IsValid)
            {
                _context.Winery.Add(winery);
                _context.SaveChanges(); // add data to the database

                return(RedirectToAction("Index"));
            }
            return(View(winery));
        }
        // GET api/winery/id         route: api/winery?id=wineries/[id]     Returns: SPecified winery
        public Winery Get(string id)
        {
            Winery winery = new Winery();

            using (var session = ravenStore.OpenSession())
            {
                winery = session.Load <Winery>(id);
            }

            return(winery);
        }
        public IActionResult Edit(Winery winery)
        {
            if (ModelState.IsValid)
            {
                _context.Winery.Update(winery);
                _context.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(View(winery));
        }
        public ActionResult Create([Bind(Include = "Id,Name,Country")] Winery winery)
        {
            if (ModelState.IsValid)
            {
                db.Wineries.Add(winery);
                db.SaveChanges();
                TempData["message"] = string.Format("{0} has been created", winery.Name, true); //can be added after db.save changes
                return(RedirectToAction("Index"));
            }

            return(View(winery));
        }
        public IActionResult WinesFromThisWinery(int id)
        {
            Winery winery = context.Wineries.SingleOrDefault(wn => wn.ID == id);

            if (winery != null)
            {
                List <Wine>       wineList = context.Wines.Where(w => w.WineryID == id).ToList();
                WineListViewModel wines    = new WineListViewModel(wineList, winery);
                return(View(wines));
            }

            return(Redirect("/Winery"));
        }
        public IActionResult Remove(int id)
        {
            Winery winery = context.Wineries.Single(wn => wn.ID == id);

            if (winery != null)
            {
                context.Wineries.Remove(winery);
                context.SaveChanges();

                return(Redirect("/Winery"));
            }

            return(Redirect("/Winery/ViewWinery/" + id));
        }
        public HttpResponseMessage Post(Winery newWinery)
        {
            Winery winery = newWinery;

            using (var session = ravenStore.OpenSession())
            {
                session.Store(winery);
                session.SaveChanges();
            }

            var response = new HttpResponseMessage(HttpStatusCode.Created);

            return(response);
        }
        // GET: Wineries/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Winery winery = db.Wineries.Find(id);

            if (winery == null)
            {
                return(HttpNotFound());
            }
            return(View(winery));
        }
Beispiel #26
0
        public IActionResult Create(Winery winery) // Winery as an Input // this method is accessible by Post Back Event Using An Action Filter
        {
            //Check If The Models Check Are Valid

            if (ModelState.IsValid)
            {
                // Add To Context Object
                _context.Winery.Add(winery);
                _context.SaveChanges(); // Save Data To The DB
                return(RedirectToAction("Index"));
            }

            return(View(winery)); // Return The View With Errors
        }
Beispiel #27
0
        public HttpResponseMessage Post(CellarSubmitModel cellarItem)
        {
            HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.NotFound);

            using (var session = ravenStore.OpenSession())
            {
                UserProfile user = session.Load <UserProfile>(cellarItem.UserId);
                Wine        wine = session.Load <Wine>(cellarItem.WineId);


                if (user != null && wine != null)
                {
                    if (user.CellarBottles == null)
                    {
                        user.CellarBottles = new List <CellarBottle>();
                    }

                    if (user.CellarBottles.Any(x => x.WineId == cellarItem.WineId))
                    {
                        var item = user.CellarBottles.FirstOrDefault(x => x.WineId == cellarItem.WineId);
                        item.IncreaseBottleCount(cellarItem.Quantity);
                        if (!string.IsNullOrEmpty(cellarItem.Notes))
                        {
                            item.PersonalComment = cellarItem.Notes;
                        }

                        if (item.Finished)
                        {
                            item.Finished = false;
                        }
                        session.SaveChanges();
                        response = new HttpResponseMessage(HttpStatusCode.Created);
                        return(response);
                    }

                    Winery       winery  = session.Load <Winery>(wine.WineryId);
                    CellarBottle newItem = new CellarBottle(wine, winery.WineryName, cellarItem.Quantity);
                    newItem.PersonalComment = cellarItem.Notes;
                    user.CellarBottles.Add(newItem);

                    session.SaveChanges();

                    response = new HttpResponseMessage(HttpStatusCode.Created);
                    return(response);
                }
            }

            return(response);
        }
Beispiel #28
0
 public async Task <Response <int> > UpdateWineryAsync(Winery winery)
 {
     try
     {
         var response = new Response <int>
         {
             Result = await DataStore.UpdateWineryAsync(winery.MapToWineryPersistence())
         };
         return(response);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public IActionResult Edit(int id)
        {
            Winery          winery     = context.Wineries.SingleOrDefault(wn => wn.ID == id);
            WineryViewModel editWinery = new WineryViewModel
            {
                Name     = winery.Name,
                Address  = winery.Address,
                Email    = winery.Email,
                Phone    = winery.Phone,
                Notes    = winery.Notes,
                Website  = winery.Website,
                WineryID = winery.ID
            };

            return(View(editWinery));
        }
Beispiel #30
0
        public void PostWinery_ReturnsItemOfCorrectType_WhenUsingValidID()
        {
            // Arrange
            var winery = new Winery
            {
                Name    = "Test 3.2 Winery",
                WebSite = "Test 3.2 Web Site",
                EMail   = "Test 3.2 EMail",
                Phone   = "Test 3.2 Phone"
            };

            // Act
            var result = _controller.PostWinery(winery);

            // Assert
            Assert.IsType <CreatedAtActionResult>(result.Result);
        }