public AnulacionOS Anular(Anular model) { var anulacionOs = new AnulacionOS(); try { var authRepo = new AutorizacionRepository(); var sIdInternoAut = authRepo.GetIdAuth(model.AuthId); var output = "MSH|^~\\&|TRIA0100M|TRIA00000003|SANCOR_SALUD|SANCOR_SALUD^604940^IIN|"; output += DateTime.Now.ToString("yyyyMMddHHmmss") + "||ZQA^Z04^ZQA_Z04|18071613545151234567890|P|2.4|||NE|AL|ARG"; output += Environment.NewLine; output += "ZAU||" + sIdInternoAut; output += Environment.NewLine; output += "PRD|PS^CIRCULO MEDICO DE SALTA||^^^C||||96065^PR|"; output += Environment.NewLine; output += "PID|||" + model.Credencial + "^^^SANCOR_SALUD^HC^SANCOR_SALUD||UNKNOWN"; Sancor.MessageResponse resultado = _sancor.MessageAsync(8, output).Result; logResult(output.ToString(), resultado.ToString(), "D"); if (resultado.resultado.Substring(0, 4) == "MSH|") { return(SetAnulacionOs(resultado.ToString(), model)); } anulacionOs.SetError(GetType().Name, 0, resultado.resultado.ToString(), string.Empty, model, string.Empty); } catch (Exception ex) { anulacionOs.SetError(GetType().Name, GetMethod.ErrorLine(ex), ex.Message, ex.InnerException?.ToString() ?? "", model, string.Empty); } return(anulacionOs); }
public Afiliado Elegibilidad(string credencial) { credencial = "0841233/00"; string cadena; string plan; var afiliado = new Afiliado(); try { var cred = credencial.Split('/'); if (cred.Length > 1) { var output = @"MSH|^~\{|TRIT0100M|TRIT00999999|SANCOR_SALUD|SANCOR_SALUD^604940^IIN|"; output += DateTime.Now.ToString("yyyyMMddHHmmss") + "||ZQ^Z01^ZQI_Z01|05091908480623465897|P|2.4|||NE|AL|ARG"; output += Environment.NewLine; output += "PRD|PS^CIRCULO MEDICO DE SALTA||^^^C||||22^CU|"; output += Environment.NewLine; output += "PID|||" + cred[0] + "^" + cred[1] + "^^SANCOR_SALUD^HC||UNKNOWN"; output += Environment.NewLine; Sancor.MessageResponse resultado = _sancor.MessageAsync(8, output).Result; logResult(output.ToString(), resultado.ToString(), "E"); if (resultado.resultado.ToString() == "") { return new Afiliado { Name = Mensajes.Get("AfiIne") } } ; if (resultado.resultado.ToString().Contains("Error ejecutando") || resultado.resultado.ToString().Contains("no se pueden procesar") || resultado.resultado.ToString().Contains("Unable to read data")) { return(new Afiliado { Name = Mensajes.Get("ServidorNoResponde"), HasError = true }); } // convertimos respuesta en vector var msHL7 = HL7.DecifraHL7Sancor(resultado.resultado.ToString()); var index = msHL7[1].IndexOf("En estos momentos, no se pueden procesar transacciones"); if (index > 0) { afiliado.Name = Mensajes.Get("ServidorNoResponde"); afiliado.SetError(GetType().Name, 37, Mensajes.Get("ServidorNoResponde"), string.Empty, credencial, string.Empty); } else { if (msHL7[4] != null && msHL7[5] != null) { if (HL7.CampoHL7(msHL7[4], 5, 1) != "UNKNOWN") { cadena = HL7.CampoHL7(msHL7[4], 5, 1) + ", " + HL7.CampoHL7(msHL7[4], 5, 2); plan = HL7.CampoHL7(msHL7[5], 3, 0); } else { cadena = Mensajes.Get("AfiIne"); plan = ""; } } else { cadena = Mensajes.Get("AfiIne");; plan = ""; } afiliado.Name = cadena; afiliado.Plan = plan; } } else { afiliado.Name = "Carnet Mal ingresado"; afiliado.Plan = ""; } } catch (Exception ex) { var afi = new Afiliado { HasError = true }; afi.SetError(GetType().Name, GetMethod.ErrorLine(ex), ex.Message, ex.InnerException?.ToString() ?? string.Empty, credencial, string.Empty); return(afi); } return(afiliado); }