Example #1
0
 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();
             }
         }
     }
 }
Example #2
0
        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) { }
                }
            }
        }