コード例 #1
0
        public void AlbumCreate_Invalid_ReleaseDate()
        {
            // Arrange
            var albumEmptyReleaseDate = new AlbumCreate
            {
                ReleaseDate = "",
            };

            var albumWhitespaceReleaseDate = new AlbumCreate
            {
                ReleaseDate = "     ",
            };

            var albumNoReleaseDate = new AlbumCreate();

            // Act
            var albumEmptyReleaseDataValidation      = albumEmptyReleaseDate.Validate();
            var albumWhitespaceReleaseDateValidation = albumWhitespaceReleaseDate.Validate();
            var albumNoReleaseDateValidation         = albumNoReleaseDate.Validate();

            // Assert
            Assert.Contains(AlbumCreate.RELEASE_DATE_EMPTY, albumEmptyReleaseDataValidation);
            Assert.Contains(AlbumCreate.RELEASE_DATE_EMPTY, albumWhitespaceReleaseDateValidation);
            Assert.Contains(AlbumCreate.RELEASE_DATE_EMPTY, albumNoReleaseDateValidation);
        }
コード例 #2
0
        public void AlbumCreate_Invalid_Name()
        {
            // Arrange
            var albumEmptyName = new AlbumCreate
            {
                Name = "",
            };

            var albumWhitespaceName = new AlbumCreate
            {
                Name = "     ",
            };

            var albumNoName = new AlbumCreate();

            // Act
            var albumEmptyNameValidation      = albumEmptyName.Validate();
            var albumWhitespaceNameValidation = albumWhitespaceName.Validate();
            var albumNullNameValidation       = albumNoName.Validate();

            // Assert
            Assert.Contains(AlbumCreate.ALBUM_NAME_EMPTY, albumEmptyNameValidation);
            Assert.Contains(AlbumCreate.ALBUM_NAME_EMPTY, albumWhitespaceNameValidation);
            Assert.Contains(AlbumCreate.ALBUM_NAME_EMPTY, albumNullNameValidation);
        }
コード例 #3
0
        //CreateAlbum
        public bool CreateAlbum(AlbumCreate model)
        {
            var album = new Album()
            {
                AlbumName = model.AlbumName,
                AlbumArt  = model.AlbumArt
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.Albums.Add(album);
                return(ctx.SaveChanges() == 1);
            }
        }
コード例 #4
0
        //CREATE
        public bool CreateAlbum(AlbumCreate model)
        {
            var entity = new Album()
            {
                Title            = model.Title,
                AlbumDescription = model.AlbumDescription,
            };

            using (var _ctx = new ApplicationDbContext())
            {
                _ctx.Albums.Add(entity);
                return(_ctx.SaveChanges() == 1);
            }
        }
コード例 #5
0
        public bool CreateAlbum(AlbumCreate model)
        {
            var entity = new Album()
            {
                ArtistId         = model.ArtistId,
                AlbumName        = model.AlbumName,
                SongId           = model.SongId,
                AlbumReleaseDate = model.AlbumReleaseDate,
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.Albums.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }
コード例 #6
0
        public void AlbumCreate_No_Track_Ids()
        {
            // Arrange
            var album = new AlbumCreate
            {
                Name        = "Test",
                ArtistId    = MusicDb.Artists.Keys.First(),
                ReleaseDate = "1983"
            };

            // Act
            var validation = album.Validate();

            // Assert
            Assert.Contains(AlbumCreate.TRACK_IDS_MISSING, validation);
        }
コード例 #7
0
ファイル: AlbumController.cs プロジェクト: trambo63/MusicCat
        public IHttpActionResult Post(AlbumCreate album)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var service = CreateAlbumService();

            if (!service.CreateAlbum(album))
            {
                return(InternalServerError());
            }

            return(Ok());
        }
コード例 #8
0
        public ActionResult Create(AlbumCreate model)
        {
            if (!ModelState.IsValid)
            {
                PopulateArtists();
                return(View(model));
            }


            var userId  = Guid.Parse(User.Identity.GetUserId());
            var service = new AlbumService(userId);

            service.CreateAlbum(model);

            return(RedirectToAction("Details", "Artist", new { id = model.ArtistID }));
        }
