示例#1
0
        private async Task <bool> SyncLocalData(SQLite.SQLiteConnection conn, Data.SyncLog sl)
        {
            SQLite.SQLiteCommand cmd = conn.CreateCommand(String.Format(SqlText, sl.TableName, sl.KeyField), sl.KeyValue);
            dynamic Result;

            switch (sl.TableName)
            {
            case "DoctorCheckLog": Result = cmd.ExecuteQuery <Data.DoctorCheckLog>().SingleOrDefault(); break;

            case "PadAdvice": Result = cmd.ExecuteQuery <Data.PadAdvice>().SingleOrDefault(); break;

            default: return(false);
            }
            if (Result != null)
            {
                object[] Data       = sl.ChangeType != "DELETE" ? Result.Data : null;
                string[] Fields     = Result.FieldArray;
                object   SyncResult = await RemoteExcute(new object[] { sl.DeviceID, sl.InhosID, sl.TableName, sl.KeyField, sl.KeyValue, sl.ChangeType, sl.ChangeDate, Fields, Data });

                if (SyncResult != null && (bool)SyncResult)
                {
                    conn.Delete(sl);
                }
            }
            return(true);
        }
示例#2
0
 internal void SaveSyncLog(SQLiteConnection conn, Data.SyncLog sl)
 {
     sl.LogID      = Guid.NewGuid().ToString();
     sl.DeviceID   = iCommon.DeviceID;
     sl.InhosID    = iCommon.Patient.InhosID;
     sl.ChangeDate = iCommon.DateNow;
     conn.Insert(sl);
 }