Пример #1
0
        protected Boolean DeleteByLivePhrase()
        {
            SharedResorceManagerPool.WaitOne();

            try
            {
                SQLDatabase DBConnection = new SQLDatabase(ConfigurationManager.ConnectionStrings["dbConnectionString"].ToString());
                if (DBConnection == null)
                {
                    return(false);
                }

                DBConnection.Connect();

                ResorceManager rsMenager = new ResorceManager(DBConnection);
                if (rsMenager == null)
                {
                    return(false);
                }

                DataSet dsLanguages = null;
                rsMenager.ListAllLanguages(out dsLanguages);
                DBConnection.Disconnect();

                DateTime IsLiveTime = DateTime.UtcNow.Subtract(TimeSpan.FromMinutes(2)).ToLocalTime();

                Int32     IdLanguage = 0;
                DataRow[] RowPhrases;
                foreach (DataRow row in dsLanguages.Tables["Languages"].Rows)
                {
                    IdLanguage = Convert.ToInt32(row["IdLanguage"]);

                    RowPhrases = dsPhrases.Tables["tblPhrases"].Select(String.Format("IdLanguage = {0} AND DateTimeLive <= #{1:s}#", IdLanguage, IsLiveTime));
                    foreach (DataRow RowPhrase in RowPhrases)
                    {
                        RowPhrase.Delete();
                    }

                    dsPhrases.Tables["tblPhrases"].AcceptChanges();
                }
            }
            catch (Exception Ex)
            {
                Global.ErrorMessage(Ex, System.Web.HttpContext.Current);
                return(false);
            }
            finally
            {
                SharedResorceManagerPool.ReleaseMutex();
            }

            return(true);
        }