public void AddFaQ(SupportIssue faq) { using (var con = new SqlConnection()) { con.ConnectionString = @"Data Source=DANEL-DB\S16;Initial Catalog=support_new;Integrated Security=True;"; con.Open(); using (SqlCommand cmd = new SqlCommand("SupportIssuesUpdate", con, null)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Problem", faq.prb); cmd.Parameters.AddWithValue("@Solution", faq.sln); cmd.Parameters.AddWithValue("@ModuleID", faq.mID); cmd.Parameters.AddWithValue("@ID", null); cmd.ExecuteNonQuery(); } using (SqlCommand cmd = new SqlCommand("SupportIssueLinksUpdate", con, null)) { foreach (var lnk in faq.lnks) { cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@SupportIssueID", lnk.sIid); cmd.Parameters.AddWithValue("@Path", lnk.pth); cmd.Parameters.AddWithValue("@ID", lnk.id); cmd.ExecuteNonQuery(); } } } }
private void LoadFaQsIntoCache(object obj) { using (var con = new SqlConnection()) { con.ConnectionString = @"Data Source=DANEL-DB\S16;Initial Catalog=support_new;Integrated Security=True;"; con.Open(); using (SqlCommand cmd = new SqlCommand("SupportIssuesSelect", con, null)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; try { Dictionary <int?, SupportIssue> supportIssues = new Dictionary <int?, SupportIssue>(); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { SupportIssue si = new SupportIssue(); si.id = reader["ID"].ToString().ToNullable <int>(); si.mID = reader["ModuleID"].ToString().ToNullable <int>(); si.prb = reader["Problem"].ToString(); si.sln = reader["Solution"].ToString(); si.mdlName = reader["Text"].ToString(); si.ts = Convert.ToDateTime(reader["TimeStamp"].ToString()); supportIssues.Add(si.id, si); } var mdls = WebCacheManager.Instance.GetValue <Module[]>("mdls"); foreach (var item in supportIssues.Values) { bool skip = false; var mID = item.mID; foreach (var mdl in mdls) { if (skip) { break; } var v = mdl.Descendants().Where(i => i.id == mID); if (v.Any()) { item.mod = mdl; skip = true; } } } reader.NextResult(); List <SupportIssueLink> supportIssueLinks = new List <SupportIssueLink>(); while (reader.Read()) { SupportIssueLink sil = new WebApplication55.SupportIssueLink(); sil.id = Convert.ToInt32(reader["ID"].ToString()); sil.pth = reader["Path"].ToString(); sil.nm = Path.GetFileName(reader["Path"].ToString()); sil.sIid = Convert.ToInt32(reader["SupportIssueID"].ToString()); supportIssueLinks.Add(sil); } var grpd = supportIssueLinks.GroupBy(i => i.sIid); foreach (var item in grpd) { SupportIssue si; if (supportIssues.TryGetValue(item.Key, out si)) { si.lnks = item.ToArray(); } } } var toArray = supportIssues.Values.ToArray(); WebCacheManager.Instance.SetValue("sis", toArray); WebCacheManager.Instance.SetValue("sisTime", DateTime.Now); } catch (Exception) { } } } }