private void RecalculateMeanForSong(Song song) { var sourceSongMarks = new SongMark[song.SongMarks.Count]; song.SongMarks.CopyTo(sourceSongMarks, 0); var meanMarks = _songMarkCalculator.GetMeanSongMark(sourceSongMarks); song.MeanEnergy = meanMarks.Energy; song.MeanTempo = meanMarks.Tempo; }
public void Insert(SongMarkDto songMarkDto) { var song = _repositoryHolder.SongRepository.Get(songMarkDto.SongId); var newSongMark = new SongMark() { Energy = Convert.ToInt32(songMarkDto.Energy), Tempo = Convert.ToInt32(songMarkDto.Tempo), Song = song }; song.SongMarks.Add(newSongMark); RecalculateMeanForSong(song); _repositoryHolder.SongRepository.Update(songMarkDto.SongId, song); _uof.Save(); }