public ICallResult UpdateProduct(Product product)
        {
            var result = new CallResult { Succeeded = false };
            try
            {
                this.context.Products.Attach(product);
                this.context.Entry(product).State = EntityState.Modified;
                this.context.SaveChanges();
                result.Succeeded = true;
            }
            catch (Exception ex)
            {
                result.AddErrors(ex);
            }

            return result;
        }
        public ICallResult CreateProduct(Product product)
        {
            var result = new CallResult { Succeeded = false };
            product.Id = Guid.NewGuid().ToString();

            try
            {
                this.context.Products.Add(product);
                this.context.SaveChanges();
                result.Succeeded = true;
            }
            catch (Exception ex)
            {
                result.AddErrors(ex);
            }

            return result;
        }
        public ICallResult UpdateProduct(Product product)
        {
            var result = new CallResult {
                Succeeded = false
            };

            try
            {
                this.context.Products.Attach(product);
                this.context.Entry(product).State = EntityState.Modified;
                this.context.SaveChanges();
                result.Succeeded = true;
            }
            catch (Exception ex)
            {
                result.AddErrors(ex);
            }

            return(result);
        }
        public ICallResult CreateProduct(Product product)
        {
            var result = new CallResult {
                Succeeded = false
            };

            product.Id = Guid.NewGuid().ToString();

            try
            {
                this.context.Products.Add(product);
                this.context.SaveChanges();
                result.Succeeded = true;
            }
            catch (Exception ex)
            {
                result.AddErrors(ex);
            }

            return(result);
        }