コード例 #1
0
        // 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";

        }
コード例 #2
0
        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";
            }
        }