コード例 #1
0
        public async Task SavaEpicInDataBase(EPIC epic)
        {
            EPIC check = await _context.EPIC.AsNoTracking().FirstOrDefaultAsync(t => t.Date.Equals(epic.Date));

            if (check is null)
            {
                await _context.EPIC.AddAsync(epic);

                await _context.SaveChangesAsync();
            }

            //remove old ones
            List <EPIC> EPICs = await _context.EPIC.ToListAsync();

            if (EPICs.Count <= 20)
            {
                return;
            }

            for (int i = 0; i < EPICs.Count - 20; i++)
            {
                _context.EPIC.Remove(EPICs[i]);
            }

            await _context.SaveChangesAsync();
        }
コード例 #2
0
        public async Task GetEpicData(string data)
        {
            if (data is null)
            {
                return;
            }

            JArray json = JArray.Parse(data);

            string epicLink = "https://epic.gsfc.nasa.gov/archive/natural/";

            for (int i = 0; i < json.Count; i++)
            {
                JObject jObject = JObject.Parse(json[i].ToString());
                EPIC    epic    = new EPIC()
                {
                    ImageName   = _jsonTools.GetValue <string>(jObject, "image"),
                    Date        = _jsonTools.GetValue <string>(jObject, "date"),
                    Description = _jsonTools.GetValue <string>(jObject, "caption")
                };

                epic.ImageName = epicLink + _dateFormater.FormatEPIC(epic.Date) + "/png/" + epic.ImageName + ".png";

                await _repository.SavaEpicInDataBase(epic);
            }
        }