public IActionResult Index(int year) { Func <string, IDictionary <string, object>, IEnumerable <WorldCupFsharpRepositoryModule.WorldCupDto> > readDataFunc = (s, p) => _postgresConnection.readData <WorldCupFsharpRepositoryModule.WorldCupDto>(s, p); var readData = FuncConvert.FromFunc(readDataFunc); var worldCupFsharpOption = WorldCupFsharpRepositoryModule.findByYear(readData, YearModule.create(year)); if (worldCupFsharpOption.HasValue()) { var worldCupFsharp = worldCupFsharpOption.Value; var worldCupVm = new WorldCupVm { Year = YearModule.value(worldCupFsharp.Year), Host = WorldCupHostModule.value(worldCupFsharp.Host), Winner = CountryModule.value(worldCupFsharp.Winner) }; return(Content(JsonConvert.SerializeObject(worldCupVm), "application/json")); } return(NotFound()); }
public void Post([FromBody] WorldCupVm wc) { var worldCupFsharpToSave = new WorldCupFsharp( WorldCupId.NewWorldCupId(Guid.NewGuid()), YearModule.create(wc.Year), WorldCupHostModule.create(wc.Host), Country.NewCountry(wc.Winner) ); Action <string, IDictionary <string, object> > writeData = _postgresConnection.writeData; var fSharpWriteData = FuncConvert.FromAction(writeData); WorldCupFsharpRepositoryModule.save(fSharpWriteData, worldCupFsharpToSave); }