Advertisement
sandunfx

Untitled

Jul 26th, 2018
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.64 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Data.SqlClient;
  7. using System.Threading;
  8. using System.Transactions;
  9.  
  10. namespace CopyRates
  11. {
  12.     class Program
  13.     {
  14.         private static SqlConnection conAn = new SqlConnection(Properties.Settings.Default.An);
  15.         private static SqlConnection conWin = new SqlConnection(Properties.Settings.Default.Win);
  16.  
  17.         static void Main(string[] args)
  18.         {
  19.             if (GetMaxDateWin() > GetMaxDateAn())
  20.             {
  21.                 Thread.Sleep(5000);
  22.                 UpdateRates();
  23.                 Console.Out.WriteLine("Updated");
  24.             }
  25.             else
  26.             {
  27.                 Console.Out.WriteLine("Not Updated");
  28.             }
  29.         }
  30.  
  31.         private static void UpdateRates()
  32.         {
  33.             using (TransactionScope transactionScope = new TransactionScope())
  34.             {
  35.                 try
  36.                 {
  37.                     SqlCommand cmdWin = new SqlCommand();
  38.                     cmdWin.Connection = conWin;
  39.  
  40.                     SqlCommand cmdAn = new SqlCommand();
  41.                     cmdAn.Connection = conAn;
  42.  
  43.                     conWin.Open();
  44.                     conAn.Open();
  45.  
  46.                     cmdWin.CommandText = " select CurrencyId, BranchGroupId, CurrencyBuying, CurrencySelling " +
  47.                                          " from tbl_ExchangeRate                                             ";
  48.  
  49.                     cmdAn.CommandText = " INSERT INTO[dbo].[tbl_ExchangeRate] " +
  50.                                         "         ([CurrencyId]               " +
  51.                                         "         ,[BranchGroupId]            " +
  52.                                         "         ,[CurrencyBuying]           " +
  53.                                         "         ,[CurrencySelling]          " +
  54.                                         "         ,[UpdatedDate])             " +
  55.                                         "   VALUES                            " +
  56.                                         "         ( @CurrencyId               " +
  57.                                         "         , @BranchGroup              " +
  58.                                         "         , @Buying                   " +
  59.                                         "         , @Selling                  " +
  60.                                         "         , @Date)                    ";
  61.  
  62.                     SqlDataReader winReader = cmdWin.ExecuteReader();
  63.  
  64.                     SqlCommand cmdAnDelete = new SqlCommand();
  65.                     cmdAnDelete.Connection = conAn;
  66.                     cmdAnDelete.CommandText = "DELETE FROM tbl_ExchangeRate";
  67.                     cmdAnDelete.ExecuteNonQuery();
  68.  
  69.                     while (winReader.Read())
  70.                     {
  71.                         cmdAn.Parameters.Clear();
  72.                         cmdAn.Parameters.AddWithValue("@CurrencyId", winReader[0]);
  73.                         cmdAn.Parameters.AddWithValue("@BranchGroup", 41);
  74.                         cmdAn.Parameters.AddWithValue("@Buying", winReader[2]);
  75.                         cmdAn.Parameters.AddWithValue("@Selling", winReader[3]);
  76.                         cmdAn.Parameters.AddWithValue("@Date", DateTime.Now);
  77.                         cmdAn.ExecuteNonQuery();
  78.                     }
  79.  
  80.                     conWin.Close();
  81.                     conAn.Close();
  82.                     transactionScope.Complete();
  83.                 }
  84.                 catch(Exception ex)
  85.                 {
  86.                     Console.Out.WriteLine(ex.Message);
  87.                     Console.Out.WriteLine(ex.StackTrace);
  88.                     transactionScope.Dispose();
  89.                 }
  90.             }
  91.         }
  92.  
  93.         private static DateTime GetMaxDateWin()
  94.         {
  95.             SqlCommand cmd = new SqlCommand();
  96.             cmd.Connection = conWin;
  97.             cmd.CommandText = " SELECT     MAX(UpdatedDate) " +
  98.                               " FROM tbl_ExchangeRate       ";
  99.  
  100.             conWin.Open();
  101.  
  102.             DateTime max = Convert.ToDateTime(cmd.ExecuteScalar());
  103.  
  104.             conWin.Close();
  105.  
  106.             return max;
  107.         }
  108.  
  109.         private static DateTime GetMaxDateAn()
  110.         {
  111.             SqlCommand cmd = new SqlCommand();
  112.             cmd.Connection = conAn;
  113.             cmd.CommandText = " SELECT     MAX(UpdatedDate) " +
  114.                               " FROM tbl_ExchangeRate       ";
  115.  
  116.             conAn.Open();
  117.  
  118.             DateTime max = Convert.ToDateTime(cmd.ExecuteScalar());
  119.  
  120.             conAn.Close();
  121.  
  122.             return max;
  123.         }
  124.     }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement