public Boolean CrearFactura(int IdCliente)
        {
            DatosCarrito CarritoDatos = new DatosCarrito();
            List <Capa.Entidades.Carrito> objCarrito = new List <Capa.Entidades.Carrito>();

            objCarrito = CarritoDatos.ObtenerCarritoPorCliente(IdCliente);
            AccesoDatosFactura accionesFactura = new AccesoDatosFactura();

            decimal total = calcularTotalFactura(objCarrito);
            int     consecutivoFactura   = accionesFactura.CrearFactura(IdCliente, total);
            bool    insertarItemsFactura = accionesFactura.InsertarItemsFactura(objCarrito, consecutivoFactura);

            List <Entidades.Cliente> objDatoosCliente = new List <Entidades.Cliente>();
            AccesoDatosCliente       ClienteDatos     = new AccesoDatosCliente();

            objDatoosCliente = ClienteDatos.ObtenerDatosCliente(IdCliente);

            EnviaFactura(objDatoosCliente[0].Email, objCarrito, total);

            if (insertarItemsFactura)
            {
                accionesFactura.VaciarCarrito(IdCliente);
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public sp_ObtieneFacturaIdResult ObtenerFacturaCliente(int IdFactura)
        {
            sp_ObtieneFacturaIdResult factura = new sp_ObtieneFacturaIdResult();

            try
            {
                AccesoDatosFactura accionesFactura = new AccesoDatosFactura();
                factura = accionesFactura.ObtieneFactura(IdFactura);
                return(factura);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaFactura", ex.Message, ex.StackTrace);
                return(factura);
            }
        }
        public List <sp_ObtieneItemsFacturaIdResult> ObtenerItemsFactura(int IdFactura)
        {
            List <sp_ObtieneItemsFacturaIdResult> itemsLista = new List <sp_ObtieneItemsFacturaIdResult>();

            try
            {
                AccesoDatosFactura accionesFactura = new AccesoDatosFactura();
                itemsLista = accionesFactura.ObtieneItemsFactura(IdFactura);
                return(itemsLista);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaFactura", ex.Message, ex.StackTrace);
                return(itemsLista);
            }
        }
        /// <summary>
        /// Obtiene los metodos de pago
        /// </summary>
        /// <returns></returns>
        public List <MetodoPago> ObtenerMetodoPago()
        {
            List <MetodoPago> objMetodoPago = new List <MetodoPago>();

            try
            {
                AccesoDatosFactura MetodoPagoDatos = new AccesoDatosFactura();
                objMetodoPago = MetodoPagoDatos.ObtieneMetodosPago();
                return(objMetodoPago);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaFactura", ex.Message, ex.StackTrace);
                return(objMetodoPago);
            }
        }