Exemple #1
0
        public IHttpActionResult PostBox(BoxesModel box)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var dbBox = new Box();

            dbBox.PawzeUser = _userRepository.GetFirstOrDefault(u => u.UserName == User.Identity.Name);

            dbBox.Update(box);

            foreach (var boxItem in dbBox.BoxItems)
            {
                boxItem.BoxItemPrice = _configRepository.GetAll().First().CurrentBoxItemPrice;
            }

            _boxRepository.Add(dbBox);

            _unitOfWork.Commit();

            box.BoxId = dbBox.BoxId;

            return(CreatedAtRoute("DefaultApi", new { id = box.BoxId }, box));
        }
Exemple #2
0
        public void Update(BoxesModel box)
        {
            BoxId          = box.BoxId;
            SubscriptionId = box.SubscriptionId;
            PawzeUserId    = box.PawzeUserId;

            if (BoxId == 0)
            {
                // IF IT'S NEW
                foreach (var boxItem in box.BoxItems)
                {
                    var dbBoxItem = new BoxItem();
                    dbBoxItem.Update(boxItem);
                    BoxItems.Add(dbBoxItem);
                }
            }
            else
            {
                // if it exists
                foreach (var modelBoxItem in box.BoxItems)
                {
                    var databaseBoxItem = BoxItems.FirstOrDefault(bi => bi.BoxItemId == modelBoxItem.BoxItemId);

                    databaseBoxItem.Update(modelBoxItem);
                }
            }
        }
Exemple #3
0
        public void PostBoxShouldReturnSingleBox()
        {
            //Arrange
            BoxesModel box = new BoxesModel {
                BoxId = 1, PawzeUserId = "test1", SubscriptionId = 1
            };

            //Act
            IHttpActionResult result = controller.PostBox(box);

            //Assert
            CreatedAtRouteNegotiatedContentResult <BoxesModel> okResult = (CreatedAtRouteNegotiatedContentResult <BoxesModel>)result;

            var actualBox = okResult.Content;

            // TODO: Cameron's last thought on testing
            // _boxRepository.Verify(e => e.)

            //Assert
            BoxesModel expected = new BoxesModel {
                BoxId = 1, PawzeUserId = "test1", SubscriptionId = 1
            };

            Assert.AreEqual(expected.BoxId, actualBox.BoxId);
        }
Exemple #4
0
        public void PutBoxTest()
        {
            //Arrange

            BoxesModel box = new BoxesModel()
            {
                BoxId = 1, PawzeUserId = "test1", SubscriptionId = 1
            };

            //Act
            //BoxesModel box = new BoxesModel();
            box.BoxId       = 1;
            box.PawzeUserId = "test1";

            IHttpActionResult response         = controller.PutBox(box.BoxId, box);
            StatusCodeResult  statuscodeResult = response as StatusCodeResult;



            //Assert
            //Assert.IsNotNull(contentResult);
            //Assert.IsNotNull(contentResult.Content);
            //Assert.AreEqual(HttpStatusCode.NoContent, typeof(response.StatusCode));
            //Assert.IsInstanceOfType(response, typeof());
            //Assert.AreEqual<HttpStatusCode>(HttpStatusCode.NoContent, statusCodeResult.StatusCode);
        }
Exemple #5
0
        public void GetBoxByIdShouldReturnSingleBox()
        {
            // Arrange
            _boxRepository.Setup(b => b.GetFirstOrDefault(It.IsAny <Expression <Func <Box, bool> > >()))
            .Returns(new Box {
                BoxId = 1, PawzeUserId = "test1", SubscriptionId = 1
            });

            BoxesModel expectedBox = new BoxesModel {
                BoxId = 1, PawzeUserId = "test1", SubscriptionId = 1
            };

            // Act
            IHttpActionResult result = controller.GetBox(1);

            //Assert
            OkNegotiatedContentResult <BoxesModel> okResult = (OkNegotiatedContentResult <BoxesModel>)result;

            var actualBox = okResult.Content;

            Assert.IsTrue(actualBox.BoxId == expectedBox.BoxId);
        }
Exemple #6
0
        public IHttpActionResult PutBox(int id, BoxesModel box)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Box dbBox = _boxRepository.GetFirstOrDefault(b => b.PawzeUser.UserName == User.Identity.Name && b.BoxId == id);

            if (id != box.BoxId)
            {
                return(BadRequest());
            }

            dbBox.Update(box);

            _boxRepository.Update(dbBox);

            try
            {
                _unitOfWork.Commit();
            }
            catch (Exception)
            {
                if (!BoxExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemple #7
0
 public Box(BoxesModel box)
 {
     this.Update(box);
 }