Пример #1
0
        public static bool LoadSameReport(int callstack_uid, ForEachCallstack func)
        {
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                try
                {
                    conn.Open();

                    SqlCommand cmd1 = new SqlCommand("usp_select_report_by_callstack_uid", conn);
                    cmd1.CommandType = CommandType.StoredProcedure;

                    cmd1.Parameters.AddWithValue("@callstack_uid", callstack_uid);

                    SqlDataReader reader = cmd1.ExecuteReader();

                    while (reader.Read())
                    {
                        DelegateReport(reader, func);
                    }

                    reader.Close();
                }
                catch (System.Exception)
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #2
0
        private static void DelegateReport(SqlDataReader reader, ForEachCallstack func)
        {
            int      reportUid    = reader.GetInt32(0);
            string   loginId      = reader.GetString(1);
            string   ipaddr       = reader.GetString(2);
            DateTime reportedTime = reader.GetDateTime(3); // 보고를 받은 시각
            string   relativeTime = GetRelativeTimeString(reportedTime);

            int    callstackUid = reader.GetInt32(4);
            string funcname     = reader.GetString(5);
            string version      = reader.GetString(6);
            string filename     = reader.GetString(7);

            //bool resolved = false;
            //if (reader.IsDBNull(8) == false)
            //    resolved = reader.GetBoolean(8);

            string assigned = "";

            if (reader.IsDBNull(8) == false)
            {
                assigned = reader.GetString(8);
            }

            string uservoice   = reader.GetString(9);
            int    num_comment = reader.GetInt32(10);

            func(reportUid, RemoveUnwantedChars(loginId), ipaddr, reportedTime, relativeTime, callstackUid, funcname, RemoveUnwantedChars(version), filename, assigned, RemoveUnwantedChars(uservoice), num_comment);

            //string trClass = "normal";
            //if (mostRecent)
            //    trClass = "recent";
            //if (resolved)
            //    trClass = "grayed";
        }
Пример #3
0
        public static bool LoadReport(int project_uid, int pageNo, int pageSize, ForEachCallstack func, out int totalPageSize, ReportWhereFilter filterType = ReportWhereFilter.None, string filterValue = "", int hideResolved = 0)
        {
            totalPageSize = 0;

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                try
                {
                    conn.Open();

                    SqlCommand cmd1 = new SqlCommand("usp_select_recent_reports", conn);
                    cmd1.CommandType = CommandType.StoredProcedure;

                    SqlParameter returned = cmd1.CreateParameter();
                    returned.Direction = ParameterDirection.ReturnValue;
                    cmd1.Parameters.Add(returned);

                    cmd1.Parameters.AddWithValue("@project_uid", project_uid);
                    cmd1.Parameters.AddWithValue("@where", filterType);
                    cmd1.Parameters.AddWithValue("@filter", filterValue);
                    cmd1.Parameters.AddWithValue("@pageNumber", pageNo);
                    cmd1.Parameters.AddWithValue("@cntPerPage", pageSize);
                    cmd1.Parameters.AddWithValue("@hideResolved", hideResolved);

                    SqlDataReader reader = cmd1.ExecuteReader();

                    while (reader.Read())
                    {
                        DelegateReport(reader, func);
                    }

                    reader.Close();

                    double numItems = (int)returned.Value;
                    totalPageSize = (int)Math.Ceiling(numItems / pageSize);
                }
                catch (System.Exception)
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #4
0
        private static void DelegateReport(SqlDataReader reader, ForEachCallstack func)
        {
            int reportUid = reader.GetInt32(0);
            string loginId = reader.GetString(1);
            string ipaddr = reader.GetString(2);
            DateTime reportedTime = reader.GetDateTime(3); // 보고를 받은 시각
            string relativeTime = GetRelativeTimeString(reportedTime);

            int callstackUid = reader.GetInt32(4);
            string funcname = reader.GetString(5);
            string version = reader.GetString(6);
            string filename = reader.GetString(7);

            //bool resolved = false;
            //if (reader.IsDBNull(8) == false)
            //    resolved = reader.GetBoolean(8);

            string assigned = "";
            if (reader.IsDBNull(8) == false)
                assigned = reader.GetString(8);

            string uservoice = reader.GetString(9);
            int num_comment = reader.GetInt32(10);

            func(reportUid, RemoveUnwantedChars(loginId), ipaddr, reportedTime, relativeTime, callstackUid, funcname, RemoveUnwantedChars(version), filename, assigned, RemoveUnwantedChars(uservoice), num_comment);

            //string trClass = "normal";
            //if (mostRecent)
            //    trClass = "recent";
            //if (resolved)
            //    trClass = "grayed";
        }
Пример #5
0
        public static bool LoadSameReport(int callstack_uid, ForEachCallstack func)
        {
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                try
                {
                    conn.Open();

                    SqlCommand cmd1 = new SqlCommand("usp_select_report_by_callstack_uid", conn);
                    cmd1.CommandType = CommandType.StoredProcedure;

                    cmd1.Parameters.AddWithValue("@callstack_uid", callstack_uid);

                    SqlDataReader reader = cmd1.ExecuteReader();

                    while (reader.Read())
                    {
                        DelegateReport(reader, func);
                    }

                    reader.Close();
                }
                catch (System.Exception)
                {
                    return false;
                }
            }

            return true;
        }
Пример #6
0
        public static bool LoadReport(int project_uid, int pageNo, int pageSize, ForEachCallstack func, out int totalPageSize, ReportWhereFilter filterType = ReportWhereFilter.None, string filterValue = "", int hideResolved = 0)
        {
            totalPageSize = 0;

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                try
                {
                    conn.Open();

                    SqlCommand cmd1 = new SqlCommand("usp_select_recent_reports", conn);
                    cmd1.CommandType = CommandType.StoredProcedure;

                    SqlParameter returned = cmd1.CreateParameter();
                    returned.Direction = ParameterDirection.ReturnValue;
                    cmd1.Parameters.Add(returned);

                    cmd1.Parameters.AddWithValue("@project_uid", project_uid);
                    cmd1.Parameters.AddWithValue("@where", filterType);
                    cmd1.Parameters.AddWithValue("@filter", filterValue);
                    cmd1.Parameters.AddWithValue("@pageNumber", pageNo);
                    cmd1.Parameters.AddWithValue("@cntPerPage", pageSize);
                    cmd1.Parameters.AddWithValue("@hideResolved", hideResolved);

                    SqlDataReader reader = cmd1.ExecuteReader();

                    while (reader.Read())
                    {
                        DelegateReport(reader, func);
                    }

                    reader.Close();

                    double numItems = (int)returned.Value;
                    totalPageSize = (int)Math.Ceiling(numItems / pageSize);
                }
                catch (System.Exception)
                {
                    return false;
                }
            }

            return true;
        }