public ActionResult Delete(AddressViewModel model)
 {
     try
     {
         var response = _addressLogic.Delete(model.Id);;
         if (response.IsError == true)
         {
             foreach (var item in response.ErrorCodes)
             {
                 ModelState.AddModelError(string.Empty, item);
             }
             var entity = _addressLogic.GetById(model.Id);
             AddressViewModel result = new AddressViewModel()
             {
                 Id = entity.Id, Street = entity.Street, OwnerId = entity.OwnerId.HasValue ? entity.OwnerId.Value : 0, OwnerName = entity.ApplicationUser != null ? entity.ApplicationUser.FirstName + " " + entity.ApplicationUser.LastName : string.Empty, Number = entity.Number
             };
             return(View(result));
         }
         return(RedirectToAction("Index"));
     }
     catch
     {
         var entity = _addressLogic.GetById(model.Id);
         AddressViewModel result = new AddressViewModel()
         {
             Id = entity.Id, Street = entity.Street, OwnerId = entity.OwnerId.HasValue ? entity.OwnerId.Value : 0, OwnerName = entity.ApplicationUser != null ? entity.ApplicationUser.FirstName + " " + entity.ApplicationUser.LastName : string.Empty, Number = entity.Number
         };
         return(View(result));
     }
 }
        public void ShouldReturnFalseWhenDeleteAddressFoundNoRecord()
        {
            _addressRepository = new Mock<IAddressRepository>();
            _addressRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Address, bool>>>(), false))
               .Returns(new List<Address>());

            _addressLogic = new AddressLogic(_addressRepository.Object);

            var result = _addressLogic.Delete(1);

            Assert.IsFalse(result);
        }
        public void ShouldThrowExceptionWhenDeleteAddressFails()
        {
            _addressRepository = new Mock<IAddressRepository>();
            _addressRepository.Setup(a => a.Delete(It.IsAny<Address>())).Throws(new Exception());

            _addressLogic = new AddressLogic(_addressRepository.Object);

            Assert.Throws<BlogException>(() => _addressLogic.Delete(1));
        }
        public void ShouldReturnTrueOnDeleteAddress()
        {
            var dbResult = new List<Address> { new Address { AddressId = 1 } };
            _addressRepository = new Mock<IAddressRepository>();
            _addressRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Address, bool>>>(), false))
               .Returns(dbResult);

            _addressLogic = new AddressLogic(_addressRepository.Object);

            var result = _addressLogic.Delete(1);

            Assert.IsTrue(result);
        }