public async Task <IActionResult> CreateAsync([FromBody] Client.Entry.EntryBuildInfo entryBuildInfo, CancellationToken cancellationToken) { if (entryBuildInfo == null) { var error = ServiceErrorResponses.BodyIsMissing("Entry"); return(this.BadRequest(error)); } var userId = User.FindFirstValue("userId"); if (userId == null) { var error = ServiceErrorResponses.InvalidClaims("userId"); return(this.BadRequest(error)); } var entryCreationInfo = new EntryCreationInfo(userId, entryBuildInfo.ActivityId); Entry modelEntry; try { modelEntry = await entryRepository.CreateAsync(entryCreationInfo, cancellationToken); } catch (EntryDuplicationException e) { return(BadRequest(e.Message)); } var clientEntry = EntryConverter.Convert(modelEntry); return(CreatedAtRoute( "GetEntry", new { id = clientEntry.Id }, clientEntry)); }
public void EventEntryWithoutLocationReturnsJaevnerEntryWithEmptyLocation() { var eventEntry = new EventEntry("Title", "Description"); var eventTime = new When(DateTime.Now, DateTime.Now.AddHours(1)); eventEntry.Times.Add(eventTime); JaevnerEntry entry = EntryConverter.GetJaevnerEntry(eventEntry); entry.Location.Should().BeEmpty(); }
public async Task <IActionResult> GetAsync([FromRoute] string id, CancellationToken cancellationToken) { if (id == null) { var error = ServiceErrorResponses.InvalidRouteParameter("EntryId"); return(this.BadRequest(error)); } var entry = await entryRepository.GetAsync(id); var clientEntry = EntryConverter.Convert(entry); return(Ok(clientEntry)); }
public void FilledEventEntryReturnsExpectedJaevnerEntry() { var entry = new JaevnerEntry(); entry.Title = "Title"; entry.Description = "Description"; entry.Location = "Location"; entry.StartDateTime = DateTime.Now; entry.EndDateTime = DateTime.Now.AddHours(1); EventEntry eventEntry = EntryConverter.GetEventEntry(entry); eventEntry.Title.Text.Should().Be("Title"); eventEntry.Content.Content.Should().Be("Description"); eventEntry.Locations[0].ValueString.Should().Be("Location"); eventEntry.Times[0].StartTime.Should().BeCloseTo(DateTime.Now, 5000); eventEntry.Times[0].EndTime.Should().BeCloseTo(DateTime.Now.AddHours(1), 5000); }
public void ConvertingFilledItem() { var eventEntry = new EventEntry("Title", "Description", "Location"); var eventTime = new When(DateTime.Now, DateTime.Now.AddHours(1)); var extended = new ExtendedProperty(); extended.Name = "UniqueId"; extended.Value = "4321"; eventEntry.ExtensionElements.Add(extended); eventEntry.Times.Add(eventTime); JaevnerEntry entry = EntryConverter.GetJaevnerEntry(eventEntry); entry.Title.Should().Be("Title"); entry.Description.Should().Be("Description"); entry.Location.Should().Be("Location"); entry.StartDateTime.Should().BeCloseTo(DateTime.Now, 5000); entry.EndDateTime.Should().BeCloseTo(DateTime.Now.AddHours(1), 5000); entry.UniqueId.Should().Be("4321"); }
public void TestSetup() { converter = new EntryConverter(); }
public static void Main(string[] args) { var cfgxsd = typeof(Program).Assembly.GetManifestResourceStream("config.xsd"); var subxsd = typeof(Program).Assembly.GetManifestResourceStream("subtitles.xsd"); try { using (var config = File.OpenRead("subtitles.cfg")) { ConfigWriter.Convert(config, cfgxsd); } using (var rawEntries = new BlockingCollection <RawEntry>()) using (var hashedEntries = new BlockingCollection <HashedEntry>()) using (var reader = new InputReader(File.OpenRead("subtitles.xml"), subxsd, rawEntries)) using (var writer = new OutputWriter(hashedEntries)) { var converter = new EntryConverter(rawEntries, hashedEntries); writer.Start(); converter.Start(); reader.Run(); converter.Wait(); writer.Wait(); } Console.WriteLine(); for (int i = 5; i >= 1; --i) { Console.Write($"\rAll done, quitting in {i}..."); Thread.Sleep(1000); } } catch (Exception e) { Console.WriteLine("*** ERROR ***"); if (e is XmlException || e is XmlSchemaValidationException) { // Dig through the stack trace to find which xml caused the error // ConfigWriter.Convert : subtitles.cfg // InputReader.Run : subtitles.xml var ext = e.StackTrace.Split('\n') .Any(l => l.Contains($"{typeof(InputReader).FullName}.{nameof(InputReader.Run)}")) ? "xml" : "cfg"; Console.WriteLine($"XML error in subtitles.{ext}:\n{e.Message}"); } else if (e is FileNotFoundException) { Console.WriteLine(e.Message); } else if (e is FileSanityException) { var fse = (FileSanityException)e; Console.WriteLine($"{fse.FileName}: {fse.Message}"); } else { Console.WriteLine($"{e.GetType().Name}: {e.Message}\n{e.StackTrace}"); } File.Delete("flsc.dat"); File.Delete("flsd.dat"); Console.WriteLine("\nPress Enter to continue..."); Console.ReadLine(); } }