private AverageStomachSymRecord GenerateAverageStomachSymRecord(IEnumerable <TrackedStomachSymptomItem> ssItems)
        {
            var count        = 0;
            var painSum      = 0;
            var nauseaSum    = 0;
            var heartburnSum = 0;
            var bloatingSum  = 0;
            var gasSum       = 0;

            foreach (var ssItem in ssItems)
            {
                painSum      = painSum + ssItem.Pain;
                nauseaSum    = nauseaSum + ssItem.Nausea;
                heartburnSum = heartburnSum + ssItem.Heartburn;
                bloatingSum  = bloatingSum + ssItem.Bloating;
                gasSum       = gasSum + ssItem.Nausea;
                count++;
            }
            var averageSS = new AverageStomachSymRecord();

            if (count == 0)
            {
                return(null);
            }
            averageSS.CountIncludedInAverage = count;
            averageSS.AveragePain            = (double)painSum / count;
            averageSS.AverageNausea          = (double)nauseaSum / count;
            averageSS.AverageHeartburn       = (double)heartburnSum / count;
            averageSS.AverageBloating        = (double)bloatingSum / count;
            averageSS.AverageGas             = (double)gasSum / count;
            return(averageSS);
        }
 private void AddAverageStomachSymRecord(AverageStomachSymRecord ssRecord, AverageStomachSymRecord ssRecordToAdd)
 {
     ssRecord.CountIncludedInAverage = ssRecord.CountIncludedInAverage + 1;
     ssRecord.AveragePain            = ssRecord.AveragePain + ssRecordToAdd.AveragePain;
     ssRecord.AverageNausea          = ssRecord.AverageNausea + ssRecordToAdd.AverageNausea;
     ssRecord.AverageHeartburn       = ssRecord.AverageHeartburn + ssRecordToAdd.AverageHeartburn;
     ssRecord.AverageGas             = ssRecord.AverageGas + ssRecordToAdd.AverageGas;
     ssRecord.AverageBloating        = ssRecord.AverageBloating + ssRecordToAdd.AverageBloating;
 }
 private StomachSymRecordDelta GenerateStomachSymDelta(AverageStomachSymRecord beforeAverage, AverageStomachSymRecord afterAverage)
 {
     if (beforeAverage == null || afterAverage == null)
     {
         return(null);
     }
     return(new StomachSymRecordDelta()
     {
         PainDelta = afterAverage.AveragePain - beforeAverage.AveragePain,
         NauseaDelta = afterAverage.AverageNausea - beforeAverage.AverageNausea,
         HeartburnDelta = afterAverage.AverageHeartburn - beforeAverage.AverageHeartburn,
         BloatingDelta = afterAverage.AverageBloating - beforeAverage.AverageBloating,
         GasDelta = afterAverage.AverageGas - beforeAverage.AverageGas
     });
 }
 private void CalculateAverageSsRecValues(AverageStomachSymRecord avSsRec)
 {
     if (avSsRec == null)
     {
         return;
     }
     else if (avSsRec.CountIncludedInAverage == 0)
     {
         avSsRec = null;
     }
     else
     {
         avSsRec.AveragePain      = avSsRec.AveragePain / avSsRec.CountIncludedInAverage;
         avSsRec.AverageNausea    = avSsRec.AverageNausea / avSsRec.CountIncludedInAverage;
         avSsRec.AverageHeartburn = avSsRec.AverageHeartburn / avSsRec.CountIncludedInAverage;
         avSsRec.AverageGas       = avSsRec.AverageGas / avSsRec.CountIncludedInAverage;
         avSsRec.AverageBloating  = avSsRec.AverageBloating / avSsRec.CountIncludedInAverage;
     }
 }