public async Task <BaseResponse <AlbumDto> > Insert(AlbumImagesModel album) { BaseResponse <AlbumDto> baseResponse = new BaseResponse <AlbumDto>(); var albums = new Albums(); albums.ArtistId = album.ArtistId; albums.Desc = album.Desc; albums.Name = album.Name; albums.Year = album.Year; var files = album.Files; List <AlbumsFiles> albumsFiles = new List <AlbumsFiles>(); if (files != null && files.Count > 0) { foreach (var item in files) { Files f = new Files(); string fileName = Path.GetFileNameWithoutExtension(item.Name); //string extension = Path.GetExtension(item.FileName); //fileName = fileName + "_" + Guid.NewGuid().ToString() + extension; //string pathBuild = Path.Combine(Directory.GetCurrentDirectory(), "Uploads\\"); //string path = Path.Combine(Directory.GetCurrentDirectory(), "Uploads\\", fileName); string path = _helper.UploadStorage(item.Name, item.FileName); using (var FileStream = new FileStream(path, FileMode.Create)) { await item.CopyToAsync(FileStream); } f.Name = item.FileName; f.Size = Convert.ToInt32(item.Length); f.Path = _configuration["FilePath"] + fileName; albumsFiles.Add(new AlbumsFiles { Album = albums, File = f }); } albums.AlbumsFiles = albumsFiles; } var addedAlbum = await _albumRepository.Insert(albums); var result = await GetByID(addedAlbum.Id); baseResponse.Result = result.Result; return(baseResponse); }
public async Task <IActionResult> store([FromForm] AlbumImagesModel albumImagesModel) { try { _logger.LogInfo(ControllerContext.ActionDescriptor.DisplayName); if (ModelState.IsValid) { var result = await _albumService.Insert(albumImagesModel); await _artistHub.Clients.All.SendAsync("newAlbumAdded", new NewAlbumAddedHubModel { AlbumId = result.Result.Id, ArtistId = result.Result.Artist.Id }); InfoLog($"{ControllerContext.ActionDescriptor.DisplayName} Album Created Name : {result.Result.Name} Id : {result.Result.Id}"); return(Ok(result)); } return(BadRequest()); } catch (Exception exception) { return(ErrorInternal(exception, $"{ControllerContext.ActionDescriptor.DisplayName} Exception Message : {exception.Message} - {exception.InnerException}")); } }