public WorldCupFsharp FindByYear(int year) { try { var readStatement = @" select id, year, host_country as hostCountry, winner from world_cup where year = @year"; var result = _postgresConnection.readData <WorldCupFsharpDto>(readStatement, new { year }).Single(); return(new WorldCupFsharp( WorldCupId.NewWorldCupId(result.Id), YearModule.create(result.Year), WorldCupHost.NewHost(Country.NewCountry(result.HostCountry)), Country.NewCountry(result.Winner) )); } catch (Exception ex) { return(null); } }
public void Post([FromBody] WorldCupVm wc) { var worldCupCsharp = new WorldCupFsharp( WorldCupId.NewWorldCupId(Guid.NewGuid()), YearModule.create(wc.Year), WorldCupHostModule.create(wc.Host), Country.NewCountry(wc.Winner) ); _worldCupRepositoryCSharpV1.Save(worldCupCsharp); }
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); }
public IActionResult Index(int year) { var worldCupFsharpOption = _worldCupRepository.FindByYear(YearModule.create(year)); if (OptionModule.IsSome(worldCupFsharpOption)) //you'll get access to Option, List, etc module options as well { 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 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()); }