public static void SaveDetalleCompra(ref CompraDetalleDTO detalleCompra) { SqlCommand command; if (detalleCompra.IsNew) { command = GetDbSprocCommand("usp_DetalleCompra_Insert"); command.Parameters.Add(CreateOutputParameter("@idDetalleCompra", SqlDbType.Int)); } else { command = GetDbSprocCommand("usp_DetalleCompra_Update"); command.Parameters.Add(CreateParameter("@idDetalleCompra", detalleCompra.idDetalleReservaDTO)); } command.Parameters.Add(CreateParameter("@idDetalleReserva", detalleCompra.idDetalleReservaDTO)); command.Parameters.Add(CreateParameter("@descripcion", detalleCompra.descripcionDTO, 50)); // Run the command. command.Connection.Open(); command.ExecuteNonQuery(); command.Connection.Close(); // If this is a new record, let's set the ID so the object // will have it. if (detalleCompra.IsNew) { detalleCompra.idCompraDetalleDTO = (int)command.Parameters["@idDetalleCompra"].Value; } }
internal override DTOBase PopulateDTO(SqlDataReader reader) { CompraDetalleDTO compraDetalleDTO = new CompraDetalleDTO(); //idDetalleCompra if (!reader.IsDBNull(Ord_idDetalleCompra)) { compraDetalleDTO.idCompraDetalleDTO = reader.GetInt32(Ord_idDetalleCompra); } //idDetalleReserva if (!reader.IsDBNull(Ord_idDetalleReserva)) { compraDetalleDTO.idDetalleReservaDTO = reader.GetInt32(Ord_idDetalleReserva); } //descripcion if (!reader.IsDBNull(Ord_descripcion)) { compraDetalleDTO.descripcionDTO = reader.GetString(Ord_descripcion); } //monto if (!reader.IsDBNull(Ord_monto)) { compraDetalleDTO.Monto = reader.GetDecimal(Ord_monto); } return(compraDetalleDTO); }
protected void btnGuardar_Click(object sender, EventArgs e) { try{ decimal montoCompra = 0; OcultarMensajes(); List <CompraDetalleDTO> detalles = new List <CompraDetalleDTO>(); ReservaDTO reserva = (ReservaDTO)Session["Reserva"]; List <ReservaDetalleDTO> detallesReserva = (List <ReservaDetalleDTO>)Session["detalles"]; foreach (ReservaDetalleDTO dr in detallesReserva) { if (dr.Comprada) { DangerMessage.Visible = true; LblDanger.Text = "No se puede realizar la compra porque uno o mas items ya han sido comprados."; return; } CompraDetalleDTO cd = new CompraDetalleDTO(); dr.IsNew = true; cd.idDetalleReservaDTO = dr.IdDetallaReserva; cd.Monto = Math.Round(dr.Monto / (decimal)1.10, 2); cd.descripcionDTO = "Pasajero: " + dr.NombrePasajero + " - Translado: " + dr.NombreTraslado + " - Alojamiento: " + dr.NombreAlojamiento + " - Seguro: " + dr.NombreSeguro; detalles.Add(cd); montoCompra += cd.Monto; } CompraDTO compra = new CompraDTO(); compra.IsNew = true; compra.idOperadorTuristicoDTO = Convert.ToInt32(ddlOperadorTuristico.SelectedValue); compra.fechaCompraDTO = DateTime.Now; compra.montoDTO = montoCompra; compra.saldoDTO = montoCompra; compra.Detalles = detalles; compra.IdReserva = reserva.IdReserva; compra.NumeroFactura = Convert.ToInt32(txtNroFactura.Text); CompraManager.SaveCompra(compra); SuccessMessage.Visible = true; LblSuccess.Text = "La compra se ha guardado correctamente"; CompraSection.Visible = false; SectionDetalleReserva.Visible = false; } catch (Exception) { DangerMessage.Visible = true; LblDanger.Text = "No se pudo guardar la compra, verifique que los datos ingresados sean vĂ¡lidos."; } }