public void RemoveRuleFromDB(_m_Internet_Connection_Disable_Enable_Node RuleNode)
        {
            string        sql = "DELETE from DisableEnableRuleList where RuleName==@RuleName";
            SQLiteCommand cmd = new SQLiteCommand(sql, dbConnection);

            cmd.CommandType = CommandType.Text;
            cmd.Parameters.Add(new SQLiteParameter("@RuleName", RuleNode.RuleName));
            SQLiteDataReader reader = cmd.ExecuteReader();
        }
        private _m_Internet_Connection_Disable_Enable_Node ReaderToRule(SQLiteDataReader Reader)
        {
            _m_Internet_Connection_Disable_Enable_Node micden = new _m_Internet_Connection_Disable_Enable_Node();

            micden.RuleName       = Reader["RuleName"].ToString();
            micden.StartTime      = DateTime.Parse(Reader["StartTime"].ToString());
            micden.EndTime        = DateTime.Parse(Reader["EndTime"].ToString());
            micden.Action         = bool.Parse(Reader["Action"].ToString());
            micden.Eth_TargetName = Reader["Eth_TargetName"].ToString();
            micden.RuleStatus     = bool.Parse(Reader["RuleStatus"].ToString());
            return(micden);
        }
        public void AddRuleToDB(_m_Internet_Connection_Disable_Enable_Node RuleNode)
        {
            SQLiteCommand cmd = new SQLiteCommand(dbConnection);

            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "insert into DisableEnableRuleList (RuleName,StartTime,EndTime,Action,Eth_TargetName,RuleStatus)  values (@RuleName,@StartTime,@EndTime,@Action,@Eth_TargetName,@RuleStatus)";
            cmd.Parameters.Add("RuleName", DbType.String).Value       = RuleNode.RuleName;
            cmd.Parameters.Add("StartTime", DbType.DateTime).Value    = RuleNode.StartTime;
            cmd.Parameters.Add("EndTime", DbType.DateTime).Value      = RuleNode.EndTime;
            cmd.Parameters.Add("Action", DbType.Boolean).Value        = RuleNode.Action;
            cmd.Parameters.Add("Eth_TargetName", DbType.String).Value = RuleNode.Eth_TargetName;
            cmd.Parameters.Add("RuleStatus", DbType.Boolean).Value    = RuleNode.RuleStatus;
            cmd.ExecuteNonQuery();
        }
        /// <summary>
        /// Called when [add rule to internet connection watcher].
        /// </summary>
        /// <param name="RuleToAdd">The new rule.</param>
        /// <returns>OnAddRuleToInternetConnectionWatcherResponse object.if successful return a "NewInternetConnectionRuleAdded" Message if File watcher is stoped or not created ergo return "InternetConnectionWatcherIsNotRunning" message else return error</returns>
        public static OnAddRuleToInternetConnectionWatcherResponse OnAddRuleToInternetConnectionWatcher(_m_Internet_Connection_Disable_Enable_Node RuleToAdd)
        {
            OnAddRuleToInternetConnectionWatcherResponse ROnAddRuleToInternetConnectionWatcherResponse = new OnAddRuleToInternetConnectionWatcherResponse();

            try
            {
                if (miccw != null)
                {
                    miccw.AddRuleToList(RuleToAdd);
                    ROnAddRuleToInternetConnectionWatcherResponse.Description = "NewInternetConnectionRuleAdded";
                }
                else
                {
                    ROnAddRuleToInternetConnectionWatcherResponse.Description = "InternetConnectionWatcherIsNotRunning";
                }
            }
            catch (Exception ex)
            {
                ROnAddRuleToInternetConnectionWatcherResponse.Errors.AddErrorToErrorList(MethodBase.GetCurrentMethod().ToString(), ex.Message);
            }
            return(ROnAddRuleToInternetConnectionWatcherResponse);
        }
        /// <summary>
        /// Called when [remove rule from internet connection watcher].
        /// </summary>
        /// <param name="FilterdFolder">The filterd folder.</param>
        /// <returns>OnRemoveFilterFromFileWatcherResponse object.if successful return a "FilteredFolderRemoved" Message and if the old filter is not find for remove return "FilteredFolderNotFindToRemoved" message if File watcher is stoped or not created ergo return "FileWatcherIsNotRunning" message else return error</returns>
        public static OnRemoveRuleFromInternetConnectionWatcherResponse OnRemoveRuleFromInternetConnectionWatcher(_m_Internet_Connection_Disable_Enable_Node RuleToRemove)
        {
            OnRemoveRuleFromInternetConnectionWatcherResponse ROnRemoveRuleFromInternetConnectionWatcherResponse = new OnRemoveRuleFromInternetConnectionWatcherResponse();

            try
            {
                if (miccw != null)
                {
                    if (miccw.RemoveRuleFromList(RuleToRemove))
                    {
                        ROnRemoveRuleFromInternetConnectionWatcherResponse.Description = "InternetConnetionRuleRemoved";
                    }
                    else
                    {
                        ROnRemoveRuleFromInternetConnectionWatcherResponse.Description = "InternetConnetionRuleNotFindToRemoved";
                    }
                }
                else
                {
                    ROnRemoveRuleFromInternetConnectionWatcherResponse.Description = "InternetConnetionWatcherIsNotRunning";
                }
            }
            catch (Exception ex)
            {
                ROnRemoveRuleFromInternetConnectionWatcherResponse.Errors.AddErrorToErrorList(MethodBase.GetCurrentMethod().ToString(), ex.Message);
            }
            return(ROnRemoveRuleFromInternetConnectionWatcherResponse);
        }
 /// <summary>
 /// Removes the rule from list.
 /// </summary>
 /// <param name="RuleToRemove">The rule to remove.</param>
 /// <returns></returns>
 public bool RemoveRuleFromList(_m_Internet_Connection_Disable_Enable_Node RuleToRemove)
 {
     micdeDB.RemoveRuleFromDB(RuleToRemove);
     return(RuleList.Remove(RuleToRemove));
 }
 //TODO disable enable rule
 /// <summary>
 /// Adds the rule to list.
 /// </summary>
 /// <param name="RuleToAdd">The rule to add.</param>
 public void AddRuleToList(_m_Internet_Connection_Disable_Enable_Node RuleToAdd)
 {
     micdeDB.AddRuleToDB(RuleToAdd);
     RuleList.Add(RuleToAdd);
 }