Exemplo n.º 1
0
        private void verificarRetiro()
        {
            string cedula   = textCedulaRetiro.Text;
            long   cantidad = (long)Convert.ToUInt64(textCantidadRetiro.Text);



            //si el integrador no encuentra la cuenta, devuelve un objeto nulo
            cuenta  = Request.getCuenta(Convert.ToInt32(textCuentaRetiro.Text));
            cliente = Request.getCliente(cedula);

            if (cuenta == null)
            {
                setLabelVisibility(labelCuentaErroneaRetiro, true);
                setPicVisibility(loadingPic, false);
            }
            else if (cliente == null)
            {
                setLabelVisibility(labelCedulaErroneaRetiro, true);
                setPicVisibility(loadingPic, false);
            }
            else
            {
                //Las condiciones de estos ifs se deben remplazar por los codigos de error que devolvera el backend
                //si la cedula ingresada no es igual a la de la cuenta recibida
                if (cuenta.CedulaCliente != cedula)
                {
                    setLabelVisibility(personaNoAutorizadaLabel, true);
                    setPicVisibility(loadingPic, false);
                }

                //si la cuenta no tiene balance disponible
                else if (cuenta.Balance < cantidad)
                {
                    setLabelVisibility(balanceNoSuficienteLabel, true);
                    setPicVisibility(loadingPic, false);
                }

                //si todo esta bien, se confirma el retiro
                else
                {
                    setPicVisibility(loadingPic, false);
                    setBtnVisibility(terminarRetirobtn, true);

                    SetText(cliente.Nombre + " " + cliente.Apellido, nombreclienteLabel);
                    SetText(Convert.ToString(cliente.FechaNacimiento.Date.ToString("d")), fechaNacimientoLabel);
                    SetText(cliente.Nacionalidad, nacionalidadLabel);

                    setLabelVisibility(fechaNacimientoFijaLabel, true);
                    setLabelVisibility(nombreClienteFijoLabel, true);
                    setLabelVisibility(nacionalidadFijaLabel, true);
                    setLabelVisibility(infoClienteHeadingLabel, true);

                    setImage(pictureBoxFotoCliente, cliente.FotoPerfil);
                    setPicVisibility(pictureBoxFotoCliente, true);


                    //Cantidad de billetes disponibles
                    papeletasDisponibles = Query.getCash();

                    //Cantidad que la cajera debe devolver de cada uno, en base
                    papeletasDevolver = Helpers.ReturnMoney(Convert.ToInt64(textCantidadRetiro.Text), papeletasDisponibles);

                    //Muestra la distribucion de efectivo
                    mostrarPapeletas(papeletasDevolver);
                    setPicVisibility(pictureBox1, true);
                    setPicVisibility(pictureBox2000, true);
                    setLabelVisibility(devueltaHeadingLabel, true);
                }
            }
        }
Exemplo n.º 2
0
        //Cuando el boton de verificar deposito es clikeado
        private async void btnDeposito_Click(object sender, EventArgs e)
        {
            //at the beginning, nothing is missing
            bool missing = false;

            //Makes sure all warning labels are not visible
            labelCantidadErronea.Visible  = false;
            labelAcumuladoErroneo.Visible = false;
            labelDatosFaltantes.Visible   = false;
            labelDepositoExitoso.Visible  = false;
            labelDepositoProblema.Visible = false;
            labelCedulaErronea.Visible    = false;

            long tempParse;

            //if nothing has been written
            if (textCedula.Text.Equals("") || textCantidad.Text.Equals("") || textCuenta.Text.Equals(""))
            {
                labelDatosFaltantes.Visible = true;
                missing = true;
            }


            //verifica que campos sean numericos
            if (!missing)
            {
                missing = false;

                if (!Int64.TryParse(textCuenta.Text, out tempParse))
                {
                    labelCuentaErronea.Visible = true;
                    missing = true;
                }

                if (!Int64.TryParse(textCedula.Text, out tempParse))
                {
                    labelCedulaErronea.Visible = true;
                    missing = true;
                }

                if ((!Int64.TryParse(textCantidad.Text, out tempParse)))
                {
                    labelCantidadErronea.Visible = true;
                    missing = true;
                }
            }

            //diccionario para colocar la cantidad de papeletas de cada tipo
            papeletas = new Dictionary <int, int>();
            //si no falta nada
            if (!missing)
            {
                missing = false;
                papeletas.Add(1, Convert.ToInt16(papeletasTabla.Rows[0].Cells[0].Value));
                papeletas.Add(5, Convert.ToInt16(papeletasTabla.Rows[0].Cells[1].Value));
                papeletas.Add(10, Convert.ToInt16(papeletasTabla.Rows[0].Cells[2].Value));
                papeletas.Add(20, Convert.ToInt16(papeletasTabla.Rows[0].Cells[3].Value));
                papeletas.Add(25, Convert.ToInt16(papeletasTabla.Rows[0].Cells[4].Value));
                papeletas.Add(50, Convert.ToInt16(papeletasTabla.Rows[0].Cells[5].Value));
                papeletas.Add(100, Convert.ToInt16(papeletasTabla.Rows[0].Cells[6].Value));
                papeletas.Add(200, Convert.ToInt16(papeletasTabla.Rows[0].Cells[7].Value));
                papeletas.Add(500, Convert.ToInt16(papeletasTabla.Rows[0].Cells[8].Value));
                papeletas.Add(1000, Convert.ToInt16(papeletasTabla.Rows[0].Cells[9].Value));
                papeletas.Add(2000, Convert.ToInt16(papeletasTabla.Rows[0].Cells[10].Value));


                //total  de papeletas, acumulador
                int acumuladoPapeleta = 0;
                foreach (KeyValuePair <int, int> i in papeletas)
                {
                    acumuladoPapeleta += i.Value * (i.Key);
                }

                //si la cantidad de papeletas no coincide con cantidad introducida
                if (acumuladoPapeleta != Convert.ToInt16(textCantidad.Text))
                {
                    labelAcumuladoErroneo.Visible = true;
                    missing = true;
                }
            }

            //si llego a este punto y no hay nada faltante y todo concuerda, se procede a hacer el deposito
            if (!missing)
            {
                //Starts loading
                loadingPic.Visible = true;

                //Atributos del objeto
                long   monto    = Convert.ToInt64(textCantidad.Text);
                int    cuentaId = Convert.ToInt16(textCuenta.Text);
                string cedula   = textCedula.Text;
                string concepto = textConcepto.Text;

                //Primero objeto cuenta, hace llamada asincrona
                cuenta = await getCuentaAsync(cuentaId);

                //si la cuenta no existe
                if (cuenta == null)
                {
                    labelCuentaErronea.Visible = true;
                }
                else
                {
                    //Shows info about the account
                    //Sets heading visible
                    labelInfoCuentaHeading.Visible     = true;
                    labelBalanceFija.Visible           = true;
                    labelMonedaFija.Visible            = true;
                    labelTipoCuentaFijo.Visible        = true;
                    labelCedulaPropietarioFijo.Visible = true;


                    labelMoneda.Text    = cuenta.Moneda;
                    labelMoneda.Visible = true;

                    labelBalance.Text              = "RD$" + Convert.ToString(cuenta.Balance);
                    labelBalance.Visible           = true;
                    labelCedulaPropietario.Text    = cuenta.CedulaCliente;
                    labelCedulaPropietario.Visible = true;
                    labelTipoCuenta.Text           = Convert.ToString(cuenta.Tipo);
                    labelTipoCuenta.Visible        = true;

                    //Boton para terminar el deposito, ya que se verifico que todo esta correcto
                    btnTerminarDeposito.Visible = true;
                }

                //Se termina el loading
                loadingPic.Visible = false;
            }
        }