//REQ2086 - RSIS002 - FIN //REQ2086 - RSIS001 - INICIO public IList <ActCredResult> ActualizarCredenciales(string user, string credAnt, string credNew, out string mensaje, out int codigoError) { //Resultado como lista de objetos IList <ActCredResult> resultados = new List <ActCredResult>(); /*Conexión a SOAP*/ var soapDataClient = new ReniecConsultaDniPortTypeClient(); //Instanciacion de petición de consumo de servicio web var aux = new peticionActualizarCredencial(); var utilSP = new ExecSPUtil(); //Obtener valores de base de datos var resultArray = utilSP.EjecGetCred(user); string credNoEncript; //Usuario no encontrado en BD if (resultArray[0] == null && resultArray[1] == null && resultArray[2] == null && resultArray[3] == null) { codigoError = 1; mensaje = ErrorMessagesUtil.USUARIO_NO_REGISTRADO; } else { //Desencriptación if (resultArray[3] != null && resultArray[3] != "") { credNoEncript = Encriptacion.DesEncriptarCadena(resultArray[3]); } else { credNoEncript = resultArray[2]; } //Ejecución if (credNoEncript == credAnt) { aux.credencialAnterior = credAnt; aux.credencialNueva = credNew; aux.nuDni = resultArray[2]; aux.nuRuc = ConfigurationManager.AppSettings["nuRucReniecService"]; //Consumo de servicio web var actualizarCred = soapDataClient.actualizarcredencial(aux); if (actualizarCred != null) { if (actualizarCred.coResultado == "0000") { //Encriptación var credEncript = Encriptacion.EncriptarCadena(credNew); var credAntEncript = Encriptacion.EncriptarCadena(credAnt); string resultAct = utilSP.EjectActCred(user, credAntEncript, credEncript); if (resultAct.Equals("Y")) { codigoError = 0; mensaje = actualizarCred.deResultado; var result = XmlUtil.parseActCred(actualizarCred.coResultado, mensaje); resultados.Add(result); } else { codigoError = 1; mensaje = ErrorMessagesUtil.NO_ACTUALIZO_BD;//Error critico: se realiza consumo pero no procedimiento almacenado } } else { codigoError = 1; mensaje = actualizarCred.deResultado;//Resultado de consumo de servicio no satisfactorio } } else { codigoError = 1; mensaje = ErrorMessagesUtil.NO_OBTUVO_RESULTADO_ACTUALIZACION;//No se efectuo el consumo del servicio } } else { codigoError = 1; mensaje = ErrorMessagesUtil.CREDENCIALES_INCONSISTENTES;//Credenciales incorrectas } } return(resultados); }