public async Task <ActionResult> ImportMidis(string musicFolderPath = "C:\\music\\midi") { try { var styles = Directory.GetDirectories(musicFolderPath); foreach (var stylePath in styles) { var styleName = FileSystemUtils.GetLastDirectoryName(stylePath); Style style = await SongRepository.GetStyleByName(styleName); if (style == null) { style = new Style() { Name = styleName }; await SongRepository.AddStyle(style); } var bandsPaths = Directory.GetDirectories(stylePath); foreach (var bandPath in bandsPaths) { var bandName = FileSystemUtils.GetLastDirectoryName(bandPath); Band band = await SongRepository.GetBandByName(bandName); if (band == null) { band = new Band() { Name = bandName, Style = style }; await SongRepository.AddBand(band); } var songsPaths = Directory.GetFiles(bandPath); foreach (var songPath in songsPaths) { var songita = await SongRepository.GetSongByNameAndBand(Path.GetFileName(songPath), bandName); if (songita == null) { await ProcesameLaSong(songPath, band, style); } } } } } catch (Exception soreton) { Log.Error(soreton, $"Exception raised when running ImportMidis"); return(new StatusCodeResult(500)); } return(Ok(new ApiOKResponse("All files processed"))); }
public async Task <ActionResult> PostBand(Band band) { if (ModelState.IsValid) { var bandita = await SongRepository.AddBand(band); return(Ok(new ApiOKResponse(bandita))); } else { return(BadRequest(new ApiBadRequestResponse(ModelState))); } }