public IActionResult AddAlbum(AlbumEditViewModel AlbumEditViewModel)
        {
            // Custom validation rules
            if (ModelState.GetValidationState("Album.Price") == ModelValidationState.Valid &&
                AlbumEditViewModel.Album.Price < 0)
            {
                ModelState.AddModelError(nameof(AlbumEditViewModel.Album.Price),
                                         "The price of the Album should be higher than 0.");
            }

            if (AlbumEditViewModel.Album.IsAlbumOfTheWeek && !AlbumEditViewModel.Album.InStock)
            {
                ModelState.AddModelError(nameof(AlbumEditViewModel.Album.IsAlbumOfTheWeek),
                                         "Only Albums that are in stock should be Album of the Week.");
            }

            AlbumEditViewModel.Album.CategoryId = AlbumEditViewModel.CategoryId;

            //Basic validation
            if (ModelState.IsValid)
            {
                _AlbumRepository.CreateAlbum(AlbumEditViewModel.Album);
                return(RedirectToAction("Index"));
            }
            return(View(AlbumEditViewModel));
        }
        public Album AddNewAlbum(Album album)
        {
            using (var scope = new TransactionScope())
            {
                if (!DoesArtistExist(album.Artist))
                {
                    album.Artist.Id = _artistRepository.CreateArtist(album.Artist);
                }

                if (!DoesGenreExist(album.Genre))
                {
                    album.Genre.Id = _genreRepository.CreateGenre(album.Genre);
                }

                if (!album.TracksCountValid())
                {
                    return(null);
                }


                var id = _albumRepository.CreateAlbum(album);

                album.Id = id;

                scope.Complete();

                return(album);
            }
        }
        public async Task <Guid> Handle(CreateAlbumRequest request,
                                        CancellationToken cancellationToken = default)
        {
            _validationService.Validate <Album>(request.Album);

            return(await _albumRepository.CreateAlbum(request.Album));
        }
Beispiel #4
0
 public ActionResult CreateAlbum(Album album)
 {
     if (ModelState.IsValid)
     {
         _albumRepository.CreateAlbum(album);
         return(RedirectToAction("AdminList"));
     }
     else
     {
         return(View(album));
     }
 }
Beispiel #5
0
        public ActionResult CreateAlbum(AlbumCreateDTO albumDto)
        {
            var album = _mapper.Map <Album>(albumDto);

            if (album == null)
            {
                return(NotFound());
            }

            _albumRepository.CreateAlbum(album);
            return(Ok(album));
        }
Beispiel #6
0
        public AlbumModel CreateAlbum(AlbumModel obj, int userID)
        {
            int createdAlbum = 0;

            var existingAlbum = GetAlbumByTitle(obj.AlbumTitle, userID);

            if (existingAlbum == null)
            {
                createdAlbum = _albumRepository.CreateAlbum(obj, userID);
            }
            return(createdAlbum > 0 ? GetAlbumByTitle(obj.AlbumTitle, userID) : null);
        }
Beispiel #7
0
        //创建相册
        public Message CreateAlbum(Album album)
        {
            var msg = new Message((int)MessageCode.OK, MessageCode.OK.GetDescription());

            if (album == null)
            {
                msg.Code = (int)MessageCode.DATA_NOT_EMPTY;
                msg.Msg  = MessageCode.DATA_NOT_EMPTY.GetDescription();
                return(msg);
            }
            var addState = AlbumRepository.CreateAlbum(album);

            if (addState)
            {
                msg.Code = (int)MessageCode.OK;
                msg.Msg  = MessageCode.OK.GetDescription();
            }
            else
            {
                msg.Code = (int)MessageCode.INTERNAL_SERVER_ERR;
                msg.Msg  = MessageCode.INTERNAL_SERVER_ERR.GetDescription();
            }
            return(msg);
        }
        public async Task <CreateAlbumResponse> Handle(CreateAlbumCommand request, CancellationToken cancellationToken)
        {
            var album = await _albumRepository.CreateAlbum(request.GroupId, request.AlbumInfo);

            return(new CreateAlbumResponse(album.Id));
        }
        public async Task <Guid> CreateAlbum(Album album)
        {
            _validationService.Validate <Album>(album);

            return(await _albumRepository.CreateAlbum(album));
        }
 public void CreateAlbum(Album album)
 {
     _repository.CreateAlbum(album);
 }