Exemplo n.º 1
0
        /// <summary>
        /// Verificar si existe un cierre para un cajero  y un digitador dados.
        /// </summary>
        /// <param name="c">Objeto CierreCEF con los datos del cierre a verificar</param>
        /// <returns>Valor que indica si el cierre existe</returns>
        public bool verificarCierre(ref CierreCEF c)
        {
            bool existe = false;

            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectExisteCierre");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@cajero", c.Cajero, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@digitador", c.Digitador, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@fecha", c.Fecha, SqlDbType.Date);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                if (datareader.Read())
                {
                    int id = (int)datareader["pk_ID"];

                    existe = id != c.ID;

                    c.ID = id;
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorVerificarCierreDuplicado");
            }

            return(existe);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Obtener una lista de los cierres registrados en determinada fecha.
        /// </summary>
        /// <param name="f">Fecha para la cual se genera la lista</param>
        /// <returns>Lista de cierres registrados en la fecha dada</returns>
        public BindingList <CierreCEF> listarCierres(DateTime f)
        {
            BindingList <CierreCEF> cierres = new BindingList <CierreCEF>();

            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectCierres");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@fecha", f, SqlDbType.Date);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int    id_cajero               = (int)datareader["ID_Cajero"];
                    string nombre_cajero           = (string)datareader["Nombre_Cajero"];
                    string primer_apellido_cajero  = (string)datareader["Primer_Apellido_Cajero"];
                    string segundo_apellido_cajero = (string)datareader["Segundo_Apellido_Cajero"];

                    int    id_digitador               = (int)datareader["ID_Digitador"];
                    string nombre_digitador           = (string)datareader["Nombre_Digitador"];
                    string primer_apellido_digitador  = (string)datareader["Primer_Apellido_Digitador"];
                    string segundo_apellido_digitador = (string)datareader["Segundo_Apellido_Digitador"];

                    Colaborador cajero = new Colaborador(id_cajero, nombre_cajero,
                                                         primer_apellido_cajero,
                                                         segundo_apellido_cajero);
                    Colaborador digitador = new Colaborador(id_digitador, nombre_digitador,
                                                            primer_apellido_digitador,
                                                            segundo_apellido_digitador);
                    CierreCEF cierre = new CierreCEF(fecha: f, cajero: cajero, digitador: digitador);

                    cierres.Add(cierre);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }

            return(cierres);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Obtener las inconsistencias ligadas al cierre de un cajero y un digitador del CEF.
        /// </summary>
        /// <param name="c">Objeto CierreCEF con los datos del cierre para el cual se obtienen las inconsistencias</param>
        public BindingList <InconsistenciaDeposito> obtenerInconsistenciasCierre(CierreCEF c)
        {
            BindingList <InconsistenciaDeposito> inconsistencias = new BindingList <InconsistenciaDeposito>();
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectCierreCEFInconsistencias");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@cajero", c.Cajero, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@digitador", c.Digitador, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@fecha", c.Fecha, SqlDbType.Date);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int     id = (int)datareader["pk_ID"];
                    decimal diferencia_colones = (decimal)datareader["Diferencia_Colones"];
                    decimal diferencia_dolares = (decimal)datareader["Diferencia_Dolares"];

                    decimal diferencia_euros = 0;

                    if (datareader["Diferencia_Euros"] != DBNull.Value)
                    {
                        diferencia_euros = (decimal)datareader["Diferencia_Euros"];
                    }

                    InconsistenciaDeposito inconsistencia =
                        new InconsistenciaDeposito(id, diferencia_colones, diferencia_dolares, diferencia_euros);

                    inconsistencias.Add(inconsistencia);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }

            return(inconsistencias);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Escribir un cierre en el reporte de cierres.
        /// </summary>
        private void escribirCierre(CierreCEF cierre, Documento documento, int posicion, string colaborador)
        {
            decimal compra_dolares_colones = cierre.Compra_dolares * _tipo_cambio.Compra;
            decimal venta_dolares_dolares  = Math.Round(cierre.Venta_dolares / _tipo_cambio.Venta, 2);

            // Calculo de los montos en colones

            decimal diferencia_colones = cierre.Ingreso_clientes_colones - cierre.Reporte_cajero_colones;

            decimal saldo_cierre_colones = cierre.Ingreso_clientes_colones + cierre.Saldo_dia_anterior_colones + cierre.Otros_ingresos_colones -
                                           cierre.Otros_egresos_colones - cierre.Cheques_locales_colones - cierre.Cheques_exterior_colones -
                                           cierre.Cheques_bac_colones - cierre.Salidas_niquel_colones - cierre.Niquel_pendiente_colones -
                                           cierre.Entregas_boveda_colones - cierre.Entregas_pendientes_colones - compra_dolares_colones +
                                           cierre.Venta_dolares - cierre.Faltante_clientes_colones + cierre.Sobrante_clientes_colones -
                                           cierre.Faltante_quinientos_colones + cierre.Sobrante_quinientos_colones;

            decimal faltante_sobrante_colones = saldo_cierre_colones - cierre.Efectivo_cajero_colones;

            // Calculo de los montos en dolares

            decimal diferencia_dolares = cierre.Ingreso_clientes_dolares - cierre.Reporte_cajero_dolares;

            decimal saldo_cierre_dolares = cierre.Ingreso_clientes_dolares + cierre.Saldo_dia_anterior_dolares + cierre.Otros_ingresos_dolares -
                                           cierre.Otros_egresos_dolares - cierre.Cheques_locales_dolares - cierre.Cheques_exterior_dolares -
                                           cierre.Cheques_bac_dolares - cierre.Salidas_niquel_dolares - cierre.Niquel_pendiente_dolares -
                                           cierre.Entregas_boveda_dolares - cierre.Entregas_pendientes_dolares + cierre.Compra_dolares -
                                           venta_dolares_dolares - cierre.Faltante_clientes_dolares + cierre.Sobrante_clientes_dolares -
                                           cierre.Faltante_quinientos_dolares + cierre.Sobrante_quinientos_dolares;

            decimal faltante_sobrante_dolares = saldo_cierre_dolares - cierre.Efectivo_cajero_dolares;

            // Dar formato a la hoja

            documento.seleccionarCelda(5, posicion);
            documento.actualizarValorCelda(colaborador);
            documento.formatoCelda(negrita: true, color_fuente: Color.Red, color_fondo: Color.LightGray);
            documento.seleccionarSegundaCelda(5, posicion + 1);
            documento.ajustarCeldas(AlineacionHorizontal.Centro);
            documento.formatoTabla(false);

            documento.seleccionarCelda(6, posicion);
            documento.seleccionarSegundaCelda(34, posicion + 1);
            documento.formatoTabla(false);

            documento.seleccionarCelda(6, posicion);
            documento.actualizarValorCelda("Colones");
            documento.formatoCelda(negrita: true, color_fondo: Color.LightGray);
            documento.cambiarTamanoColumna(20);

            documento.seleccionarCelda(6, posicion + 1);
            documento.actualizarValorCelda("Dolares");
            documento.formatoCelda(negrita: true, color_fondo: Color.LightGray);
            documento.cambiarTamanoColumna(20);

            // Escribir los valores en el excel

            documento.seleccionarCelda(7, posicion);
            documento.actualizarValorCelda(cierre.Manifiestos.ToString("N0"));

            documento.seleccionarCelda(8, posicion);
            documento.actualizarValorCelda(cierre.Tulas.ToString("N0"));

            documento.seleccionarCelda(9, posicion);
            documento.actualizarValorCelda(cierre.Depositos.ToString("N0"));

            documento.seleccionarCelda(10, posicion);
            documento.actualizarValorCelda(cierre.Cheques.ToString("N0"));

            documento.seleccionarCelda(11, posicion);
            documento.actualizarValorCelda(cierre.Sobres.ToString("N0"));

            documento.seleccionarCelda(12, posicion);
            documento.actualizarValorCelda(cierre.Disconformidades.ToString("N0"));

            // Colones

            documento.seleccionarCelda(13, posicion);
            documento.actualizarValorCelda(cierre.Ingreso_clientes_colones.ToString("N2"));

            documento.seleccionarCelda(14, posicion);
            documento.actualizarValorCelda(cierre.Reporte_cajero_colones.ToString("N2"));

            documento.seleccionarCelda(15, posicion);
            documento.actualizarValorCelda(diferencia_colones.ToString("N2"));

            documento.seleccionarCelda(16, posicion);
            documento.actualizarValorCelda(cierre.Saldo_dia_anterior_colones.ToString("N2"));

            documento.seleccionarCelda(17, posicion);
            documento.actualizarValorCelda(cierre.Otros_ingresos_colones.ToString("N2"));

            documento.seleccionarCelda(18, posicion);
            documento.actualizarValorCelda(cierre.Otros_egresos_colones.ToString("N2"));

            documento.seleccionarCelda(19, posicion);
            documento.actualizarValorCelda(cierre.Cheques_locales_colones.ToString("N2"));

            documento.seleccionarCelda(20, posicion);
            documento.actualizarValorCelda(cierre.Cheques_exterior_colones.ToString("N2"));

            documento.seleccionarCelda(21, posicion);
            documento.actualizarValorCelda(cierre.Cheques_bac_colones.ToString("N2"));

            documento.seleccionarCelda(22, posicion);
            documento.actualizarValorCelda(cierre.Salidas_niquel_colones.ToString("N2"));

            documento.seleccionarCelda(23, posicion);
            documento.actualizarValorCelda(cierre.Niquel_pendiente_colones.ToString("N2"));

            documento.seleccionarCelda(24, posicion);
            documento.actualizarValorCelda(cierre.Entregas_boveda_colones.ToString("N2"));

            documento.seleccionarCelda(25, posicion);
            documento.actualizarValorCelda(cierre.Entregas_pendientes_colones.ToString("N2"));

            documento.seleccionarCelda(26, posicion);
            documento.actualizarValorCelda(cierre.Faltante_clientes_colones.ToString("N2"));

            documento.seleccionarCelda(27, posicion);
            documento.actualizarValorCelda(cierre.Sobrante_clientes_colones.ToString("N2"));

            documento.seleccionarCelda(28, posicion);
            documento.actualizarValorCelda(cierre.Faltante_quinientos_colones.ToString("N2"));

            documento.seleccionarCelda(29, posicion);
            documento.actualizarValorCelda(cierre.Sobrante_quinientos_colones.ToString("N2"));

            documento.seleccionarCelda(30, posicion);
            documento.actualizarValorCelda(cierre.Efectivo_cajero_colones.ToString("N2"));

            documento.seleccionarCelda(31, posicion);
            documento.actualizarValorCelda(compra_dolares_colones.ToString("N2"));

            documento.seleccionarCelda(32, posicion);
            documento.actualizarValorCelda(cierre.Venta_dolares.ToString("N2"));

            documento.seleccionarCelda(33, posicion);
            documento.actualizarValorCelda(saldo_cierre_colones.ToString("N2"));

            documento.seleccionarCelda(34, posicion);
            documento.actualizarValorCelda(faltante_sobrante_colones.ToString("N2"));

            // Dolares

            documento.seleccionarCelda(13, posicion + 1);
            documento.actualizarValorCelda(cierre.Ingreso_clientes_dolares.ToString("N2"));

            documento.seleccionarCelda(14, posicion + 1);
            documento.actualizarValorCelda(cierre.Reporte_cajero_dolares.ToString("N2"));

            documento.seleccionarCelda(15, posicion + 1);
            documento.actualizarValorCelda(diferencia_dolares.ToString("N2"));


            documento.seleccionarCelda(16, posicion + 1);
            documento.actualizarValorCelda(cierre.Saldo_dia_anterior_dolares.ToString("N2"));

            documento.seleccionarCelda(17, posicion + 1);
            documento.actualizarValorCelda(cierre.Otros_ingresos_dolares.ToString("N2"));

            documento.seleccionarCelda(18, posicion + 1);
            documento.actualizarValorCelda(cierre.Otros_egresos_dolares.ToString("N2"));

            documento.seleccionarCelda(19, posicion + 1);
            documento.actualizarValorCelda(cierre.Cheques_locales_dolares.ToString("N2"));

            documento.seleccionarCelda(20, posicion + 1);
            documento.actualizarValorCelda(cierre.Cheques_exterior_dolares.ToString("N2"));

            documento.seleccionarCelda(21, posicion + 1);
            documento.actualizarValorCelda(cierre.Cheques_bac_dolares.ToString("N2"));

            documento.seleccionarCelda(22, posicion + 1);
            documento.actualizarValorCelda(cierre.Salidas_niquel_dolares.ToString("N2"));

            documento.seleccionarCelda(23, posicion + 1);
            documento.actualizarValorCelda(cierre.Niquel_pendiente_dolares.ToString("N2"));

            documento.seleccionarCelda(24, posicion + 1);
            documento.actualizarValorCelda(cierre.Entregas_boveda_dolares.ToString("N2"));

            documento.seleccionarCelda(25, posicion + 1);
            documento.actualizarValorCelda(cierre.Entregas_pendientes_dolares.ToString("N2"));

            documento.seleccionarCelda(26, posicion + 1);
            documento.actualizarValorCelda(cierre.Faltante_clientes_dolares.ToString("N2"));

            documento.seleccionarCelda(27, posicion + 1);
            documento.actualizarValorCelda(cierre.Sobrante_clientes_dolares.ToString("N2"));

            documento.seleccionarCelda(28, posicion + 1);
            documento.actualizarValorCelda(cierre.Faltante_quinientos_dolares.ToString("N2"));

            documento.seleccionarCelda(29, posicion + 1);
            documento.actualizarValorCelda(cierre.Sobrante_quinientos_dolares.ToString("N2"));

            documento.seleccionarCelda(30, posicion + 1);
            documento.actualizarValorCelda(cierre.Efectivo_cajero_dolares.ToString("N2"));

            documento.seleccionarCelda(31, posicion + 1);
            documento.actualizarValorCelda(cierre.Compra_dolares.ToString("N2"));

            documento.seleccionarCelda(32, posicion + 1);
            documento.actualizarValorCelda(venta_dolares_dolares.ToString("N2"));

            documento.seleccionarCelda(33, posicion + 1);
            documento.actualizarValorCelda(saldo_cierre_dolares.ToString("N2"));

            documento.seleccionarCelda(34, posicion + 1);
            documento.actualizarValorCelda(faltante_sobrante_dolares.ToString("N2"));
        }
