Beispiel #1
0
        public int Insertarfactura(factura factura)
        {
            //AccesoDatos.IniciarTransaction();

            string Query = "proc_FACTURAInsert";

            using (ComandoSQL = new SqlCommand())
            {
                if (AccesoDatos.Transaction != null)
                {
                    ComandoSQL.Transaction = AccesoDatos.Transaction;
                }

                ComandoSQL.Connection  = AccesoDatos.ObtenerConexion();
                ComandoSQL.CommandType = CommandType.StoredProcedure;
                ComandoSQL.CommandText = Query;
                try
                {
                    ComandoSQL.Parameters.AddWithValue("@IdCliente ", factura.ID_CLIENTE);
                    ComandoSQL.Parameters.AddWithValue("@IdVendedor", factura.ID_VENDEDOR);
                    ComandoSQL.Parameters.AddWithValue("@Saldoinicial", factura.SALDOINICIAL);
                    ComandoSQL.Parameters.AddWithValue("@SaldoFinal", factura.SALDOFINAL);

                    //Ejecutar Comando
                    var resultado = Convert.ToInt32(ComandoSQL.ExecuteScalar());

                    if (factura.FACTURADETALLE.Count > 0)
                    {
                        foreach (var item in factura.FACTURADETALLE)
                        {
                            item.FACTURAID = resultado;
                            InsetarDetalleFactura(item);
                        }
                    }

                    AccesoDatos.ConfirmarTrasaccion();
                    return(resultado);
                }
                catch (Exception)
                {
                    if (AccesoDatos.Transaction != null)
                    {
                        AccesoDatos.DevolverTransaccion();
                    }
                    throw;
                }
                finally
                {
                    AccesoDatos.CerrarConexion();
                }
            }
        }