public bool Create(Fiado fiado)
        {
            bool resFiado = false;

            using (da = new DataAccess.DataAccess())
            {
                decimal total_abono = fiado.AbonosRealizados.Sum(x => x.MontoAbono);
                da.GenerarComando(@"insert into fiado (id_fiado, nro_boleta, rut_cliente, fecha_fiado, fecha_vencimiento, total_abonos, total_pago, esta_vencido)
                                    values (seq_id_fiado.nextval, :nro_boleta, :rut_cliente, :fecha_fiado, :fecha_vencimiento, :total_abono, :total_pago, :vencido)
                                    returning id_fiado into :nuevo_id");
                da.AgregarParametro(":nro_boleta", fiado.Boleta.NroBoleta, DbType.Int32);
                da.AgregarParametro(":rut_cliente", fiado.ClienteFiado.RutCliente);
                da.AgregarParametro(":fecha_fiado", fiado.FechaFiado, DbType.Date);
                da.AgregarParametro(":fecha_vencimiento", fiado.FechaVencimiento, DbType.Date);
                da.AgregarParametro(":total_abono", total_abono, DbType.Int32);
                da.AgregarParametro(":total_pago", fiado.TotalPago, DbType.Int32);
                da.AgregarParametro(":vencido", fiado.Vencido ? "y" : "n");
                da.AgregarParametroOut(":nuevo_id", DbType.Decimal);
                resFiado = da.ExecuteNonQuery() > 0;
                decimal nuevo_id = Convert.ToDecimal(da.GetValorParametro(":nuevo_id"));
                if (nuevo_id > 0 && fiado.AbonosRealizados.Count > 0)
                {
                    foreach (Abono abono in fiado.AbonosRealizados)
                    {
                        Abonar(abono, nuevo_id);
                    }
                }
            }
            return(resFiado);
        }
        //crear orden pedido
        public bool Create(Orden orden)
        {
            bool res = false;

            using (da = new DataAccess.DataAccess())
            {
                da.GenerarComando(@"insert into orden(num_orden, fecha_orden, total_orden, fecha_recepcion, recibida, anulada, id_usuario)
                                    values (seq_id_orden.nextval, :fecha_orden, :total_orden, null, 'n', 'n', :usuario)
                                    returning num_orden into :nuevo_num");
                da.AgregarParametro(":fecha_orden", orden.FechaOrden, DbType.Date);
                da.AgregarParametro(":total_orden", orden.TotalOrden, DbType.Int64);
                da.AgregarParametro(":usuario", orden.IdUsuario, DbType.String);
                da.AgregarParametroOut(":nuevo_num", DbType.Int64);
                int     resultado = da.ExecuteNonQuery();
                decimal nuevo_num = Convert.ToDecimal(da.GetValorParametro(":nuevo_num"));
                foreach (var item in orden.ProductosEnOrden)
                {
                    AsociarProductoOrden(item, nuevo_num);
                }
                res = resultado > 0;
            }
            return(res);
        }