/// <summary>
        /// Logica para la insercion del carrito
        /// </summary>
        /// <param name="IdUsuario"></param>
        /// <param name="IdProducto"></param>
        /// <param name="Cantidad"></param>
        /// <returns></returns>
        public int InsertarCarrito(int IdUsuario, int IdProducto, int Cantidad, int IdCarrito)
        {
            int ResultadoOperacion = 0;

            try
            {
                DatosCarrito CarritoDatos = new DatosCarrito();
                List <Capa.Entidades.Carrito> objCarrito = new List <Capa.Entidades.Carrito>();
                objCarrito = CarritoDatos.ObtenerCarritoPorCliente(IdUsuario);
                Capa.AccesoDatos.AccesoDatos Producto = new Capa.AccesoDatos.AccesoDatos();


                int CantidadDisponible = Producto.ObtieneCantidadProductos(IdProducto);

                //Filtramos la consulta oir id de prodcuto asi obtenemos el producto que deseamos aumentar de cantidad
                var item = objCarrito.FirstOrDefault(i => i.IdProducto == IdProducto);

                if (CantidadDisponible > Cantidad)
                {
                    if (objCarrito.Count != 0)
                    {
                        if (item != null)
                        {
                            if (item.IdProducto == IdProducto)
                            {
                                int nuevaCantidad = (int)(item.Cantidad + Cantidad);
                                CarritoDatos.ActualizarCarritoPorCliente(item.IdCarrito, IdProducto, nuevaCantidad);
                                ResultadoOperacion = (int)EnumResultadoOperacion.Exito;
                            }
                        }
                        else
                        {
                            ResultadoOperacion = CarritoDatos.InsertarCarritoPorCliente(IdUsuario, IdProducto, Cantidad);
                            ResultadoOperacion = (int)EnumResultadoOperacion.Exito;
                        }
                    }
                    else
                    {
                        ResultadoOperacion = CarritoDatos.InsertarCarritoPorCliente(IdUsuario, IdProducto, Cantidad);
                        ResultadoOperacion = (int)EnumResultadoOperacion.Exito;
                    }
                }
                else
                {
                    return((int)EnumResultadoOperacion.NoDisponibles);
                }

                return(ResultadoOperacion);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaDatosCarrito", ex.Message, ex.StackTrace);
                return(ResultadoOperacion);
            }
        }
        /// <summary>
        /// Obtiene y retorna la cantidad disponible de productos
        /// </summary>
        /// <param name="IdProducto"></param>
        /// <returns></returns>
        public int ObtieneCantidadSisponibleProductos(int IdProducto)
        {
            int CantidadDisponible = 0;

            try
            {
                Capa.AccesoDatos.AccesoDatos Producto = new Capa.AccesoDatos.AccesoDatos();
                CantidadDisponible = Producto.ObtieneCantidadProductos(IdProducto);
                return(CantidadDisponible);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaProducto", ex.Message, ex.StackTrace);
                return(CantidadDisponible);
            }
        }