public Product SaveProduct(Product product)
        {
            try
            {
                Product dbProduct = null;
                if (product.ProductId == 0)
                {
                    _efDatabaseContext.GetProducts.Add(product);
                }
                else
                {
                    dbProduct = _efDatabaseContext.FindProduct(product.ProductId);
                    if (dbProduct == null)
                    {
                        throw new ArgumentNullException();
                    }
                    else
                    {
                        dbProduct.Name        = product.Name;
                        dbProduct.Description = product.Description;
                        dbProduct.Price       = product.Price;
                        dbProduct.Category    = product.Category;
                    }
                }

                _efDatabaseContext.SaveProductChanges();
                return(product);
            }
            catch
            {
                throw;
            }
        }