public async Task <Models.Compra> Finalizar(Guid idSessao, string fotoDoRostoEmBase64)
        {
            var pessoa = await this._pessoas.ObterPelaFotoDoRosto(fotoDoRostoEmBase64);

            var carrinho = await this._carrinhoLeitura.ObterPorIdSessao(idSessao);

            var compra = new Models.Compra(pessoa, carrinho);

            await this._comprasEscrita.Inserir(compra);

            await this._blockchain.InserirContrato(compra);

            await this._carrinhoEscrita.ExcluirPorIdSessao(idSessao);

            return(compra);
        }
Example #2
0
        private void buscarButton_Click(object sender, EventArgs e)
        {
            String dni      = this.dniTextbox.Text;
            String nombre   = this.nombreTextbox.Text;
            String apellido = this.apellidoTextbox.Text;
            String PNR      = this.PNRTextbox.Text;

            String error = "";

            if (!this.validarBusqueda(dni, nombre, apellido, PNR, ref error))
            {
                MessageBox.Show(error, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            DAO.connect();

            Cliente cliente = DAO.selectOne <Cliente>(new[] { "dni = '" + dni + "'", "nombre = '" + nombre + "'", "apellido = '" + apellido + "'" });

            if (cliente == null)
            {
                MessageBox.Show("El cliente no existe.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            Models.Compra compra = DAO.selectOne <Models.Compra>(new[] { "PNR = '" + PNR + "'" });

            if (compra == null)
            {
                MessageBox.Show("La compra no existe.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            String queryPasajes  = this.BuildQueryPasajes(cliente.Id, compra.PNR);
            String queryPaquetes = this.BuildQueryPaquetes(cliente.Id, compra.PNR);

            this.FillDataGrid(queryPasajes, this.pasajesDatagrid);
            this.FillDataGrid(queryPaquetes, this.paquetesDatagrid);

            DAO.closeConnection();
        }
        public ActionResult Ejercicio6(Models.Compra objTotal)
        {
            double monto_total, tot;

            monto_total = (objTotal.cant_art * objTotal.precio_unit);

            if (monto_total > 100000)
            {
                objTotal.descuento = monto_total * 0.20;
                tot = monto_total - objTotal.descuento;
                ViewBag.resultado  = "El monto de la compra sin descuento es: $" + Math.Round(monto_total, 2);
                ViewBag.resultadoD = "El descuento es de: $" + Math.Round(objTotal.descuento, 2);
                ViewBag.resultadoM = "El monto total de la compra es $" + Math.Round(tot, 2);
            }
            else
            {
                ViewBag.resultado = "El monto de la compra  es: $" + Math.Round(monto_total, 2);
            }

            return(View(objTotal));
        }
Example #4
0
        private void confirmarButton_Click(object sender, EventArgs e)
        {
            // 0 = efectivo
            // 1 = tarjeta
            if (this.medioDePagoCombo.SelectedIndex == 0 && this.hayCamposVacios()) {
                MessageBox.Show("Complete todos los datos de tarjeta para continuar.");
                return;
            }

            if (this.medioDePagoCombo.SelectedIndex == 0 && this.fechaTarjetaInvalida()) {
                MessageBox.Show("La fecha de vencimiento de la tarjeta es invalida.");
                return;
            }

            DAO.connect();

            String dni = this.documentoTextbox.Text;

            Cliente cliente = DAO.selectOne<Cliente>(new[] { "dni = " + dni });

            Models.Compra compra = new Models.Compra();

            compra.Medio_Pago_Id = this.medioDePagoCombo.SelectedIndex + 1; // :D
            compra.Cliente_Id = cliente.Id;
            compra.Fecha_Compra = Config.SystemConfig.systemDate;
            compra.PNR = (this.getMaxIdCompra() + 1).ToString();

            if (this.medioDePagoCombo.SelectedIndex == 0) {

                compra.Numero_Tarjeta = Convert.ToInt32(this.numeroTextbox.Text);
                compra.Codigo_Tarjeta = Convert.ToInt32(this.codigoTextbox.Text);
                compra.Vencimiento_Tarjeta = Convert.ToInt32(this.vencimientoTextbox.Text);
                compra.Tipo_Tarjeta_Id = this.tipoCombo.SelectedIndex + 1; // :D
                compra.Cant_Cuotas = (cuotasCombo.SelectedIndex + 1) * 3; // :D !!!
            }
            else {
                compra.Tipo_Tarjeta_Id = 1; //default, si entra en 0 rompe
            }

            int compra_id = DAO.insert<Models.Compra>(compra);

            List<int> pasajesIds = new List<int>();

            int i = 0;
            foreach (int p in pasajerosIds) {
                Pasaje pasaje = new Pasaje();
                pasaje.Viaje_id = selectedViaje.Id;
                pasaje.Cliente_Id = p;
                pasaje.Butaca_Id = butacasNumeros[i];
                Decimal precioBase = this.selectedViaje.Ruta.Precio_Base_Pasajes;
                Decimal mult = this.selectedAeronave.Tipo_Servicio.Porcentaje;
                pasaje.Precio = precioBase * mult;
                pasaje.Codigo = this.getMaxCodigoPasaje() + 1;
                pasaje.Activo = true;
                DAO.connect();
                int id = DAO.insert<Pasaje>(pasaje);
                DAO.closeConnection();
                pasajesIds.Add(id);
                i++;
            }

            List<int> paquetesIds = new List<int>();

            int j = 0;
            foreach (int p in clientesIds) {
                Paquete paquete = new Paquete();
                paquete.Viaje_Id = selectedViaje.Id;
                paquete.Cliente_Id = p;
                Decimal precioBase = this.selectedViaje.Ruta.Precio_Base_Kg;
                paquete.Precio = precioBase * pesos[j];
                paquete.Codigo = this.getMaxCodigoPaquete() + 1;
                paquete.Activo = true;
                DAO.connect();
                int id = DAO.insert<Paquete>(paquete);
                DAO.closeConnection();
                paquetesIds.Add(id);
                j++;
            }

            foreach (int p in pasajesIds) {
                Compra_Pasaje cp = new Compra_Pasaje();
                cp.Compra_Id = compra_id;
                cp.Pasaje_Id = p;
                DAO.insert<Compra_Pasaje>(cp);
            }

            foreach (int p in paquetesIds) {
                Compra_Paquete cp = new Compra_Paquete();
                cp.Compra_Id = compra_id;
                cp.Paquete_Id = p;
                DAO.insert<Compra_Paquete>(cp);
            }

            DAO.closeConnection();
            var dr = MessageBox.Show("Pago confirmado con exito. Su PNR es " + compra.PNR + ". Será solicitado en caso de querer efectuar una devolución.", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);

            if (dr == DialogResult.OK) {
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
        }
Example #5
0
        private void confirmarButton_Click(object sender, EventArgs e)
        {
            // 0 = efectivo
            // 1 = tarjeta
            if (this.medioDePagoCombo.SelectedIndex == 0 && this.hayCamposVacios())
            {
                MessageBox.Show("Complete todos los datos de tarjeta para continuar.");
                return;
            }

            if (this.medioDePagoCombo.SelectedIndex == 0 && this.fechaTarjetaInvalida())
            {
                MessageBox.Show("La fecha de vencimiento de la tarjeta es invalida.");
                return;
            }

            DAO.connect();

            String dni = this.documentoTextbox.Text;

            Cliente cliente = DAO.selectOne <Cliente>(new[] { "dni = " + dni });

            Models.Compra compra = new Models.Compra();

            compra.Medio_Pago_Id = this.medioDePagoCombo.SelectedIndex + 1; // :D
            compra.Cliente_Id    = cliente.Id;
            compra.Fecha_Compra  = Config.SystemConfig.systemDate;
            compra.PNR           = (this.getMaxIdCompra() + 1).ToString();

            if (this.medioDePagoCombo.SelectedIndex == 0)
            {
                compra.Numero_Tarjeta      = Convert.ToInt32(this.numeroTextbox.Text);
                compra.Codigo_Tarjeta      = Convert.ToInt32(this.codigoTextbox.Text);
                compra.Vencimiento_Tarjeta = Convert.ToInt32(this.vencimientoTextbox.Text);
                compra.Tipo_Tarjeta_Id     = this.tipoCombo.SelectedIndex + 1;    // :D
                compra.Cant_Cuotas         = (cuotasCombo.SelectedIndex + 1) * 3; // :D !!!
            }
            else
            {
                compra.Tipo_Tarjeta_Id = 1; //default, si entra en 0 rompe
            }

            int compra_id = DAO.insert <Models.Compra>(compra);

            List <int> pasajesIds = new List <int>();

            int i = 0;

            foreach (int p in pasajerosIds)
            {
                Pasaje pasaje = new Pasaje();
                pasaje.Viaje_id   = selectedViaje.Id;
                pasaje.Cliente_Id = p;
                pasaje.Butaca_Id  = butacasNumeros[i];
                Decimal precioBase = this.selectedViaje.Ruta.Precio_Base_Pasajes;
                Decimal mult       = this.selectedAeronave.Tipo_Servicio.Porcentaje;
                pasaje.Precio = precioBase * mult;
                pasaje.Codigo = this.getMaxCodigoPasaje() + 1;
                pasaje.Activo = true;
                DAO.connect();
                int id = DAO.insert <Pasaje>(pasaje);
                DAO.closeConnection();
                pasajesIds.Add(id);
                i++;
            }

            List <int> paquetesIds = new List <int>();

            int j = 0;

            foreach (int p in clientesIds)
            {
                Paquete paquete = new Paquete();
                paquete.Viaje_Id   = selectedViaje.Id;
                paquete.Cliente_Id = p;
                Decimal precioBase = this.selectedViaje.Ruta.Precio_Base_Kg;
                paquete.Precio = precioBase * pesos[j];
                paquete.Codigo = this.getMaxCodigoPaquete() + 1;
                paquete.Activo = true;
                DAO.connect();
                int id = DAO.insert <Paquete>(paquete);
                DAO.closeConnection();
                paquetesIds.Add(id);
                j++;
            }

            foreach (int p in pasajesIds)
            {
                Compra_Pasaje cp = new Compra_Pasaje();
                cp.Compra_Id = compra_id;
                cp.Pasaje_Id = p;
                DAO.insert <Compra_Pasaje>(cp);
            }

            foreach (int p in paquetesIds)
            {
                Compra_Paquete cp = new Compra_Paquete();
                cp.Compra_Id  = compra_id;
                cp.Paquete_Id = p;
                DAO.insert <Compra_Paquete>(cp);
            }

            DAO.closeConnection();
            var dr = MessageBox.Show("Pago confirmado con exito. Su PNR es " + compra.PNR + ". Será solicitado en caso de querer efectuar una devolución.", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);

            if (dr == DialogResult.OK)
            {
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
        }
Example #6
0
        private void devolucionButton_Click(object sender, EventArgs e)
        {
            int pasajesCount  = this.pasajesDatagrid.SelectedRows.Count;
            int paquetesCount = this.paquetesDatagrid.SelectedRows.Count;

            if (pasajesCount == 0 && paquetesCount == 0)
            {
                MessageBox.Show("Debe elegir por lo menos un pasaje o una encomienda para iniciar la cancelación.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            DialogResult result = MessageBox.Show(this.buildConfirmMsg(pasajesCount, paquetesCount), "Advertencia", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);

            if (result != DialogResult.OK)
            {
                return;
            }

            DAO.connect();

            DataGridViewRow d   = this.pasajesDatagrid.SelectedRows[0];
            decimal         cod = (decimal)d.Cells[0].Value;
            Pasaje          p   = DAO.selectOne <Pasaje>(new[] { "codigo = " + cod.ToString() });
            Compra_Pasaje   cpp = DAO.selectOne <Compra_Pasaje>(new[] { "pasaje_id = " + p.Id });

            Models.Compra referencia = DAO.selectOne <Models.Compra>(new[] { "id = " + cpp.Compra_Id });

            Cancelacion cancelacion = new Cancelacion();

            cancelacion.Fecha         = Config.SystemConfig.systemDate;
            cancelacion.Motivo        = this.motivoTextbox.Text;
            cancelacion.Numero_Compra = referencia.PNR;
            int cancelacion_id = DAO.insert <Cancelacion>(cancelacion);

            foreach (DataGridViewRow pasaje in this.pasajesDatagrid.SelectedRows)
            {
                decimal codigo           = (decimal)pasaje.Cells[0].Value;
                Pasaje  pasaje_cancelado = DAO.selectOne <Pasaje>(new[] { "codigo = " + codigo.ToString() });

                Cancelacion_Pasaje cp = new Cancelacion_Pasaje();
                cp.Cancelacion_Id = cancelacion_id;
                cp.Pasaje_Id      = pasaje_cancelado.Id;

                pasaje_cancelado.Activo = false;

                DAO.insert <Cancelacion_Pasaje>(cp);
                DAO.update <Pasaje>(pasaje_cancelado);
            }

            foreach (DataGridViewRow paquete in this.paquetesDatagrid.SelectedRows)
            {
                decimal codigo            = (decimal)paquete.Cells[0].Value;
                Paquete paquete_cancelado = DAO.selectOne <Paquete>(new[] { "codigo = " + codigo.ToString() });

                Cancelacion_Paquete cp = new Cancelacion_Paquete();
                cp.Cancelacion_Id = cancelacion_id;
                cp.Paquete_Id     = paquete_cancelado.Id;

                paquete_cancelado.Activo = false;

                DAO.insert <Cancelacion_Paquete>(cp);
                DAO.update <Paquete>(paquete_cancelado);
            }

            DAO.closeConnection();

            MessageBox.Show("Baja concretada.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }