private void CreateNotification(Data dataOfStat, CoronaRecord previousRecord, out string title, out string messageBody, out bool isHaveUpdate)
        {
            title        = "කොරෝනා රොගීන් වැඩිවීමක්";
            messageBody  = "සෞඛ්‍ය ප්‍රවර්ධන කාර්යංශයට අනුව ";
            isHaveUpdate = false;

            // send notification to firebase

            if (previousRecord.CasesCount != dataOfStat.local_total_cases)
            {
                isHaveUpdate = true;
                messageBody += "නව රෝගීන් " + (dataOfStat.local_total_cases - previousRecord.CasesCount).ToString() + " ක්  හඳුනා ගනී. ";
            }


            if (previousRecord.DeathCount != dataOfStat.local_deaths)
            {
                isHaveUpdate = true;
                messageBody += "නව මරණ " + (dataOfStat.local_deaths - previousRecord.DeathCount).ToString() + " ක්  හඳුනා ගනී .";
            }
        }
        private async Task <CoronaRecord> UpdateStatChanges(Data data)
        {
            // get current data row using date
            var previousRecord = await this.coronaStatsDbContext.CoronaRecords.OrderByDescending(o => o.RecordDate.Date).Take(1).FirstOrDefaultAsync();

            var tempTreRecord = previousRecord.DeepClone <CoronaRecord>();

            if (previousRecord.RecordDate.Date == DateTime.Now.Date)
            {
                // update
                if (previousRecord.CasesCount != data.local_total_cases || previousRecord.DeathCount != data.local_deaths || previousRecord.RecoverCount != data.global_recovered)
                {
                    previousRecord.RecoverCount = data.local_recovered;
                    previousRecord.DeathCount   = data.local_deaths;
                    previousRecord.CasesCount   = data.local_total_cases;
                    previousRecord.SuspectCount = data.local_total_number_of_individuals_in_hospitals;
                    this.coronaStatsDbContext.CoronaRecords.Update(previousRecord);
                    await this.coronaStatsDbContext.SaveChangesAsync();
                }
            }
            else
            {
                // insert
                var newRecord = new CoronaRecord()
                {
                    RecordDate   = DateTime.Now.Date,
                    CasesCount   = data.local_total_cases,
                    RecoverCount = data.local_recovered,
                    DeathCount   = data.local_deaths,
                    SuspectCount = data.local_total_number_of_individuals_in_hospitals
                };
                await this.coronaStatsDbContext.CoronaRecords.AddAsync(newRecord);

                await this.coronaStatsDbContext.SaveChangesAsync();
            }

            return(tempTreRecord);
        }