Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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);
        }