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(); }
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); } }