public void UpdateResturantDetails()
        {
            bool       result         = false;
            IResturant resturantModel = null;

            try
            {
                IResturant updatedResturant = null;
                resturantModel = SetupAddedResturant();
                int    size = _random.Next(0, 30);
                string name = GenerateResturantName(size);
                resturantModel.ResturantName = name;
                _resturantController.UpdateResturantDetails(JsonConvert.SerializeObject(resturantModel));
                using (var dbContext = new ResturantReviewDBContext())
                {
                    updatedResturant = dbContext.Resturants.Where(x => x.ResturantName.Equals(name)).FirstOrDefault();
                    result           = updatedResturant != null;
                    dbContext.Resturants.Remove(Resturant.ConvertToEntity(resturantModel));
                    dbContext.SaveChanges();
                }
            }
            catch (Exception)
            {
                using (var dbContext = new ResturantReviewDBContext())
                {
                    dbContext.Resturants.Remove(Resturant.ConvertToEntity(resturantModel));
                    dbContext.SaveChanges();
                }
            }

            Assert.True(result);
        }
        public void SearchForResturant()
        {
            bool       result         = false;
            IResturant resturantModel = null;

            try
            {
                int    size        = _random.Next(0, 30);
                string desiredName = GenerateResturantName(size);
                resturantModel = SetupAddedResturant(desiredName);
                var searchResults = _resturantController.SearchResturant(resturantModel.ResturantName);
                result = CheckSearchResultsList(resturantModel.ResturantName, searchResults);
                using (var dbContext = new ResturantReviewDBContext())
                {
                    dbContext.Resturants.Remove(Resturant.ConvertToEntity(resturantModel));
                    dbContext.SaveChanges();
                }
            }
            catch (Exception)
            {
                using (var dbContext = new ResturantReviewDBContext())
                {
                    dbContext.Resturants.Remove(Resturant.ConvertToEntity(resturantModel));
                    dbContext.SaveChanges();
                }
            }

            Assert.True(result);
        }
        public void ListResturants()
        {
            int recordCount = -1;

            using (var dbContext = new ResturantReviewDBContext())
            {
                recordCount = dbContext.Resturants.Count();
            }
            bool result = _resturantController.GetResturants(30).Count == recordCount;

            Assert.True(result);
        }
示例#4
0
        public bool AddResturant([FromRoute] string resturantName, [FromRoute] string unitNumber, [FromRoute] string buildingNumber,
                                 [FromRoute] string streetName, [FromRoute] string suburbName, [FromRoute] string cityName, [FromRoute] string stateName,
                                 [FromRoute] string countryName, [FromRoute] string postcode, [FromRoute] string ownerName, [FromRoute] string description,
                                 [FromRoute] int resturantType, [FromRoute] byte[] image = null)
        {
            try
            {
                // If a whitespace is given for the address then it was meant to be null
                if (string.IsNullOrWhiteSpace(unitNumber))
                {
                    unitNumber = null;
                }
                FormalAddress resturantAddress = new FormalAddress()
                {
                    AddressApartmentNumber = unitNumber,
                    AddressBuildingNumber  = buildingNumber,
                    AddressStreetName      = streetName,
                    AddressSuburbName      = suburbName,
                    AddressCityName        = cityName,
                    AddressStateName       = stateName,
                    AddressCountryName     = countryName,
                    AddressPostcode        = postcode
                };
                Resturant resturant = new Resturant()
                {
                    ResturantName        = resturantName,
                    ResturantAddress     = resturantAddress,
                    ResturantImage       = image,
                    ResturantOwnerName   = ownerName,
                    ResturantDescription = description,
                    ResturantType        = (ResturantType)resturantType,
                    DateAdded            = DateTime.Now
                };

                using (var _dbContext = new ResturantReviewDBContext())
                {
                    _dbContext.Add(resturant);
                    _dbContext.SaveChanges();
                }

                return(true);
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                return(false);
            }
        }