Exemplo n.º 5
0
        /// <summary>
        /// Exportar los datos.
        /// </summary>
        private void exportar()
        {
            try
            {
                DocumentoExcel documento   = new DocumentoExcel();
                Colaborador    coordinador = (Colaborador)cboCoordinador.SelectedItem;

                documento.seleccionarHoja(1);

                BindingList <CierreCEF> cierres = rbImpresionCajero.Checked ?
                                                  cierres                     = _coordinacion.listarCierresCajerosCoordinador(_fecha, coordinador) :
                                                                      cierres = _coordinacion.listarCierresDigitadoresCoordinador(_fecha, coordinador);

                if (cierres.Count == 0)
                {
                    return;
                }

                CierreCEF consolidado = new CierreCEF();

                // Escribir los encabezados

                documento.seleccionarCelda("B7");
                documento.actualizarValorCelda("Manifiestos");

                documento.seleccionarCelda("B8");
                documento.actualizarValorCelda("Tulas");

                documento.seleccionarCelda("B9");
                documento.actualizarValorCelda("Depositos");

                documento.seleccionarCelda("B10");
                documento.actualizarValorCelda("Cheques");

                documento.seleccionarCelda("B11");
                documento.actualizarValorCelda("Sobres");

                documento.seleccionarCelda("B12");
                documento.actualizarValorCelda("Disconformidades");

                documento.seleccionarCelda("B13");
                documento.actualizarValorCelda("Ingreso Clientes");

                documento.seleccionarCelda("B14");
                documento.actualizarValorCelda("Reporte Cajero");

                documento.seleccionarCelda("B15");
                documento.actualizarValorCelda("Diferencia");

                documento.seleccionarCelda("B16");
                documento.actualizarValorCelda("Saldo Día Anterior");

                documento.seleccionarCelda("B17");
                documento.actualizarValorCelda("Otros Ingresos");

                documento.seleccionarCelda("B18");
                documento.actualizarValorCelda("Otros Egresos");

                documento.seleccionarCelda("B19");
                documento.actualizarValorCelda("Cheques Locales");

                documento.seleccionarCelda("B20");
                documento.actualizarValorCelda("Cheques del Exterior");

                documento.seleccionarCelda("B21");
                documento.actualizarValorCelda("Cheques del BAC");

                documento.seleccionarCelda("B22");
                documento.actualizarValorCelda("Salidas de Niquel");

                documento.seleccionarCelda("B23");
                documento.actualizarValorCelda("Niquel Pendiente");

                documento.seleccionarCelda("B24");
                documento.actualizarValorCelda("Entregas de Boveda");

                documento.seleccionarCelda("B25");
                documento.actualizarValorCelda("Entregas Pendiente");

                documento.seleccionarCelda("B26");
                documento.actualizarValorCelda("Faltante Clientes");

                documento.seleccionarCelda("B27");
                documento.actualizarValorCelda("Sobrante Clientes");

                documento.seleccionarCelda("B28");
                documento.actualizarValorCelda("Faltante Menores 500");

                documento.seleccionarCelda("B29");
                documento.actualizarValorCelda("Sobrante Menores 500");

                documento.seleccionarCelda("B30");
                documento.actualizarValorCelda("Efectivo Cajero");

                documento.seleccionarCelda("B31");
                documento.actualizarValorCelda("Compra de Dolares");

                documento.seleccionarCelda("B32");
                documento.actualizarValorCelda("Venta de Dolares");

                documento.seleccionarCelda("B33");
                documento.actualizarValorCelda("Saldo Cierre");

                documento.seleccionarCelda("B34");
                documento.actualizarValorCelda("Faltante Sobrante");

                int posicion = 3;

                foreach (CierreCEF cierre in cierres)
                {
                    CierreCEF copia = cierre;

                    if (rbImpresionCajero.Checked)
                    {
                        _coordinacion.obtenerDatosCierreCajero(ref copia);
                        this.escribirCierre(cierre, documento, posicion, cierre.Cajero.ToString());
                    }
                    else
                    {
                        _coordinacion.obtenerDatosCierreDigitador(ref copia);
                        this.escribirCierre(cierre, documento, posicion, cierre.Digitador.ToString());
                    }

                    posicion += 2;

                    consolidado.Manifiestos += cierre.Manifiestos;
                    consolidado.Tulas       += cierre.Tulas;
                    consolidado.Depositos   += cierre.Depositos;

                    consolidado.Cheques          += cierre.Cheques;
                    consolidado.Sobres           += cierre.Sobres;
                    consolidado.Disconformidades += cierre.Cheques;

                    consolidado.Ingreso_clientes_colones    += cierre.Ingreso_clientes_colones;
                    consolidado.Reporte_cajero_colones      += cierre.Reporte_cajero_colones;
                    consolidado.Saldo_dia_anterior_colones  += cierre.Saldo_dia_anterior_colones;
                    consolidado.Otros_ingresos_colones      += cierre.Otros_ingresos_colones;
                    consolidado.Otros_egresos_colones       += cierre.Otros_egresos_colones;
                    consolidado.Cheques_locales_colones     += cierre.Cheques_locales_colones;
                    consolidado.Cheques_exterior_colones    += cierre.Cheques_exterior_colones;
                    consolidado.Cheques_bac_colones         += cierre.Cheques_bac_colones;
                    consolidado.Salidas_niquel_colones      += cierre.Salidas_niquel_colones;
                    consolidado.Niquel_pendiente_colones    += cierre.Niquel_pendiente_colones;
                    consolidado.Entregas_boveda_colones     += cierre.Entregas_boveda_colones;
                    consolidado.Entregas_pendientes_colones += cierre.Entregas_pendientes_colones;
                    consolidado.Faltante_clientes_colones   += cierre.Faltante_clientes_colones;
                    consolidado.Sobrante_clientes_colones   += cierre.Sobrante_clientes_colones;
                    consolidado.Faltante_quinientos_colones += cierre.Faltante_quinientos_colones;
                    consolidado.Sobrante_quinientos_colones += cierre.Sobrante_quinientos_colones;
                    consolidado.Efectivo_cajero_colones     += cierre.Efectivo_cajero_colones;

                    consolidado.Ingreso_clientes_dolares    += cierre.Ingreso_clientes_dolares;
                    consolidado.Reporte_cajero_dolares      += cierre.Reporte_cajero_dolares;
                    consolidado.Saldo_dia_anterior_dolares  += cierre.Saldo_dia_anterior_dolares;
                    consolidado.Otros_ingresos_dolares      += cierre.Otros_ingresos_dolares;
                    consolidado.Otros_egresos_dolares       += cierre.Otros_egresos_dolares;
                    consolidado.Cheques_locales_dolares     += cierre.Cheques_locales_dolares;
                    consolidado.Cheques_exterior_dolares    += cierre.Cheques_exterior_dolares;
                    consolidado.Cheques_bac_dolares         += cierre.Cheques_bac_dolares;
                    consolidado.Salidas_niquel_dolares      += cierre.Salidas_niquel_dolares;
                    consolidado.Niquel_pendiente_dolares    += cierre.Niquel_pendiente_dolares;
                    consolidado.Entregas_boveda_dolares     += cierre.Entregas_boveda_dolares;
                    consolidado.Entregas_pendientes_dolares += cierre.Entregas_pendientes_dolares;
                    consolidado.Faltante_clientes_dolares   += cierre.Faltante_clientes_dolares;
                    consolidado.Sobrante_clientes_dolares   += cierre.Sobrante_clientes_dolares;
                    consolidado.Faltante_quinientos_dolares += cierre.Faltante_quinientos_dolares;
                    consolidado.Sobrante_quinientos_dolares += cierre.Sobrante_quinientos_dolares;
                    consolidado.Efectivo_cajero_dolares     += cierre.Efectivo_cajero_dolares;

                    consolidado.Compra_dolares += cierre.Compra_dolares;
                    consolidado.Venta_dolares  += cierre.Venta_dolares;
                }

                // Escribir el consolidado y dar formato a la tabla

                this.escribirCierre(consolidado, documento, posicion, "Consolidado");

                posicion++;

                documento.seleccionarCelda("B2");
                documento.actualizarValorCelda("Coordinador: " + coordinador.ToString());
                documento.seleccionarSegundaCelda("D2");
                documento.ajustarCeldas(AlineacionHorizontal.Centro);

                documento.seleccionarCelda("B3");
                documento.actualizarValorCelda("Fecha: " + _fecha.ToShortDateString());
                documento.seleccionarSegundaCelda("D3");
                documento.ajustarCeldas(AlineacionHorizontal.Centro);

                documento.seleccionarCelda("B2");
                documento.seleccionarSegundaCelda("D3");
                documento.formatoCelda(color_fondo: Color.LightGray);
                documento.formatoTabla(false);

                documento.seleccionarCelda("B1");
                documento.cambiarTamanoColumna(20);

                documento.seleccionarCelda("B7");
                documento.seleccionarSegundaCelda("B34");
                documento.formatoCelda(negrita: true, color_fondo: Color.LightGray);
                documento.formatoTabla(false);

                documento.seleccionarCelda("B7");
                documento.seleccionarSegundaCelda(12, posicion);
                documento.formatoTabla(false);

                documento.seleccionarCelda("B13");
                documento.seleccionarSegundaCelda(15, posicion);
                documento.formatoTabla(false);

                documento.seleccionarCelda("B16");
                documento.seleccionarSegundaCelda(30, posicion);
                documento.formatoTabla(false);

                documento.seleccionarCelda("B31");
                documento.seleccionarSegundaCelda(32, posicion);
                documento.formatoTabla(false);

                documento.mostrar();
                documento.cerrar();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Actualizar los datos del cierre.
        /// </summary>
        private void actualizarCierre()
        {
            try
            {
                DateTime   fecha       = dtpFecha.Value;
                TipoCambio tipo_cambio = _mantenimiento.obtenerTipoCambio(fecha);
                CierreCEF  cierre      = new CierreCEF();

                if (tipo_cambio != null && cboCoordinador.SelectedItem != null &&
                    (!chkCajero.Checked || cboCajero.SelectedItem != null))
                {
                    Colaborador coordinador = (Colaborador)cboCoordinador.SelectedItem;
                    Colaborador cajero      = chkCajero.Checked ? (Colaborador)cboCajero.SelectedItem : null;

                    cierre = new CierreCEF(fecha: fecha, cajero: cajero, digitador: _digitador, coordinador: coordinador);

                    if (chkCajero.Checked)
                    {
                        _coordinacion.obtenerDatosCierre(ref cierre);
                    }
                    else
                    {
                        _coordinacion.obtenerDatosCierreDigitador(ref cierre);
                    }

                    // Mostrar los manifiestos y los montos por clientes

                    dgvManifiestos.DataSource    = _coordinacion.listarManifiestosDigitador(_digitador, fecha);
                    dgvMontosClientes.DataSource = _coordinacion.listarMontosClientesDigitadorCierre(_digitador, fecha);

                    dgvCierre[MontoColones.Index, 0].Value = cierre.Manifiestos;
                    dgvCierre[MontoColones.Index, 1].Value = cierre.Tulas;
                    dgvCierre[MontoColones.Index, 2].Value = cierre.Depositos;

                    dgvCierre[MontoColones.Index, 3].Value = cierre.Cheques;
                    dgvCierre[MontoColones.Index, 4].Value = cierre.Sobres;
                    dgvCierre[MontoColones.Index, 5].Value = cierre.Disconformidades;

                    dgvCierre[MontoColones.Index, 7].Value  = cierre.Ingreso_clientes_colones;
                    dgvCierre[MontoColones.Index, 8].Value  = cierre.Reporte_cajero_colones;
                    dgvCierre[MontoColones.Index, 11].Value = cierre.Saldo_dia_anterior_colones;
                    dgvCierre[MontoColones.Index, 12].Value = cierre.Otros_ingresos_colones;
                    dgvCierre[MontoColones.Index, 13].Value = cierre.Otros_egresos_colones;
                    dgvCierre[MontoColones.Index, 14].Value = cierre.Cheques_locales_colones;
                    dgvCierre[MontoColones.Index, 15].Value = cierre.Cheques_exterior_colones;
                    dgvCierre[MontoColones.Index, 16].Value = cierre.Cheques_bac_colones;
                    dgvCierre[MontoColones.Index, 17].Value = cierre.Salidas_niquel_colones;
                    dgvCierre[MontoColones.Index, 18].Value = cierre.Niquel_pendiente_colones;
                    dgvCierre[MontoColones.Index, 19].Value = cierre.Entregas_boveda_colones;
                    dgvCierre[MontoColones.Index, 20].Value = cierre.Entregas_pendientes_colones;
                    dgvCierre[MontoColones.Index, 21].Value = cierre.Faltante_clientes_colones;
                    dgvCierre[MontoColones.Index, 22].Value = cierre.Sobrante_clientes_colones;
                    dgvCierre[MontoColones.Index, 23].Value = cierre.Faltante_quinientos_colones;
                    dgvCierre[MontoColones.Index, 24].Value = cierre.Sobrante_quinientos_colones;
                    dgvCierre[MontoColones.Index, 25].Value = cierre.Efectivo_cajero_colones;

                    dgvCierre[MontoDolares.Index, 7].Value  = cierre.Ingreso_clientes_dolares;
                    dgvCierre[MontoDolares.Index, 8].Value  = cierre.Reporte_cajero_dolares;
                    dgvCierre[MontoDolares.Index, 11].Value = cierre.Saldo_dia_anterior_dolares;
                    dgvCierre[MontoDolares.Index, 12].Value = cierre.Otros_ingresos_dolares;
                    dgvCierre[MontoDolares.Index, 13].Value = cierre.Otros_egresos_dolares;
                    dgvCierre[MontoDolares.Index, 14].Value = cierre.Cheques_locales_dolares;
                    dgvCierre[MontoDolares.Index, 15].Value = cierre.Cheques_exterior_dolares;
                    dgvCierre[MontoDolares.Index, 16].Value = cierre.Cheques_bac_dolares;
                    dgvCierre[MontoDolares.Index, 17].Value = cierre.Salidas_niquel_dolares;
                    dgvCierre[MontoDolares.Index, 18].Value = cierre.Niquel_pendiente_dolares;
                    dgvCierre[MontoDolares.Index, 19].Value = cierre.Entregas_boveda_dolares;
                    dgvCierre[MontoDolares.Index, 20].Value = cierre.Entregas_pendientes_dolares;
                    dgvCierre[MontoDolares.Index, 21].Value = cierre.Faltante_clientes_dolares;
                    dgvCierre[MontoDolares.Index, 22].Value = cierre.Sobrante_clientes_dolares;
                    dgvCierre[MontoDolares.Index, 23].Value = cierre.Faltante_quinientos_dolares;
                    dgvCierre[MontoDolares.Index, 24].Value = cierre.Sobrante_quinientos_dolares;
                    dgvCierre[MontoDolares.Index, 25].Value = cierre.Efectivo_cajero_dolares;



                    dgvCierre[clmMontoEuros.Index, 7].Value  = cierre.Ingreso_clientes_euros;
                    dgvCierre[clmMontoEuros.Index, 8].Value  = cierre.Reporte_cajero_euros;
                    dgvCierre[clmMontoEuros.Index, 11].Value = cierre.Saldo_dia_anterior_euros;
                    dgvCierre[clmMontoEuros.Index, 12].Value = cierre.Otros_ingresos_euros;
                    dgvCierre[clmMontoEuros.Index, 13].Value = cierre.Otros_egresos_euros;
                    dgvCierre[clmMontoEuros.Index, 14].Value = cierre.Cheques_locales_euros;
                    dgvCierre[clmMontoEuros.Index, 15].Value = cierre.Cheques_exterior_euros;
                    dgvCierre[clmMontoEuros.Index, 16].Value = cierre.Cheques_bac_euros;
                    dgvCierre[clmMontoEuros.Index, 17].Value = cierre.Salidas_niquel_euros;
                    dgvCierre[clmMontoEuros.Index, 18].Value = cierre.Niquel_pendiente_euros;
                    dgvCierre[clmMontoEuros.Index, 19].Value = cierre.Entregas_boveda_euros;
                    dgvCierre[clmMontoEuros.Index, 20].Value = cierre.Entregas_pendientes_euros;
                    dgvCierre[clmMontoEuros.Index, 21].Value = cierre.Faltante_clientes_euros;
                    dgvCierre[clmMontoEuros.Index, 22].Value = cierre.Sobrante_clientes_euros;
                    dgvCierre[clmMontoEuros.Index, 23].Value = cierre.Faltante_quinientos_euros;
                    dgvCierre[clmMontoEuros.Index, 24].Value = cierre.Sobrante_quinientos_euros;
                    dgvCierre[clmMontoEuros.Index, 25].Value = cierre.Efectivo_cajero_euros;



                    dgvCierre[MontoDolares.Index, 27].Value = cierre.Compra_dolares;
                    dgvCierre[MontoColones.Index, 28].Value = cierre.Venta_dolares;


                    dgvCierre[clmMontoEuros.Index, 27].Value = cierre.Compra_euros;
                    dgvCierre[clmMontoEuros.Index, 28].Value = cierre.Venta_euros;

                    decimal compra_dolares_colones = cierre.Compra_dolares * tipo_cambio.CompraEuros;
                    decimal venta_dolares_dolares  = Math.Round(cierre.Venta_dolares / tipo_cambio.VentaEuros, 2);

                    // Calculo de los montos en colones

                    decimal diferencia_colones = cierre.Ingreso_clientes_colones - cierre.Reporte_cajero_colones;

                    decimal saldo_cierre_colones = cierre.Ingreso_clientes_colones + cierre.Saldo_dia_anterior_colones + cierre.Otros_ingresos_colones -
                                                   cierre.Otros_egresos_colones - cierre.Cheques_locales_colones - cierre.Cheques_exterior_colones -
                                                   cierre.Cheques_bac_colones - cierre.Salidas_niquel_colones - cierre.Niquel_pendiente_colones -
                                                   cierre.Entregas_boveda_colones - cierre.Entregas_pendientes_colones - compra_dolares_colones +
                                                   cierre.Venta_dolares - cierre.Faltante_clientes_colones + cierre.Sobrante_clientes_colones -
                                                   cierre.Faltante_quinientos_colones + cierre.Sobrante_quinientos_colones;

                    decimal faltante_sobrante_colones = saldo_cierre_colones - cierre.Efectivo_cajero_colones;

                    dgvCierre[MontoColones.Index, 9].Value  = diferencia_colones;
                    dgvCierre[MontoColones.Index, 27].Value = compra_dolares_colones;
                    dgvCierre[MontoColones.Index, 30].Value = saldo_cierre_colones;
                    dgvCierre[MontoColones.Index, 31].Value = faltante_sobrante_colones;

                    // Calculo de los montos en dolares

                    decimal diferencia_dolares = cierre.Ingreso_clientes_dolares - cierre.Reporte_cajero_dolares;

                    decimal saldo_cierre_dolares = cierre.Ingreso_clientes_dolares + cierre.Saldo_dia_anterior_dolares + cierre.Otros_ingresos_dolares -
                                                   cierre.Otros_egresos_dolares - cierre.Cheques_locales_dolares - cierre.Cheques_exterior_dolares -
                                                   cierre.Cheques_bac_dolares - cierre.Salidas_niquel_dolares - cierre.Niquel_pendiente_dolares -
                                                   cierre.Entregas_boveda_dolares - cierre.Entregas_pendientes_dolares + cierre.Compra_dolares -
                                                   venta_dolares_dolares - cierre.Faltante_clientes_dolares + cierre.Sobrante_clientes_dolares -
                                                   cierre.Faltante_quinientos_dolares + cierre.Sobrante_quinientos_dolares;

                    decimal faltante_sobrante_dolares = saldo_cierre_dolares - cierre.Efectivo_cajero_dolares;

                    dgvCierre[MontoDolares.Index, 9].Value  = diferencia_dolares;
                    dgvCierre[MontoDolares.Index, 28].Value = venta_dolares_dolares;
                    dgvCierre[MontoDolares.Index, 30].Value = saldo_cierre_dolares;
                    dgvCierre[MontoDolares.Index, 31].Value = faltante_sobrante_dolares;



                    // Calculo de los montos en euros

                    decimal diferencia_euros = cierre.Ingreso_clientes_euros - cierre.Reporte_cajero_euros;

                    decimal saldo_cierre_euros = cierre.Ingreso_clientes_euros + cierre.Saldo_dia_anterior_euros + cierre.Otros_ingresos_euros -
                                                 cierre.Otros_egresos_euros - cierre.Cheques_locales_euros - cierre.Cheques_exterior_euros -
                                                 cierre.Cheques_bac_euros - cierre.Salidas_niquel_euros - cierre.Niquel_pendiente_euros -
                                                 cierre.Entregas_boveda_euros - cierre.Entregas_pendientes_euros + cierre.Compra_euros -
                                                 cierre.Venta_euros - cierre.Faltante_clientes_euros + cierre.Sobrante_clientes_euros -
                                                 cierre.Faltante_quinientos_euros + cierre.Sobrante_quinientos_euros;

                    decimal faltante_sobrante_euros = saldo_cierre_euros - cierre.Efectivo_cajero_euros;

                    dgvCierre[clmMontoEuros.Index, 9].Value = diferencia_euros;
                    //dgvCierre[clmMontoEuros.Index, 28].Value = venta_euros_euros;
                    dgvCierre[clmMontoEuros.Index, 30].Value = saldo_cierre_euros;
                    dgvCierre[clmMontoEuros.Index, 31].Value = faltante_sobrante_euros;
                }
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }