示例#1
0
        public void UpdateCaseData(CovidObservationDatum covidObservationDatum)
        {
            var item = _context.CovidObservationData.FirstOrDefault(x => x.Id == covidObservationDatum.Id);

            item.Confirmed = covidObservationDatum.Confirmed;
            item.Deaths    = covidObservationDatum.Deaths;
            item.Recovered = covidObservationDatum.Recovered;

            _context.CovidObservationData.Update(item);
        }
示例#2
0
        public CovidObservationDatumDto ToCovidCaseDataDto(CovidObservationDatum entity)
        {
            var dto = new CovidObservationDatumDto()
            {
                Country   = entity.Country,
                Confirmed = entity.Confirmed,
                Recovered = entity.Recovered,
                Deaths    = entity.Deaths
            };

            return(dto);
        }
示例#3
0
        public static void SeedCSVData()
        {
            string fullPath = Environment.CurrentDirectory + "\\covid_19_data.csv";

            using (StreamReader sr = new StreamReader(fullPath))
            {
                string[] headers = sr.ReadLine().Split(',');

                Regex CSVParser = new Regex(",(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))");

                List <CovidObservationDatum> tableRows = new List <CovidObservationDatum>();

                while (!sr.EndOfStream)
                {
                    var      lineData = sr.ReadLine();
                    string[] row      = CSVParser.Split(lineData);

                    var rowData = new CovidObservationDatum
                    {
                        Id = Convert.ToInt32(row[0]),
                        ObservationDate = Convert.ToDateTime(row[1]),
                        ProvinceState   = row[2],
                        Country         = row[3],
                        LastUpdate      = Convert.ToDateTime(row[4]),
                        Confirmed       = Convert.ToInt32(row[5]),
                        Deaths          = Convert.ToInt32(row[6]),
                        Recovered       = Convert.ToInt32(row[7])
                    };

                    tableRows.Add(rowData);
                }

                var copyHelper = new PostgreSQLCopyHelper <CovidObservationDatum>("covid_observations")
                                 .MapInteger(headers[0], x => x.Id)
                                 .MapDate(headers[1], x => x.ObservationDate)
                                 .MapText(headers[2], x => x.ProvinceState)
                                 .MapText(headers[3], x => x.Country)
                                 .MapDate(headers[4], x => x.LastUpdate)
                                 .MapInteger(headers[5], x => x.Confirmed)
                                 .MapInteger(headers[6], x => x.Deaths)
                                 .MapInteger(headers[7], x => x.Recovered);

                using (var connection = new NpgsqlConnection(Startup.ConnectionString))
                {
                    connection.Open();

                    copyHelper.SaveAll(connection, (tableRows));
                }
            }
        }
示例#4
0
        public void AddCovidObservationsDatum(CovidObservationDatum covidObservationDatum)
        {
            if (covidObservationDatum == null)
            {
                throw new ArgumentNullException(nameof(covidObservationDatum));
            }

            var collection = _context.CovidObservationData as IEnumerable <CovidObservationDatum>;

            var lastDataId = collection.LastOrDefault().Id;

            covidObservationDatum.Id = lastDataId + 1;

            _context.CovidObservationData.Add(covidObservationDatum);
        }
示例#5
0
        public CovidObservationDatum ToCovidObservationDatum(CovidObservationDatumUpdateDto covidObservationDatum)
        {
            var entity = new CovidObservationDatum()
            {
                ObservationDate = covidObservationDatum.ObservationDate,
                ProvinceState   = covidObservationDatum.ProvinceState,
                Country         = covidObservationDatum.Country,
                LastUpdate      = covidObservationDatum.LastUpdate,
                Confirmed       = covidObservationDatum.Confirmed,
                Deaths          = covidObservationDatum.Deaths,
                Recovered       = covidObservationDatum.Recovered
            };

            return(entity);
        }
示例#6
0
        public IEnumerable <CovidObservationDatum> ToObservationCollection(IEnumerable <CovidObservationDatumInputDto> observationCollection)
        {
            var observationList = new List <CovidObservationDatum>();

            foreach (var item in observationCollection)
            {
                var entity = new CovidObservationDatum()
                {
                    ObservationDate = item.ObservationDate,
                    ProvinceState   = item.ProvinceState,
                    Country         = item.Country,
                    LastUpdate      = item.LastUpdate,
                    Confirmed       = item.Confirmed,
                    Deaths          = item.Deaths,
                    Recovered       = item.Recovered
                };

                observationList.Add(entity);
            }

            return(observationList);
        }