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); }
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); }