public bool ValidarListaNumerosPortabilidad(ArrayList listaTelefonos, ref ArrayList lineasAptas, ref ArrayList lineasNoAptas, bool flagValidarRepetidas, ref string strMensajeError) { int i = 0; string listaSinRepetidas = ""; ArrayList listaTelfTmp = new ArrayList(); listaTelfTmp.AddRange(listaTelefonos); for (i = 0; i < listaTelfTmp.Count; i++) { NumeroPortabilidad item = (NumeroPortabilidad)listaTelfTmp[i]; string numeroTelefono = item.PORT_NUMERO; if (listaSinRepetidas.IndexOf(numeroTelefono) != -1) { if (flagValidarRepetidas) { strMensajeError = "Error: Numero a Portar " + numeroTelefono + " ya se encuentra en la lista actual."; return(false); } listaTelfTmp.RemoveAt(i); i--; } else { listaSinRepetidas = listaSinRepetidas + numeroTelefono + ";"; } } NumeroPortabilidadDatos objNumeroPortabilidadDatos = new NumeroPortabilidadDatos(); return(objNumeroPortabilidadDatos.ValidarListaNumerosPortabilidad(listaTelfTmp, ref lineasAptas, ref lineasNoAptas, ref strMensajeError)); }
public bool ValidarListaNumerosPortabilidad(ArrayList listaTelefonos, ref ArrayList lineasAptas, ref ArrayList lineasNoAptas, ref string strMensajeError) { bool response = true; int loop = (listaTelefonos.Count / 100) + 1; for (int j = 0; j < loop; j++) { string strListaTelefonos = ""; int inicio = j * 100; int fin = (j + 1) * 100; for (int k = inicio; k < fin; k++) { if (k == listaTelefonos.Count) { break; } NumeroPortabilidad numTmp = (NumeroPortabilidad)listaTelefonos[k]; strListaTelefonos += "," + numTmp.PORT_NUMERO; } if (strListaTelefonos.Length > 0) { strListaTelefonos = strListaTelefonos.Substring(1); response = response & ConsultarListaNumerosPortabilidad(strListaTelefonos, ref lineasAptas, ref lineasNoAptas); } } if (!response) { string strListaTelefonosNoAptos = ""; for (int k = 0; k < lineasNoAptas.Count; k++) { NumeroPortabilidad numTmp = (NumeroPortabilidad)lineasNoAptas[k]; if (strListaTelefonosNoAptos.IndexOf(numTmp.PORT_NUMERO) == -1) { strListaTelefonosNoAptos += "," + numTmp.PORT_NUMERO; } } strListaTelefonosNoAptos = strListaTelefonosNoAptos.Substring(1); strMensajeError = "Error. Número(s) a Portar: " + strListaTelefonosNoAptos + " ya se encuentra(n) en Proceso de Portabilidad."; } return(response); }
public bool InsertarNumeroPortabilidad(NumeroPortabilidad objDetalle) { DAABRequest.Parameter[] arrParam = { new DAABRequest.Parameter("P_RESULTADO", DbType.Int64, ParameterDirection.Output), new DAABRequest.Parameter("P_SOLIN_CODIGO", DbType.Int64, ParameterDirection.Input), new DAABRequest.Parameter("P_PORT_NUM_DOC", DbType.String, 15,ParameterDirection.Input), new DAABRequest.Parameter("P_PLANC_CODIGO", DbType.String, 3,ParameterDirection.Input), new DAABRequest.Parameter("P_PORT_NUMERO", DbType.String, 15,ParameterDirection.Input), new DAABRequest.Parameter("P_PORT_MODALIDAD", DbType.String, 15,ParameterDirection.Input), new DAABRequest.Parameter("P_FLAG_ESTADO", DbType.String, 1,ParameterDirection.Input), new DAABRequest.Parameter("P_TPROC_CODIGO", DbType.String, 2,ParameterDirection.Input), new DAABRequest.Parameter("P_PORT_USU_CREA", DbType.String, 10,ParameterDirection.Input), new DAABRequest.Parameter("P_SOPLN_CODIGO", DbType.Int64, ParameterDirection.Input), new DAABRequest.Parameter("P_TOPE_CONSUMO", DbType.Int64, ParameterDirection.Input) }; for (int i = 0; i < arrParam.Length; i++) { arrParam[i].Value = DBNull.Value; } arrParam[1].Value = objDetalle.SOLIN_CODIGO; arrParam[2].Value = objDetalle.PORT_NUM_DOC; arrParam[3].Value = objDetalle.PLANC_CODIGO; arrParam[4].Value = objDetalle.PORT_NUMERO; arrParam[5].Value = objDetalle.PORT_MODALIDAD; arrParam[6].Value = objDetalle.FLAG_ESTADO; arrParam[7].Value = objDetalle.TPROC_CODIGO; arrParam[8].Value = objDetalle.PORT_USU_CREA; if (objDetalle.SOPLN_CODIGO != 0) { arrParam[9].Value = objDetalle.SOPLN_CODIGO; } arrParam[10].Value = objDetalle.SOPLN_TOPE_CONSUMO; bool salida = false; BDSISACT obj = new BDSISACT(BaseDatos.BD_SISACT); DAABRequest obRequest = obj.CreaRequest(); obRequest.CommandType = CommandType.StoredProcedure; obRequest.Command = BaseDatos.PKG_PORTABILIDAD + ".SP_INSERT_NUMERO"; obRequest.Parameters.AddRange(arrParam); obRequest.Transactional = true; try { obRequest.Factory.ExecuteNonQuery(ref obRequest); obRequest.Factory.CommitTransaction(); salida = true; } catch (Exception ex) { obRequest.Factory.RollBackTransaction(); throw ex; } finally { IDataParameter pSalida1; pSalida1 = (IDataParameter)obRequest.Parameters[0]; obRequest.Factory.Dispose(); } return(salida); }
private bool ConsultarListaNumerosPortabilidad(string strListaTelefonos, ref ArrayList lineasAptas, ref ArrayList lineasNoAptas) { DAABRequest.Parameter[] arrParam = { new DAABRequest.Parameter("P_NUMEROS", DbType.String, 1500, ParameterDirection.Input), new DAABRequest.Parameter("K_CUR_SALIDA", DbType.Object, ParameterDirection.Output) }; for (int i = 0; i < arrParam.Length; i++) { arrParam[i].Value = DBNull.Value; } if (strListaTelefonos != "") { arrParam[0].Value = strListaTelefonos; } BDSISACT obj = new BDSISACT(BaseDatos.BD_SISACT); DAABRequest obRequest = obj.CreaRequest(); obRequest.CommandType = CommandType.StoredProcedure; obRequest.Command = BaseDatos.PKG_PORTABILIDAD + ".SP_VERIFICAR_NUMERO_MASIVO"; obRequest.Parameters.AddRange(arrParam); IDataReader dr = null; try { dr = obRequest.Factory.ExecuteReader(ref obRequest).ReturnDataReader; strListaTelefonos = "," + strListaTelefonos; while (dr.Read()) { string sec = Funciones.CheckStr(dr["SEC"]); string numeroTelefono = Funciones.CheckStr(dr["PORT_NUMERO"]); NumeroPortabilidad item = new NumeroPortabilidad(); item.PORT_NUMERO = numeroTelefono; item.MENSAJE_ERROR = "El número ingresado ya se encuentra en Proceso de Portabilidad. SEC: " + sec; lineasNoAptas.Add(item); strListaTelefonos = strListaTelefonos.Replace("," + numeroTelefono, ""); } string[] arrayTmp = strListaTelefonos.Split(Convert.ToChar(",")); for (int x = 1; x < arrayTmp.Length; x++) { if (arrayTmp[x] != "") { string numeroTelefono = arrayTmp[x]; //T12618 - Validación de código nacional de números - INICIO if (numeroTelefono.Length == 9) { NumeroPortabilidad item = new NumeroPortabilidad(); item.PORT_NUMERO = numeroTelefono; item.MENSAJE_ERROR = Funciones.ObtenerResultadoTelefono("0"); lineasAptas.Add(item); } else { NumeroPortabilidad item = new NumeroPortabilidad(); item.PORT_NUMERO = numeroTelefono; item.MENSAJE_ERROR = "Error en formato del número."; lineasNoAptas.Add(item); } //T12618 - Validación de código nacional de números - FIN } } } catch (Exception e) { throw e; } finally { if (dr != null && dr.IsClosed == false) { dr.Close(); } obRequest.Parameters.Clear(); obRequest.Factory.Dispose(); } return(lineasNoAptas.Count == 0); }
public bool InsertarNumeroPortabilidad(NumeroPortabilidad objDetalle) { return(new NumeroPortabilidadDatos().InsertarNumeroPortabilidad(objDetalle)); }