12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Data.SqlClient;
- using System.Data;
- using System.Configuration;
- using Newtonsoft.Json;
- namespace ConsoleDataSync
- {
- public class UesrServer
- {
- public static void Main(string[] args)
- {
- string sendTableName = "SMSHasSend_" + DateTime.Now.ToString("yyyyMM");
- string recvTableName = "SMSHasReceived_" + DateTime.Now.ToString("yyyyMM");
- DataProvider.E(cmd =>
- {
- cmd.CommandText = "IF OBJECT_ID(N'" + sendTableName + "',N'U') IS NULL SELECT * INTO " + sendTableName + " FROM SMSHasSend " + "ELSE DELETE FROM " + sendTableName;
- cmd.ExecuteNonQuery();
- });
- DataProvider.E(cmd =>
- {
- cmd.CommandText = "IF OBJECT_ID(N'" + recvTableName + "',N'U') IS NULL SELECT * INTO " + recvTableName + " FROM SMSHasReceived " + "ELSE DELETE FROM " + recvTableName;
- cmd.ExecuteNonQuery();
- });
- DataProvider.E(cmd =>
- {
- cmd.CommandText = "DELETE FROM USERS";
- cmd.ExecuteNonQuery();
- });
- string[] sources = JsonConvert.DeserializeObject<string[]>(ConfigurationManager.AppSettings["user-sources"]);
- foreach(string s in sources)
- {
- using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings[s].ConnectionString))
- {
- try
- {
- connection.Open();
- DataSet ds = new DataSet();
- SqlDataAdapter command = new SqlDataAdapter("SELECT * FROM USERS", connection);
- command.Fill(ds, "Users");
- DataProvider.Insert("Users", ds.Tables[0], ds.Tables[0].Rows.Count);
- }
- catch (SqlException ex)
- {
- throw new Exception(ex.Message);
- }
-
- }
- }
- sources = JsonConvert.DeserializeObject<string[]>(ConfigurationManager.AppSettings["sms-sources"]);
- foreach (string s in sources)
- {
- using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings[s].ConnectionString))
- {
- try
- {
- connection.Open();
- SqlDataAdapter command;
- DataSet sendMsgs = new DataSet();
- command = new SqlDataAdapter("IF OBJECT_ID(N'" + sendTableName + "', N'U') IS NOT NULL SELECT * FROM " + sendTableName, connection);
- command.Fill(sendMsgs, sendTableName);
- if (sendMsgs.Tables.Count > 0)
- DataProvider.Insert(sendTableName, sendMsgs.Tables[0], sendMsgs.Tables[0].Rows.Count);
- DataSet recvMsgs = new DataSet();
- command = new SqlDataAdapter("IF OBJECT_ID(N'" + recvTableName + "', N'U') IS NOT NULL SELECT * FROM " + recvTableName, connection);
- command.Fill(recvMsgs, recvTableName);
- if (recvMsgs.Tables.Count > 0)
- DataProvider.Insert(recvTableName, recvMsgs.Tables[0], recvMsgs.Tables[0].Rows.Count);
- }
- catch (SqlException ex)
- {
- throw new Exception(ex.Message);
- }
- }
- }
- }
-
- }
- }
|