예제 #1
0
        /// <summary>
        /// Leer los montos remanentes del AS400.
        /// </summary>
        private void leerRemanentesAS400()
        {
            try
            {
                _remanentes.Clear();

                DataTable datos = _coordinacion.listarRemanentesATMsCompletos();
                BindingList <MontoRemanenteATM> listita = new BindingList <MontoRemanenteATM>();

                DateTime fecha = DateTime.Now;

                foreach (DataRow fila in datos.Rows)
                {
                    MontoRemanenteATM monto = new MontoRemanenteATM();

                    monto.ATM = new CommonObjects.ATM();


                    // Asignar el ATM
                    string idatm = fila["CAJLNO"].ToString();
                    short  nuevito;
                    nuevito  = short.Parse(idatm);
                    monto.ID = nuevito;

                    //string valor_numero_atm = (string)fila["CAJLNO"];

                    //short numero_atm = short.Parse(valor_numero_atm);


                    // Asignar las fechas actuales y de ultima transaccion
                    decimal decimalito      = (decimal)fila["CAJPFA"];
                    decimal decimalitofinal = (decimal)fila["CAJFUT"];
                    monto.Localizacion = (string)fila["CAJLOC"];

                    string nuevafecha = System.Convert.ToString(decimalito);
                    string fechafinal = System.Convert.ToString(decimalitofinal);

                    bool fechaactual = nuevafecha.Equals("0");
                    bool fechafinalb = fechafinal.Equals("0");



                    if (fechaactual != true && fechafinalb != true)
                    {
                        string cambio = nuevafecha.Insert(4, "/");
                        nuevafecha = cambio.Insert(7, "/");

                        cambio     = fechafinal.Insert(4, "/");
                        fechafinal = cambio.Insert(7, "/");
                    }
                    else
                    {
                        nuevafecha = "01/01/0001";
                        fechafinal = "01/01/0001";
                    }
                    monto.FechaActual            = Convert.ToDateTime(nuevafecha);
                    monto.FechaUltimaTransaccion = Convert.ToDateTime(fechafinal);
                    CommonObjects.ATM atm = new CommonObjects.ATM(numero: nuevito);
                    _mantenimiento.obtenerDatosATM(ref atm);

                    string codigos = (string)fila["CAJCDI"];
                    RegistroRemanentesATM nuevo = new RegistroRemanentesATM(atm: atm, fecha: fecha);
                    this.leerCantidadRemanenteCartucho(codigos[0].ToString(), (decimal)fila["CAJCB1"], nuevo, 1);
                    this.leerCantidadRemanenteCartucho(codigos[1].ToString(), (decimal)fila["CAJCB2"], nuevo, 2);
                    this.leerCantidadRemanenteCartucho(codigos[2].ToString(), (decimal)fila["CAJCB3"], nuevo, 3);
                    this.leerCantidadRemanenteCartucho(codigos[3].ToString(), (decimal)fila["CAJCB4"], nuevo, 4);


                    Denominacion denominaciong1 = new Denominacion(codigo: codigos[0].ToString().ToUpper());
                    Denominacion denominaciong2 = new Denominacion(codigo: codigos[1].ToString().ToUpper());
                    Denominacion denominaciong3 = new Denominacion(codigo: codigos[2].ToString().ToUpper());
                    Denominacion denominaciong4 = new Denominacion(codigo: codigos[3].ToString().ToUpper());


                    // Obtencion de las denominaciones con sus respectivos valores.

                    Denominacion dtotalgaveta1 = _mantenimiento.ObtenerValorDenominacionCodigo(ref denominaciong1);
                    Denominacion dtotalgaveta2 = _mantenimiento.ObtenerValorDenominacionCodigo(ref denominaciong2);
                    Denominacion dtotalgaveta3 = _mantenimiento.ObtenerValorDenominacionCodigo(ref denominaciong3);
                    Denominacion dtotalgaveta4 = _mantenimiento.ObtenerValorDenominacionCodigo(ref denominaciong4);


                    _mantenimiento.verificarDenominacionCodigo(ref denominaciong1);
                    _mantenimiento.verificarDenominacionCodigo(ref denominaciong2);
                    _mantenimiento.verificarDenominacionCodigo(ref denominaciong3);
                    _mantenimiento.verificarDenominacionCodigo(ref denominaciong4);

                    monto.Montog1 = dtotalgaveta1.Valor * (decimal)fila["CAJCB1"];
                    monto.Montog2 = dtotalgaveta2.Valor * (decimal)fila["CAJCB2"];
                    monto.Montog3 = dtotalgaveta3.Valor * (decimal)fila["CAJCB3"];
                    monto.Montog4 = dtotalgaveta4.Valor * (decimal)fila["CAJCB4"];



                    monto.Denominacion1 = Decimal.Floor(dtotalgaveta1.Valor);
                    monto.Denominacion2 = Decimal.Floor(dtotalgaveta2.Valor);
                    monto.Denominacion3 = Decimal.Floor(dtotalgaveta3.Valor);
                    monto.Denominacion4 = Decimal.Floor(dtotalgaveta4.Valor);

                    if (monto.Denominacion1 != 20)
                    {
                        monto.MontoTotalColones += monto.Montog1;
                    }
                    else
                    {
                        monto.MontoTotalDolares += monto.Montog1;
                    }
                    if (monto.Denominacion2 != 20)
                    {
                        monto.MontoTotalColones += monto.Montog2;
                    }
                    else
                    {
                        monto.MontoTotalDolares += monto.Montog2;
                    }
                    if (monto.Denominacion3 != 20)
                    {
                        monto.MontoTotalColones += monto.Montog3;
                    }
                    else
                    {
                        monto.MontoTotalDolares += monto.Montog3;
                    }
                    if (monto.Denominacion4 != 20)
                    {
                        monto.MontoTotalColones += monto.Montog4;
                    }
                    else
                    {
                        monto.MontoTotalDolares += monto.Montog4;
                    }


                    //if (denominacion.ID_Valido)
                    //{
                    //    short cantidad_remanente = (short)remanente;
                    //    MontoRemanenteATM monto = new MontoRemanenteATM(denominacion, cantidad_remanente, posicion);

                    //    registro.agregarMonto(monto);
                    //}

                    listita.Add(monto);
                    _remanentes.Add(monto);
                    //CommonObjects.ATM atm = new CommonObjects.ATM(numero: nuevito);

                    //_mantenimiento.obtenerDatosATM(ref atm);

                    //if (atm.ID_Valido)
                    //{
                    //    RegistroRemanentesATM nuevo = new RegistroRemanentesATM(atm: atm, fecha: fecha);

                    //    // Asignar los remanentes de los cartuchos

                    //    string codigos = (string)fila["CAJCDI"];

                    //    this.leerCantidadRemanenteCartucho(codigos[0].ToString(), (decimal)fila["CAJCB1"], nuevo, 1);
                    //    this.leerCantidadRemanenteCartucho(codigos[1].ToString(), (decimal)fila["CAJCB2"], nuevo, 2);
                    //    this.leerCantidadRemanenteCartucho(codigos[2].ToString(), (decimal)fila["CAJCB3"], nuevo, 3);
                    //    this.leerCantidadRemanenteCartucho(codigos[3].ToString(), (decimal)fila["CAJCB4"], nuevo, 4);

                    //    _remanentes.Add(nuevo);
                    //}
                }

                dgvMontos.DataSource = listita;
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }