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); }