public List <string> getPermissionsofThisReport() { apkInfoTable apk = getApkOfThisReport(); List <string> perms = apk.getAllPermissionThatExistInThisAPK(apk.apkInfoID); return(perms); }
public apkInfoTable getApkOfThisReport() { try { apkInfoTable apkk; if (databaseLayer.myConnection.State == ConnectionState.Closed) { databaseLayer.myConnection.Open(); } SqlCommand myCommand = new SqlCommand("Select apkInfoID from report where reportID=@y", databaseLayer.myConnection); SqlParameter secondParamater = new SqlParameter("@y", reportId); myCommand.Parameters.Add(secondParamater); SqlDataReader reader = myCommand.ExecuteReader(); if (reader.Read()) { Int32 apkID = (Int32)reader[0]; SqlCommand apk = new SqlCommand("Select * from ApkInfo where apkID=@id", databaseLayer.myConnection); SqlParameter id = new SqlParameter("@id", apkID); apk.Parameters.Add(id); SqlDataReader apkInfo = apk.ExecuteReader(); if (apkInfo.Read()) { String apkName = (String)apkInfo[1]; String minSDK = (String)apkInfo[2]; String targetSdk = (String)apkInfo[3]; String packageName = (String)apkInfo[4]; String versionCode = (String)apkInfo[5]; String versionName = (String)apkInfo[6]; float apkRiskLevel = float.Parse(apkInfo[7].ToString()); bool testOnlyFlag = bool.Parse(apkInfo[8].ToString()); bool debuggableFlag = bool.Parse(apkInfo[9].ToString()); bool backupFlag = bool.Parse(apkInfo[10].ToString()); bool allFlag = bool.Parse(apkInfo[11].ToString()); bool armeabiFlag = bool.Parse(apkInfo[12].ToString()); bool armeabi_v7aFlag = bool.Parse(apkInfo[13].ToString()); bool arm64_V8aFlag = bool.Parse(apkInfo[14].ToString()); bool X86Flag = bool.Parse(apkInfo[15].ToString()); bool X86_64Flag = bool.Parse(apkInfo[16].ToString()); bool mipsFlag = bool.Parse(apkInfo[17].ToString()); bool mips64Flag = bool.Parse(apkInfo[18].ToString()); apkk = new apkInfoTable(apkInfoID, apkRiskLevel, apkName, minSDK, targetSdk, packageName, versionCode, versionName, testOnlyFlag, debuggableFlag, backupFlag, allFlag, armeabiFlag, armeabi_v7aFlag, arm64_V8aFlag, X86Flag, X86_64Flag, mipsFlag, mips64Flag); apkInfo.Dispose(); } else { apkInfo.Dispose(); return(null); } reader.Dispose(); return(apkk); } else { return(null); } } catch (System.InvalidOperationException) { return(null); } }
static public apkInfoTable insertAPKInfo(float apkRiskLevel, string apkName, string minSDK, string targetSDK, string packageName, string versionCode, string versionName, bool testOnly, bool debuggable, bool backup, bool all, bool armeabi, bool armeabi_v7a, bool arm64_v8a, bool x86, bool x86_64, bool mips, bool mips64) { if (databaseLayer.myConnection.State == System.Data.ConnectionState.Closed) { databaseLayer.myConnection.Open(); } try { SqlCommand myCommand = new SqlCommand("insert into ApkInfo (" + "apkName , minSDK , targetSdk , packageName , versionCode ," + "versionName , apkRiskLevel , testOnlyFlag , debuggableFlag , backupFlag ," + " allFlag , armeabiFlag , armeabi_v7aFlag , arm64_V8aFlag , X86Flag , X86_64Flag , mipsFlag , mips64Flag ) OUTPUT INSERTED.apkID values (@b,@d,@c,@e,@f,@h,@I,@J,@K,@L,@M,@N,@O,@P,@Q,@R,@S,@T)", databaseLayer.myConnection); //it is OUTPUT INSERTED.apkID not OUTPUT INSERTED.ID and no need for it SqlParameter secondParameter = new SqlParameter("@b", apkName); SqlParameter forthParameter = new SqlParameter("@d", minSDK); SqlParameter thirdParameter = new SqlParameter("@c", targetSDK); SqlParameter fifthParameter = new SqlParameter("@e", packageName); SqlParameter sixthParameter = new SqlParameter("@f", versionCode); SqlParameter seventhParemeter = new SqlParameter("@h", versionName); SqlParameter eighthParameter = new SqlParameter("@I", apkRiskLevel); SqlParameter ninthParameter = new SqlParameter("@J", testOnly); SqlParameter tenthParameter = new SqlParameter("@K", debuggable); SqlParameter eleventhParameter = new SqlParameter("@L", backup); SqlParameter twelvethParameter = new SqlParameter("@M", all); SqlParameter T13th = new SqlParameter("@N", armeabi); SqlParameter T14th = new SqlParameter("@O", armeabi_v7a); SqlParameter T15th = new SqlParameter("@P", arm64_v8a); SqlParameter T16th = new SqlParameter("@Q", x86); SqlParameter T17th = new SqlParameter("@R", x86_64); SqlParameter T18th = new SqlParameter("@S", mips); SqlParameter T19th = new SqlParameter("@T", mips64); myCommand.Parameters.Add(secondParameter); myCommand.Parameters.Add(forthParameter); myCommand.Parameters.Add(thirdParameter); myCommand.Parameters.Add(fifthParameter); myCommand.Parameters.Add(sixthParameter); myCommand.Parameters.Add(seventhParemeter); myCommand.Parameters.Add(eighthParameter); myCommand.Parameters.Add(ninthParameter); myCommand.Parameters.Add(tenthParameter); myCommand.Parameters.Add(eleventhParameter); myCommand.Parameters.Add(twelvethParameter); myCommand.Parameters.Add(T13th); myCommand.Parameters.Add(T14th); myCommand.Parameters.Add(T15th); myCommand.Parameters.Add(T16th); myCommand.Parameters.Add(T17th); myCommand.Parameters.Add(T18th); myCommand.Parameters.Add(T19th); Int32 Id = (Int32)myCommand.ExecuteScalar(); // works only with output clause apkInfoTable apkInfo = new apkInfoTable(Id, apkRiskLevel, apkName, minSDK, targetSDK, packageName, versionCode, versionName, testOnly, debuggable, backup, all, armeabi, armeabi_v7a, arm64_v8a, x86, x86_64, mips, mips64); databaseLayer.myConnection.Close(); return(apkInfo); } catch (System.Data.SqlClient.SqlException ex) { databaseLayer.myConnection.Close(); return(null); } }