示例#5
0
        public List <IResturant> SearchResturant([FromRoute] string resturantName, [FromRoute] int resultLimit = 30)
        {
            List <IResturant> searchResults = new List <IResturant>();

            try
            {
                using (var _dbContext = new ResturantReviewDBContext())
                {
                    searchResults.AddRange(_dbContext.Resturants.Where(x => x.ResturantName.Contains(resturantName)).Take(resultLimit));
                }
                return(searchResults);
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                return(null);
            }
        }
        public void AddResturant()
        {
            bool       result         = false;
            IResturant resturantModel = null;

            try
            {
                var resturant = new Mock <IResturant>();
                var address   = new FormalAddress();
                resturant.SetupAllProperties();
                resturant.SetupProperty(x => x.ResturantAddress, address);
                resturantModel = resturant.Object;
                var addressModel = resturant.Object.ResturantAddress;
                _resturantController.AddResturant(resturantModel.ResturantName, addressModel.AddressApartmentNumber,
                                                  addressModel.AddressBuildingNumber, addressModel.AddressStreetName, addressModel.AddressSuburbName,
                                                  addressModel.AddressCityName, addressModel.AddressStateName, addressModel.AddressCountryName, addressModel.AddressPostcode,
                                                  resturantModel.ResturantOwnerName, resturantModel.ResturantDescription, (int)resturantModel.ResturantType, null);

                Resturant dbResturantModel;
                using (var dbContext = new ResturantReviewDBContext())
                {
                    dbResturantModel = dbContext.Resturants.Where(x => x.DuplicateEquals(resturantModel)).FirstOrDefault();
                    result           = dbResturantModel != null;
                    dbContext.Resturants.Remove(dbResturantModel);
                    dbContext.SaveChanges();
                    // Ensures test object is removed
                    if (!result && resturantModel != null)
                    {
                        dbContext.Resturants.Remove(Resturant.ConvertToEntity(resturantModel));
                        dbContext.SaveChanges();
                    }
                }
            }
            catch (Exception)
            {
                using (var dbContext = new ResturantReviewDBContext())
                {
                    dbContext.Resturants.Remove(Resturant.ConvertToEntity(resturantModel));
                    dbContext.SaveChanges();
                }
            }

            Assert.True(result);
        }
        // Adds a test resturant to the database
        private IResturant SetupAddedResturant(string desiredName = "")
        {
            IResturant resturant      = new Resturant();
            var        address        = new FormalAddress();
            IResturant resturantModel = null;

            resturant.ResturantAddress = address;
            if (!string.IsNullOrEmpty(desiredName))
            {
                resturant.ResturantName = desiredName;
            }
            using (var dbContext = new ResturantReviewDBContext())
            {
                dbContext.Resturants.Add(Resturant.ConvertToEntity(resturant));
                dbContext.SaveChanges();
                resturantModel = dbContext.Resturants.Where(x => x.ResturantName.Equals(resturant.ResturantName)).FirstOrDefault();
            }
            return(resturantModel);
        }
示例#8
0
        public List <IResturant> GetResturants([FromRoute] int resultLimit = 30)
        {
            try
            {
                List <IResturant> resturants = new List <IResturant>();

                using (var _dbContext = new ResturantReviewDBContext())
                {
                    resturants = _dbContext.Resturants.Take(resultLimit).ToList().ConvertAll(x => (IResturant)x);
                }

                return(resturants);
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                return(null);
            }
        }
        public void DeleteResturant()
        {
            bool       result         = false;
            IResturant resturantModel = null;

            try
            {
                Resturant deletedResturant = null;
                resturantModel = SetupAddedResturant("testModel");
                using (var _dbContext = new ResturantReviewDBContext())
                {
                    _resturantController.DeleteResturant(resturantModel.ResturantId);
                    deletedResturant = _dbContext.Resturants.Where(x => x.ResturantName.Equals("testModel")).FirstOrDefault();
                    result           = deletedResturant == null;
                    if (!result)
                    {
                        _dbContext.Resturants.Remove(Resturant.ConvertToEntity(resturantModel));
                        _dbContext.SaveChanges();
                    }
                }
            }
            catch (Exception)
            {
                try
                {
                    using (var dbContext = new ResturantReviewDBContext())
                    {
                        dbContext.Resturants.Remove(Resturant.ConvertToEntity(resturantModel));
                        dbContext.SaveChanges();
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                }
            }

            Assert.True(result);
        }
示例#10
0
        public bool UpdateResturantDetails([FromRoute] dynamic resturantJson)
        {
            IResturant resturant = null;

            try
            {
                resturant = JsonConvert.DeserializeObject <Resturant>(resturantJson);
                using (var _dbContext = new ResturantReviewDBContext())
                {
                    if (resturant != null)
                    {
                        _dbContext.Resturants.Update(Resturant.ConvertToEntity(resturant));
                        _dbContext.SaveChanges();
                    }
                }
                return(true);
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                return(false);
            }
        }
示例#11
0
        public bool DeleteResturant([FromRoute] int resturantId)
        {
            IResturant resturant;

            try
            {
                using (var _dbContext = new ResturantReviewDBContext())
                {
                    resturant = _dbContext.Resturants.Where(x => x.ResturantId == resturantId).FirstOrDefault();
                    if (resturant != null)
                    {
                        _dbContext.Entry(resturant).State = EntityState.Detached;
                        _dbContext.Resturants.Remove(Resturant.ConvertToEntity(resturant));
                        _dbContext.SaveChanges();
                    }
                }
                return(true);
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                return(false);
            }
        }