internal static string NewSync() { Log.ActivityLog("-----------------------New sync transaction-----------------------"); Log.ActivityLog("Clear all table."); MealSetTableAdapter mealSetTA = new MealSetTableAdapter(); ScheduleTableAdapter scheduleTA = new ScheduleTableAdapter(); ScheduleMealSetDetailTableAdapter scheduleMealSetDetailTA = new ScheduleMealSetDetailTableAdapter(); ServingTimeTableAdapter servingTimeTA = new ServingTimeTableAdapter(); TransactionHistoryTableAdapter transactionHistoryTA = new TransactionHistoryTableAdapter(); TransactionTypeTableAdapter transactionTypeTA = new TransactionTypeTableAdapter(); UserInfoTableAdapter userInfoTA = new UserInfoTableAdapter(); UserTypeTableAdapter userTypeTA = new UserTypeTableAdapter(); userTypeTA.Connection.Open(); userInfoTA.Connection = userTypeTA.Connection; mealSetTA.Connection = userTypeTA.Connection; servingTimeTA.Connection = userTypeTA.Connection; scheduleTA.Connection = userTypeTA.Connection; scheduleMealSetDetailTA.Connection = userTypeTA.Connection; transactionTypeTA.Connection = userTypeTA.Connection; transactionHistoryTA.Connection = userTypeTA.Connection; using (SqlTransaction transaction = userTypeTA.Connection.BeginTransaction()) { userTypeTA.AttachTransaction(transaction); userInfoTA.AttachTransaction(transaction); mealSetTA.AttachTransaction(transaction); servingTimeTA.AttachTransaction(transaction); scheduleTA.AttachTransaction(transaction); scheduleMealSetDetailTA.AttachTransaction(transaction); transactionTypeTA.AttachTransaction(transaction); transactionHistoryTA.AttachTransaction(transaction); try { transactionHistoryTA.ClearTable(); transactionTypeTA.ClearTable(); scheduleMealSetDetailTA.ClearTable(); scheduleTA.ClearTable(); servingTimeTA.ClearTable(); mealSetTA.ClearTable(); userInfoTA.ClearTable(); userTypeTA.ClearTable(); } catch (Exception ex) { transaction.Rollback(); throw ex; } transaction.Commit(); } Log.ActivityLog("Clear all completed."); Log.ActivityLog("Register sync to server."); ServiceReference.WebServiceSoapClient soapClient = new ServiceReference.WebServiceSoapClient(); DateTime syncDate = DateTime.Now; string oldSyncID = XmlSync.GetSyncID(); string newSyncID = soapClient.NewSyncData(WebServiceAuth.AuthSoapHeader(), syncDate, oldSyncID); XmlSync.SaveNewSync(newSyncID); Log.ActivityLog("Register completed."); Log.ActivityLog("Geting xml data."); string fileNameList = XmlSync.RequestXmlFileName(newSyncID, true); IList<string> xmlPathList = XmlSync.SaveXmlFile(fileNameList); Log.ActivityLog("Save xml data completed."); Log.ActivityLog("Start sync."); XmlSync.Sync(xmlPathList); Log.ActivityLog("Sync completed."); Log.ActivityLog("Update last sync date."); XmlSync.SetLastSync(syncDate); soapClient.SetLastSyncAndInactiveFile(WebServiceAuth.AuthSoapHeader(), syncDate, fileNameList,newSyncID); Log.ActivityLog("-----------------------Sync transaction done-----------------------"); return newSyncID; }
internal static void StartSync() { Log.ActivityLog("-----------------------Start sync transaction-----------------------"); ServiceReference.WebServiceSoapClient soapClient = new ServiceReference.WebServiceSoapClient(); DateTime syncDate = DateTime.Now; string sendFilenames = XmlSync.SendXml(syncDate); string syncFilenames = soapClient.RequestSync(WebServiceAuth.AuthSoapHeader(), XmlSync.GetSyncID(), sendFilenames); IList<string> xmlFilePath = XmlSync.SaveXmlFile(syncFilenames); XmlSync.Sync(xmlFilePath); XmlSync.SetLastSync(syncDate); XmlSync.SetLastSyncAndInactiveFile(syncDate, sendFilenames); string syncID = XmlSync.GetSyncID(); soapClient.SetLastSyncAndInactiveFile(WebServiceAuth.AuthSoapHeader(), syncDate, syncFilenames, syncID); Log.ActivityLog("-----------------------End sync transaction-----------------------"); }