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"); } }
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; } }
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; } }