Ejemplo n.º 1
0
        private void validoDatos(FechaMensual desde, FechaMensual hasta)
        {
            //ME FIJO SI LA FECHA DESDE ES MENOS Q LA FECHA HASTA Y LAS FECHAS TENGAS MESES VALIDOS

            if (desde.esMensualNulo())
            {
                throw new NoValida("Fecha desde invalida");
            }
            if (hasta.esMensualNulo())
            {
                throw new NoValida("Fecha hasta invalida");
            }
            if ((!desde.esMenorQue(hasta)))
            {
                throw new NoValida("Rango de mensuales incorrecto");
            }
        }
Ejemplo n.º 2
0
        public void cancelarNovedad(long idPrestador, long nroDeTransaccion, long idBeneficiario, int mensualHasta)
        {
            Conexion      objCnn = new Conexion();
            SqlConnection objCon = new SqlConnection();

            SqlParameter [] objPar = new SqlParameter[1];
            FechaMensual    ultimoMensual;
            FechaMensual    hasta = new FechaMensual(mensualHasta);

            try
            {
                objCon          = objCnn.Conectar();
                objPar[0]       = new SqlParameter("@transaccion", SqlDbType.BigInt);
                objPar[0].Value = nroDeTransaccion;

                //DOY DE BAJA EL REGISTRO EN LA BASE DE DATOS
                SqlHelper.ExecuteNonQuery(objCnn.ConectarString(), CommandType.StoredProcedure, "Novedades_BAJA_EntidadesPrivadas", objPar);
                //AVERIGUO EL ULTIMO MENSUAL ACTIVO CARGADO EN LA BASE, SI NO HAY RETORNO 0
                ultimoMensual = new FechaMensual(this.ultimoMensualDeInhibicion(idPrestador, idBeneficiario));
                //LAMO AL COMTI PARA LA TRANSACCION CICS SOLO SI HAY OTRA NOVEDAD CON MENSUAL HASTA MENOR
                if (ultimoMensual.esMenorQue(hasta))
                {
                    //LAMO AL COMTI PARA DER DE BAJA EL ACTUAL
                    //ME FIJO SI HAY UN MENSUAL ANTERIOR ACTIVO CARGADO EN LA BASE
                    if (!ultimoMensual.esMensualNulo())
                    {
                        //LLAMO AL COMTI PARA DAR EL ALTA CON EL MENSUAL ULTIMOMENSUAL, ULTIMO MENSUAL ACTIVO CARGADO EN LA BASE DE DATOS
                    }
                }
            }
            catch (Exception err)
            {
                log.Error(string.Format("{0}->{1}-> Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), err.Source, err.Message));
                throw err;
            }
            finally
            {
                objCon.Dispose();
                objCnn = null;
            }
        }
Ejemplo n.º 3
0
        public String[] altaDeNovedad(long idPrestador, long idBeneficiario, double monto, int mensualDesde, int mensualHasta,
                                      string IP, string usuario)
        {
            FechaMensual desde = new FechaMensual(mensualDesde);
            FechaMensual hasta = new FechaMensual(mensualHasta);
            // ME FIJO EL ULTIMO MENSUAL DE INHIBICION CARGADO, CASO DE Q NO TENGA NINGUNO RETORNA 0
            FechaMensual  ultimoHasta = new FechaMensual(this.ultimoMensualDeInhibicion(idPrestador, idBeneficiario));
            Conexion      objCnn      = new Conexion();
            SqlConnection objCon      = new SqlConnection();

            SqlParameter [] objPar  = new SqlParameter[9];
            String[]        retorno = new String[2];
            //string MAC;

            try
            {
                //VALIDO LOS DATOS INGRESADOS
                validoDatos(desde, hasta);
                if (this.verDisponible(idPrestador, idBeneficiario, monto, mensualDesde, mensualHasta))
                {
                    //genero la mac ****FALTA*****

                    objCon          = objCnn.Conectar();
                    objPar[0]       = new SqlParameter("@IdPrestador", SqlDbType.BigInt);
                    objPar[0].Value = idPrestador;

                    objPar[1]       = new SqlParameter("@IdBeneficiario", SqlDbType.BigInt);
                    objPar[1].Value = idBeneficiario;

                    objPar[2]       = new SqlParameter("@monto", SqlDbType.Decimal);
                    objPar[2].Value = monto;

                    objPar[3]       = new SqlParameter("@desde", SqlDbType.BigInt);
                    objPar[3].Value = mensualDesde;

                    objPar[4]       = new SqlParameter("@hasta", SqlDbType.BigInt);
                    objPar[4].Value = mensualHasta;

                    objPar[5]       = new SqlParameter("@IP", SqlDbType.VarChar, 20);
                    objPar[5].Value = IP;

                    objPar[6]       = new SqlParameter("@Usuario", SqlDbType.VarChar, 50);
                    objPar[6].Value = usuario;

                    objPar[7]       = new SqlParameter("@MAC", SqlDbType.VarChar, 100);
                    objPar[7].Value = "";

                    objPar[8]           = new SqlParameter("@IdNovedad", SqlDbType.BigInt);
                    objPar[8].Direction = ParameterDirection.Output;
                    objPar[8].Value     = 0;

                    //DOY DE ALTA EL REGISTRO EN LA BASE DE DATOS
                    SqlHelper.ExecuteNonQuery(objCnn.ConectarString(), CommandType.StoredProcedure, "Novedades_A_EntidadesPrivadas", objPar);

                    //LLAMO AL COMTI PARA LA TRANSACCION CICS SOLO SI EL MENSUAL HASTA ES MAYOR AL ULTIMO MENSUAL CARGADO
                    if (ultimoHasta.esMenorQue(hasta))
                    {
                        //DOY ALTA EN EL COMTI CON EL MENSUAL Q ME VINO POR PARAMETRO
                    }

                    //RETORNO EL NUMERO DE TRANSACCION Y LA MAC
                    retorno[0] = (string)objPar[8].Value.ToString();
                    retorno[1] = (string)"";
                    return(retorno);
                }
                else
                {
                    log.Error(string.Format("{0}->{1} ", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod()));
                    throw new NoValida("Afectacion disponible insuficiente");
                }
            }
            catch (NoValida e)
            {
                //RETORNO MENSAJE DE ERROR
                log.Error(string.Format("{0}->{1} ", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod()));
                throw e;
            }
            catch (Exception err)
            {
                log.Error(string.Format("{0}->{1}-> Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), err.Source, err.Message));
                throw err;
            }
            finally
            {
                objCon.Dispose();
                objCnn = null;
            }
        }