Exemple #1
0
        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);
        }
Exemple #3
0
        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.";
            }
        }