internal static async void InsertOrIncrementTrackTag(TrackTag trackTag) { try { // get the table CloudTable table = tableClient.GetTableReference(TrackTagsTable); await table.CreateIfNotExistsAsync(); var exists = await GetTrackTag(trackTag.PartitionKey, trackTag.RowKey); if (exists != null) { // update exists.count++; TableOperation op = TableOperation.Merge(exists); await table.ExecuteAsync(op); } else { // insert trackTag.count = 1; TableOperation op = TableOperation.InsertOrReplace(trackTag); await table.ExecuteAsync(op); } } catch (StorageException e) { throw; } }
internal static async void DeleteTrackTag(TrackTag trackTag) { try { // reference track table CloudTable table = tableClient.GetTableReference(TrackTagsTable); await table.CreateIfNotExistsAsync(); TableOperation op = TableOperation.Delete(trackTag); await table.ExecuteAsync(op); } catch { throw; } }
private static TrackTag ReadTrackTag(BinaryReader r, bool rot, bool switchYZ) { TrackTag t = new TrackTag(); t.flags = ReadShort(r); r.ReadBytes(8); t.keys = ReadShort(r); ReadShort(r); for (ushort i = 0; i < t.keys; ++i) { TrackTagElement te = new TrackTagElement(); te.framenum = ReadShort(r); r.ReadBytes(4); if (rot) { te.possibleRotation = r.ReadSingle(); } te.vec = ReadVec3(r, switchYZ); t.elements.Add(te); } return(t); }
/// <summary> /// /// </summary> /// <param name="tag"></param> /// <param name="message"></param> public static void Log(TrackTag tag, string message) { instance.records.Add(new TrackText { Tag = tag, Text = message }); }
public static void InsertOrIncrementTrackTag(TrackTag trackTag) { TableStorageRepository.InsertOrIncrementTrackTag(trackTag); }
public static void DeleteTrackTag(TrackTag trackTag) { TableStorageRepository.DeleteTrackTag(trackTag); }