private void OnNewDefinition(VirusDefinition virusDefinition) { Debug.WriteLine("New Virus definition in database for: " + virusDefinition.FileName); if (NewDefinition != null) { NewDefinition(this, new NewDefinitionEventHandlerArgs { VirusDefinition = virusDefinition }); } }
public static string GenerateName(VirusDefinition definition) { return(definition.ScanResults.First(s => s.Definition.Length > 0).Definition); }
static void Main(string[] args) { args = new string[] { "Covid-19" }; if (args.Length == 0) { Console.WriteLine("You didn't set the virus code."); } var virusCode = args[0]; var csvFile = File.ReadAllLines(string.Join('\\', Program.currentAssemblyPath, downloadFolder, fileName)); var listFromUpload = new List <CsvCovidInfection>(); //Skipping first row: Titles //0: date, //1: location, //2: new_cases, //3: new_deaths, //4: total_cases, //5: total_deaths foreach (var row in csvFile.Skip(1)) { var eventDate = DateTime.MinValue; var newDefault = 0; var deathDefault = 0; var fields = row.Split(','); int.TryParse(fields[2], out newDefault); int.TryParse(fields[3], out deathDefault); DateTime.TryParse(fields[0], out eventDate); //ToDo: Check date for event date to filter (from last run to today) listFromUpload.Add(new CsvCovidInfection { EventDate = eventDate, Location = fields[1], New = newDefault, Death = deathDefault }); } using (var ctx = new InfectionDbContext()) { //Check Virus Definition var virusDefinition = ctx.VirusDefinition.Where(x => x.VirusCode == virusCode).FirstOrDefault(); if (virusDefinition == null) { virusDefinition = new VirusDefinition() { VirusName = "Corona Virus", VirusCode = virusCode, }; ctx.VirusDefinition.Add(virusDefinition); } //add the list on database foreach (var item in listFromUpload) { virusDefinition.EventCaseDefinition.Add(new EventCaseDefinition() { DateEvent = item.EventDate, Death = item.Death, Infected = item.New, Location = item.Location, UidCase = Guid.NewGuid(), }); } ctx.SaveChanges(); } }