// GET api/executesql/5 public string Get(string id) { string sql = id; DatabaseConnection dc = new DatabaseConnection(); if (dc.InsertUpdateDelete(sql)) return "Success"; else return "Fail"; }
private static string CheckStatus(int responseCode, string projectName, string liveUrl, string projectId) { try { dc = new DatabaseConnection(); string checkIssueIdQuery = "Select Isssue_id , Enabled, Project_id from IssueStatusTracking where Project_id='" + projectId + "'"; DataTable dt = new DataTable(); dt = dc.GetDataTable(checkIssueIdQuery); int issue = 0; bool flag = false; if (dt != null) { if (dt.Rows.Count > 0) { int.TryParse(dt.Rows[0]["Isssue_id"].ToString(), out issue);//IssueTrack[0] = issue id bool.TryParse(dt.Rows[0]["Enabled"].ToString(), out flag); } } if (responseCode != 200)//check ping status { if (issue <= 0) { //insert defect //post call in redmine string issueId = ""; issueId = CreateIssue(projectName, liveUrl, 1); int createdIssueId = 0; int.TryParse(issueId, out createdIssueId); if (createdIssueId > 0) { string insertQuery = "Insert into IssueStatusTracking (Isssue_id, Enabled, Project_id) values ('" + issueId + "','" + true + "','" + projectId + "')"; dc.InsertUpdateDelete(insertQuery); string watchersConfig = System.Configuration.ConfigurationManager.AppSettings["watchers"]; string[] watcherArray = watchersConfig.Split(','); PostData.AddWatchers(issueId, watcherArray); string[] data = { "Website ping failed: " + DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss") + " Url: " + liveUrl }; string[] element = { "notes" }; PostData.UpdateIssue(createdIssueId.ToString(), data, element); } } else if (issue > 0 && flag == true) { //update notes in redmine for previous issue string[] data = { "Website ping continues to fail: " + DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss") + " Url: " + liveUrl }; string[] element = { "notes" }; PostData.UpdateIssue(issue.ToString(), data, element); } else { string updateQuery = "Update IssueStatusTracking set Enabled='True' where Project_id='" + projectId + "'"; dc.InsertUpdateDelete(updateQuery); string[] data = { "Website ping continues to fail: " + DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss") + " Url: " + liveUrl }; string[] element = { "notes" }; PostData.UpdateIssue(issue.ToString(), data, element); } } else if (responseCode == 200 && flag == true) { //close issue in redmine string[] data = { "5" };//status id for closed issue string[] element = { "status_id" }; PostData.UpdateIssue(issue.ToString(), data, element); //update issue in database string updateQuery = "Update IssueStatusTracking set Enabled='False' where Project_id='" + projectId + "'"; dc.InsertUpdateDelete(updateQuery); } else if (responseCode == 200 && issue > 0 && flag == false) { //delete issueId in sql string deleteIssueQuery = "Delete from IssueStatusTracking where Isssue_id='" + issue + "' and Enabled='false'"; dc.InsertUpdateDelete(deleteIssueQuery); } return "Completed"; } catch (Exception ex) { ErrorLogging.WriteErrorLog("Exception CheckStatus: " + ex.ToString()); return "Failed"; } }