Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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-----------------------");
        }