예제 #1
0
        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);
        }
예제 #2
0
        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}"));
            }
        }