コード例 #9
0
        public void AlbumCreate_Should_Be_Valid()
        {
            // Arrange
            var album = new AlbumCreate
            {
                Name        = "Test",
                ArtistId    = MusicDb.Artists.Keys.First(),
                ReleaseDate = "1983",
                TrackIds    = new int[] { MusicDb.Tracks.Keys.First() }
            };

            // Act
            var actual = album.Validate();

            // Assert
            Assert.Empty(actual);
        }
コード例 #10
0
        public void AlbumCreate_Invalid_Track_Ids(int trackId)
        {
            // Arrange
            var album = new AlbumCreate
            {
                Name        = "Test",
                ArtistId    = MusicDb.Artists.Keys.First(),
                ReleaseDate = "1983",
                TrackIds    = new int[] { trackId }
            };

            // Act
            var validation = album.Validate();

            // Assert
            Assert.Contains(string.Format(AlbumCreate.TRACK_ID_INVALID, trackId), validation);
        }
コード例 #11
0
        public Album CreateAlbum(AlbumCreate model)
        {
            var entity =
                new Album()
            {
                ArtistID    = model.ArtistID,
                AlbumTitle  = model.AlbumTitle,
                ReleaseDate = model.ReleaseDate,
            };

            using (var db = new ApplicationDbContext())
            {
                db.Albums.Add(entity);
                db.SaveChanges();
                return(entity);
            }
        }
コード例 #12
0
        public bool CreateAlbum(AlbumCreate model)
        {
            var entity =
                new Album()
            {
                OwnerId    = _userID,
                AlbumTitle = model.AlbumTitle,
                Year       = model.Year,
                ArtistId   = model.ArtistId,
                GenreId    = model.GenreId
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.Albums.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }
コード例 #13
0
        public ActionResult Create(AlbumCreate model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var service = new AlbumService();

            if (service.CreateAlbum(model))
            {
                TempData["SaveResult"] = "Album has been added";
                return(RedirectToAction("Index"));
            }

            ModelState.AddModelError("", "Album was not added");
            return(View(model));
        }
コード例 #14
0
        public bool CreateAlbum(AlbumCreate model)
        {
            var entity =
                new Album()
            {
                OwnerId   = _userId,
                AlbumName = model.AlbumName,
                Rating    = model.Rating,
                ArtistId  = model.ArtistId,
                //StoreId = model.StoreId
                //CreatedUtc = DateTimeOffset.Now
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.Albums.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }
コード例 #15
0
        public void AlbumCreate_Nonexistant_Track_Id()
        {
            // Arrange
            var album = new AlbumCreate
            {
                Name        = "Test",
                ArtistId    = MusicDb.Artists.Keys.First(),
                ReleaseDate = "1983",
                TrackIds    = new int[] { int.MaxValue }
            };

            // Act
            var validation = album.Validate();

            // Assert
            // check of MusicDb niet toevallig deze artiest al kent, anders geeft de test vals negatief
            Assert.False(MusicDb.Tracks.ContainsKey(album.TrackIds[0]));
            Assert.Contains(string.Format(AlbumCreate.TRACK_ID_INVALID, album.TrackIds[0]), validation);
        }
コード例 #16
0
        public ActionResult Create(AlbumCreate model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var _service = CreateAlbumService();

            if (_service.CreateAlbum(model))
            {
                TempData["SaveResult"] = "Your Album was created.";
                return(RedirectToAction("Index"));
            }
            ;

            ModelState.AddModelError("", "Your Album could not be created.");

            return(View(model));
        }
コード例 #17
0
ファイル: AlbumService.cs プロジェクト: ajbain/SpootifyAPI
        //private readonly Guid _userId;

        //public AlbumService(Guid userId)
        //{
        //    _userId = userId;
        //}
        public bool CreateAlbum(AlbumCreate model)
        {
            var entity =
                new Album()
            {
                //OwnerId = _userId,
                Title       = model.Title,
                Genre       = model.Genre,
                ReleaseDate = model.ReleaseDate,
                ArtistName  = model.ArtistName,
                ArtistID    = model.ArtistId
                              // Songs = model.Songs
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.Albums.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }