Beispiel #1
0
 public void Remove(FAQDBModel faqDB)
 {
     base.BaseRemove(GetElementKey(faqDB));
 }
Beispiel #2
0
        public static FAQDBResult DetectDBStatus(List <FAQDBModel> dbModels)
        {
            if (dbModels == null || dbModels.Count == 0)
            {
                throw new ArgumentException("dbModels");
            }
            FAQDBResult result = new FAQDBResult();

            result.Detail = new List <FAQDBModel>();
            Stopwatch watch = new Stopwatch();

            foreach (var db in dbModels)
            {
                watch.Start();
                var dbModel = new FAQDBModel();
                try
                {
                    using (SqlConnection conn = new SqlConnection(db.ConnectionString))
                    {
                        conn.Open();
                        using (SqlCommand cmd = new SqlCommand(db.SqlScript, conn))
                        {
                            SqlDataReader reader = cmd.ExecuteReader();
                            if (reader.HasRows)
                            {
                                dbModel.IsSuccessful = true;
                            }
                            else
                            {
                                dbModel.IsSuccessful = false;
                            }
                            if (reader != null)
                            {
                                reader.Close();
                            }
                            watch.Stop();
                        }
                    }
                }
                catch (Exception ex)
                {
                    watch.Stop();
                    dbModel.IsSuccessful     = false;
                    dbModel.ExceptionMessage = ex.Message;
                }
                finally
                {
                    dbModel.DBInstanceName = db.DBInstanceName;
                    dbModel.DBName         = db.DBName;
                    dbModel.SqlScript      = db.SqlScript;
                    dbModel.ResponseTime   = watch.ElapsedMilliseconds;
                    result.Detail.Add(dbModel);
                    if (watch != null)
                    {
                        watch.Reset();
                    }
                }
            }
            result.Flag = (result.Detail.Where(p => p.IsSuccessful == true).Count() == dbModels.Count) ? true : false;
            return(result);
        }
Beispiel #3
0
 public void Add(FAQDBModel faqDB)
 {
     base.BaseAdd(faqDB);
 }