public Restaurant DataToLibrary(Data.Models.Restaurant dataModel)
        {
            double rating  = 0;
            var    reviews = _context.Reviews.Where(r => r.RestaurantId == dataModel.Id);

            if (reviews.Count() != 0)
            {
                rating = reviews.Average(r => r.Rating);
            }
            //var list = dataModel.Reviews.ToList();

            var libModel = new Restaurant()
            {
                Id            = dataModel.Id,
                Name          = dataModel.Name,
                Street        = dataModel.Street,
                City          = dataModel.City,
                State         = dataModel.State,
                Country       = dataModel.Country,
                Zipcode       = dataModel.Zipcode,
                Phone         = dataModel.Phone,
                Website       = dataModel.Website,
                Created       = dataModel.Created,
                Modified      = dataModel.Modified,
                AverageRating = Math.Truncate(rating * 100) / 100,
                ReviewCount   = reviews.Count(),
                //Reviews = list.Select(x => ReviewRepository.DataToLibrary(x)).ToList()
            };

            return(libModel);
        }
        public Models.Restaurant ConvertToLogicRestaurant(Data.Models.Restaurant restaurant)
        {
            if (restaurant == null)
            {
                throw new ArgumentNullException(nameof(restaurant));
            }

            return(new Models.Restaurant
            {
                Id = restaurant.Id,
                Name = restaurant.Name,
                Url = restaurant.Url,
                PhoneNumber = restaurant.PhoneNumber
            });
        }
        public Data.Models.Restaurant LibraryToData(Restaurant libModel)
        {
            var dataModel = new Data.Models.Restaurant()
            {
                Name    = libModel.Name,
                Street  = libModel.Street,
                City    = libModel.City,
                State   = libModel.State,
                Country = libModel.Country,
                Zipcode = libModel.Zipcode,
                Phone   = libModel.Phone,
                Website = libModel.Website
            };

            return(dataModel);
        }
 private Restaurant ConvertToLogicRestaurant(Data.Models.Restaurant restaurant)
 {
     try
     {
         return(_logicConverter.ConvertToLogicRestaurant(restaurant));
     }
     //TODO: Catch dataException
     catch (ArgumentNullException ex)
     {
         _logger.Error("Argument null", ex);
         throw ex;
     }
     catch (Exception ex)
     {
         _logger.Error("Error", ex);
         throw ex;
     }
 }