/// <summary> /// Deletes all existing charts settings for patient with the same id and create provided entity. /// </summary> /// <param name="trendSetting"></param> /// <returns></returns> public async Task Save(TrendSetting trendSetting) { var savedTrendsSettings = await this.trendsSettingsRepository.FindAsync(t => t.PatientId == trendSetting.PatientId); foreach (var savedSetting in savedTrendsSettings) { this.DeleteTrendSetting(savedSetting); } var i = 0; foreach (var chartSetting in trendSetting.ChartsSettings) { chartSetting.Order = i; i++; } this.trendsSettingsRepository.Insert(trendSetting); await this.unitOfWork.SaveAsync(); }
/// <summary> /// Deletes trend setting from repository without saving changes in db context. /// </summary> /// <param name="trendSetting"></param> private void DeleteTrendSetting(TrendSetting trendSetting) { var chartsSettings = trendSetting.ChartsSettings.ToList(); foreach (var chartsSetting in chartsSettings) { var questionSetting = chartsSetting as QuestionChartSetting; if (questionSetting != null) { this.questionChartSettingsRepository.Delete(questionSetting); } var vitalSetting = chartsSetting as VitalChartSetting; if (vitalSetting != null) { this.displayThresholdsSettingsRepository.DeleteRange(vitalSetting.DisplayThresholds); this.vitalChartSettingRepository.Delete(vitalSetting); } } this.trendsSettingsRepository.Delete(trendSetting); }
public static void Main(string[] args) { TrendSetting trendSetting = new TrendSetting(); trendSetting.Sales(); }