private void OnChanged(object source, FileSystemEventArgs e)
        {
            watcher.EnableRaisingEvents = false;
            string[]      lines;
            List <string> list = new List <string>();

            Thread.Sleep(3000);
            using (FileStream fs = new FileStream("transaction_log_files\\" + e.Name, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
            {
                using (StreamReader sr = new StreamReader(fs))
                {
                    string line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        list.Add(line);
                    }
                    lines = list.ToArray();
                    foreach (string l in lines.Skip(4))
                    {
                        string[]           lineValues         = l.Split(' ');
                        int                accountId          = Convert.ToInt32(lineValues[0]);
                        double             depositAmount      = Convert.ToDouble(lineValues[1], CultureInfo.InvariantCulture);
                        TransactionDeposit transactionDeposit = new TransactionDeposit(accountId, depositAmount, e.Name, lines[0], lines[1], lines[2], Convert.ToInt32(lines[3]));

                        connection.DepositBalance(accountId, depositAmount);

                        this.transactionDepositList.Add(transactionDeposit);
                    }
                    watcher.EnableRaisingEvents = true;
                }
            }

            //try
            //{
            //    watcher.EnableRaisingEvents = false;

            //    string[] lines = File.ReadAllLines("transaction_log_files\\" + e.Name);

            //    foreach (string line in lines.Skip(4))
            //    {
            //        string[] lineValues = line.Split(' ');
            //        int accountId = Convert.ToInt32(lineValues[0]);
            //        double depositAmount = Convert.ToDouble(lineValues[1], CultureInfo.InvariantCulture);
            //        TransactionDeposit transactionDeposit = new TransactionDeposit(accountId, depositAmount, e.Name, lines[0], lines[1], lines[2], Convert.ToInt32(lines[3]));

            //        connection.DepositBalance(accountId, depositAmount);

            //        //this.transactionDepositList.Add(transactionDeposit);
            //    }
            //}
            //catch (Exception ex)
            //{
            //    Debug.WriteLine(ex.Message);
            //}
            //finally
            //{
            //    watcher.EnableRaisingEvents = true;
            //    if (watcher != null)
            //    {
            //        ((IDisposable)watcher).Dispose();
            //        StartWatcher();
            //    }
            //}
        }