コード例 #1
0
        public void Add(string recordingsJson)
        {
            // Deserialise RecordingsJson
            List <RecordingEntry> jsonRecordingEntries = JsonConvert.DeserializeObject <RecordingsJson>(recordingsJson).recordingEntries;

            // Iterate through each RecordingEntry in JSON
            foreach (RecordingEntry jsonRecordingEntry in jsonRecordingEntries)
            {
                // Check if a RecordingEntry already exists for this Programme
                RecordingEntry recordingEntry = recordingEntries.FirstOrDefault(xx =>
                                                                                xx.programTitle == jsonRecordingEntry.programTitle &&
                                                                                xx.programEpisodeTitle == jsonRecordingEntry.programEpisodeTitle &&
                                                                                xx.programSeasonNumber == jsonRecordingEntry.programSeasonNumber &&
                                                                                xx.programEpisodeNumber == jsonRecordingEntry.programEpisodeNumber &&
                                                                                xx.startTime == jsonRecordingEntry.startTime &&
                                                                                xx.endTime == jsonRecordingEntry.endTime
                                                                                );
                if (recordingEntry == null)
                {
                    // Add the RecordingEntry
                    recordingEntries.Add(jsonRecordingEntry);
                }
                else
                {
                    // Remove Old RecordingEntry
                    recordingEntries.Remove(recordingEntry);
                    // Add New RecordingEntry
                    recordingEntries.Add(jsonRecordingEntry);
                }
            }
        }
コード例 #2
0
        public async Task <RecordingMetadata> CreateAsync(UserRecordingInput data)
        {
            var recordingEntry    = new RecordingEntry();
            var recordingMetadata = new RecordingMetadata();
            var id = Guid.NewGuid().ToString();

            recordingEntry.Recording      = data.Recording;
            recordingEntry.Id             = id;
            recordingMetadata.Title       = data.Title;
            recordingMetadata.Description = data.Description;
            recordingMetadata.CreatedBy   = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            recordingMetadata.GivenName   = User.FindFirstValue(ClaimTypes.GivenName);
            recordingMetadata.Surname     = User.FindFirstValue(ClaimTypes.Surname);
            recordingMetadata.Id          = id;
            recordingMetadata.CreatedAt   = DateTimeOffset.Now;
            await _cosmosDbService.AddRecordingAsync(recordingEntry, recordingMetadata);

            return(recordingMetadata);
        }
コード例 #3
0
 public async Task AddRecordingAsync(RecordingEntry recordingEntry, RecordingMetadata recordingMetadata)
 {
     await _containers["recordings"].CreateItemAsync(recordingEntry, new PartitionKey(recordingEntry.Id));
     await _containers["recording_metadata"].CreateItemAsync(recordingMetadata, new PartitionKey(recordingEntry.Id));
 }