Ejemplo n.º 1
0
        /// <summary>
        /// Returns a GenreModel for the specified Id
        /// </summary>
        /// <param name="id">The Id of genre to look for</param>
        /// <returns></returns>
        public static GenreModel GetGenreById(int id)
        {
            GenreModel genre = null;

            var connString = ConfigurationManager.ConnectionStrings["Biblioteka.Properties.Settings.BibliotekaDBConnectionString"].ToString();
            var connection = new SqlConnection(connString);

            connection.Open();

            var command = new SqlCommand($"SELECT * FROM Gatunki WHERE Id={id}", connection);

            using (var reader = command.ExecuteReader())
            {
                if (reader.HasRows)
                {
                    reader.Read();
                    genre = new GenreModel()
                    {
                        Id    = id,
                        Nazwa = reader.GetString(1)
                    };
                }
            }

            connection.Close();

            return(genre);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Returns a list of all genres in the database
        /// </summary>
        /// <returns></returns>
        public static List <GenreModel> GetAllGenres()
        {
            var genres = new List <GenreModel>();

            var connString = ConfigurationManager.ConnectionStrings["Biblioteka.Properties.Settings.BibliotekaDBConnectionString"].ToString();
            var connection = new SqlConnection(connString);

            connection.Open();

            var command = new SqlCommand($"SELECT * FROM Gatunki", connection);

            using (var reader = command.ExecuteReader())
            {
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        var genre = new GenreModel()
                        {
                            Id    = reader.GetInt32(0),
                            Nazwa = reader.GetString(1).Trim()
                        };
                        genres.Add(genre);
                    }
                }
            }

            connection.Close();

            return(genres);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Returns a GenreModel for a given genre name
        /// </summary>
        /// <param name="name">Name of the genre to look for</param>
        /// <returns></returns>
        public static GenreModel GetGenreByName(string name)
        {
            var genre = new GenreModel();

            var connString = ConfigurationManager.ConnectionStrings["Biblioteka.Properties.Settings.BibliotekaDBConnectionString"].ToString();
            var connection = new SqlConnection(connString);

            connection.Open();

            var command = new SqlCommand($"SELECT * FROM Gatunki WHERE Genre='{name}'", connection);

            using (var reader = command.ExecuteReader())
            {
                if (reader.HasRows)
                {
                    reader.Read();
                    genre.Id    = reader.GetInt32(0);
                    genre.Nazwa = name;
                }
            }

            connection.Close();

            return(genre);
        }
        public async Task Save_ForSingleDeletedSongWhenDeleteCommentIsUpdated_UpdatesSongCorrectly()
        {
            // Arrange

            var oldArtist = new ArtistModel {
                Id = new ItemId("1"), Name = "Old Artist"
            };
            var newArtist = new ArtistModel {
                Id = new ItemId("2"), Name = "New Artist"
            };

            var oldGenre = new GenreModel {
                Id = new ItemId("1"), Name = "Old Genre"
            };
            var newGenre = new GenreModel {
                Id = new ItemId("2"), Name = "New Genre"
            };

            var mocker = CreateMocker(artists: new[] { oldArtist, newArtist }, genres: new[] { oldGenre, newGenre, });
            var target = mocker.CreateInstance <EditSongPropertiesViewModel>();

            var song = new SongModel
            {
                Title         = "Old Title",
                TreeTitle     = "Old Tree Title",
                Artist        = oldArtist,
                Genre         = oldGenre,
                TrackNumber   = 1,
                DeleteDate    = new DateTime(2021, 10, 26),
                DeleteComment = "Old Delete Comment",
            };

            await target.Load(new[] { song }, CancellationToken.None);

            // Act

            target.Title         = "New Title";
            target.TreeTitle     = "New Tree Title";
            target.Artist        = target.AvailableArtists.Last();
            target.Genre         = target.AvailableGenres.Last();
            target.TrackNumber   = 2;
            target.DeleteComment = "New Delete Comment";

            await target.Save(CancellationToken.None);

            // Assert

            Func <Action <SongModel>, bool> verifySongUpdate = updateAction =>
            {
                updateAction(song);
                return(song.Title == "New Title" && song.TreeTitle == "New Tree Title" && song.TrackNumber == 2 &&
                       Object.ReferenceEquals(song.Artist, newArtist) && Object.ReferenceEquals(song.Genre, newGenre) &&
                       song.DeleteComment == "New Delete Comment");
            };

            var songServiceMock = mocker.GetMock <ISongsService>();

            songServiceMock.Verify(x => x.UpdateSong(It.IsAny <SongModel>(), It.IsAny <Action <SongModel> >(), It.IsAny <CancellationToken>()), Times.Once);
            songServiceMock.Verify(x => x.UpdateSong(song, It.Is <Action <SongModel> >(y => verifySongUpdate(y)), It.IsAny <CancellationToken>()), Times.Once);
        }
        public async Task Load_ForSingleSongWithoutGenre_FillsGenreDataCorrectly()
        {
            // Arrange

            var genre1 = new GenreModel {
                Id = new ItemId("1"), Name = "Some Genre"
            };
            var genre2 = new GenreModel {
                Id = new ItemId("2"), Name = "Another Genre"
            };

            var mocker = CreateMocker(genres: new[] { genre1, genre2, });
            var target = mocker.CreateInstance <EditSongPropertiesViewModel>();

            var song = new SongModel {
                Genre = null
            };

            // Act

            await target.Load(new[] { song }, CancellationToken.None);

            // Assert

            var expectedAvailableGenres = new[]
            {
                new EditedSongProperty <GenreModel>(null),
                new EditedSongProperty <GenreModel>(genre1),
                new EditedSongProperty <GenreModel>(genre2),
            };

            target.AvailableGenres.Should().BeEquivalentTo(expectedAvailableGenres, x => x.WithStrictOrdering());
            target.Genre.Should().BeEquivalentTo(expectedAvailableGenres[0]);
        }
Ejemplo n.º 6
0
        public ActionResult AddGenre(MovieModel movieModel, GenreModel genreModel)
        {
            _movieServices = new MovieServices();
            _movieServices.AddGenreForMovie(movieModel.Id, genreModel.Name);

            return(RedirectToAction("ListMovie"));
        }
Ejemplo n.º 7
0
        public int CreateOrUpdate(GenreModel model)
        {
            string msgError = "";

            try
            {
                var result = _dbHelper.ExecuteScalarSProcedureWithTransaction(out msgError, "GENRE_INSERT_OR_UPDATE",
                                                                              "@id", model.Id,
                                                                              "@genre_code", model.Genre_Code,
                                                                              "@genre_name", model.Genre_Name,
                                                                              "@sequence", model.Sequence,
                                                                              "@description", model.Description,
                                                                              "@active", model.Active);
                if ((result != null && !string.IsNullOrEmpty(result.ToString())) || !string.IsNullOrEmpty(msgError))
                {
                    throw new Exception(Convert.ToString(result) + msgError);
                }
                else
                {
                    return(Constant.ReturnExcuteFunction.Success);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 8
0
        public List <GenreModel> GetGenres()
        {
            if (_albumJSON == null)
            {
                return(null);
            }

            try
            {
                List <GenreModel> genres = new List <GenreModel>();

                foreach (var g in _albumJSON["genres"])
                {
                    GenreModel genre = new GenreModel()
                    {
                        Genre = g.ToString()
                    };
                    genres.Add(genre);
                }

                return(genres);
            }
            catch (Exception)
            {
                return(null);
            }
        }
        public async Task <IHttpActionResult> Update(GenreModel model)
        {
            var serviceResult = new ServiceResult <GenreModel>();

            if (!ModelState.IsValid)
            {
                serviceResult.Success           = false;
                serviceResult.Error.Description = "Model is not valid.";
                serviceResult.Error.Code        = ErrorStatusCode.BudRequest;
                return(ServiceResult(serviceResult));
            }

            var result = await _genreService.Update(model);

            serviceResult.Success = result.Success;
            if (result.Success)
            {
                serviceResult.Result = model;
            }
            else
            {
                serviceResult.Error = result.Error;
            }

            return(ServiceResult(serviceResult));
        }
        public async Task <IHttpActionResult> Add(GenreModel model)
        {
            var serviceResult = new ServiceResult <GenreModel>();

            ModelState.Remove("model.Id");

            if (!ModelState.IsValid)
            {
                serviceResult.Success           = false;
                serviceResult.Error.Description = "Model is not valid.";
                serviceResult.Error.Code        = ErrorStatusCode.BudRequest;
                return(ServiceResult(serviceResult));
            }

            model.Id = System.Guid.NewGuid().ToString("N").Substring(0, 24);

            var result = await _genreService.Add(model);

            serviceResult.Success = result.Success;
            if (result.Success)
            {
                serviceResult.Result = model;
            }
            else
            {
                serviceResult.Error = result.Error;
            }

            return(ServiceResult(serviceResult));
        }
Ejemplo n.º 11
0
        public void GetGenreById_Returns_OkObjectResult()
        {
            // Arrange
            var genreRepositoryMock = new Mock <IGenreRepository>();
            var genreIMapperMock    = new MapperConfiguration(config =>
            {
                config.AddProfile(new MovieMapper());
            });
            var genreMapper = genreIMapperMock.CreateMapper();
            var logMock     = new Mock <ILogger <GenresController> >();
            ILogger <GenresController> logger = logMock.Object;

            GenresController genreApiController = new
                                                  GenresController(genreRepositoryMock.Object, mapper: genreMapper, logger);
            var genreModel = new GenreModel()
            {
                Name        = "Adult Content",
                DateCreated = DateTime.Parse("15 May 2015"),
                Id          = Guid.NewGuid()
            };

            genreRepositoryMock.Setup(repo => repo.GetGenre(It.IsAny <Guid>()))
            .Returns(genreModel);
            // Act
            var genreResult = genreApiController.GetGenreById(It.IsAny <Guid>());
            var okResult    = genreResult as OkObjectResult;

            // Assert
            Assert.True(okResult.StatusCode is StatusCodes.Status200OK);
        }
Ejemplo n.º 12
0
        public void DeleteGenre_Returns_NoContent()
        {
            // Arrange
            var genreRepositoryMock = new Mock <IGenreRepository>();
            var genreIMapperMock    = new MapperConfiguration(config =>
            {
                config.AddProfile(new MovieMapper());
            });
            var genreMapper = genreIMapperMock.CreateMapper();
            var logMock     = new Mock <ILogger <GenresController> >();
            ILogger <GenresController> logger = logMock.Object;

            GenresController genreApiController = new
                                                  GenresController(genreRepositoryMock.Object, mapper: genreMapper, logger);
            var genreModel = new GenreModel()
            {
                Name        = "Comedy",
                DateCreated = DateTime.Parse("15 May 2015"),
                Id          = new Guid()
            };

            genreRepositoryMock.Setup(repo => repo.GenreExist(It.IsAny <Guid>()))
            .Returns(true);
            genreRepositoryMock.Setup(repo => repo.GetGenre(It.IsAny <Guid>()))
            .Returns(genreModel);
            genreRepositoryMock.Setup(repo => repo.DeleteGenre(It.IsAny <GenreModel>()))
            .Returns(true);

            // Act
            var genreResult     = genreApiController.DeleteGenre(genreModel.Id);
            var noContentResult = genreResult as NoContentResult;

            // Assert
            Assert.True(noContentResult.StatusCode is StatusCodes.Status204NoContent);
        }
Ejemplo n.º 13
0
        public IHttpActionResult CreateGenre(GenreModel model)
        {
            var genre = Mapper.Map <GenreModel, GenreDTO>(model);

            _genreService.Create(genre);

            return(Ok("Genre created"));
        }
Ejemplo n.º 14
0
        public IEnumerable <GameModel> GetGamesByGenre(GenreModel genreModel)
        {
            Genre genre = _unitOfWork.GenreRepository.GetById(genreModel.GenreId);
            IEnumerable <Game> games = _unitOfWork.GameRepository.GetAll().Where(g => g.Genres.Contains(genre));
            var gameModels           = Mapper.Map <IEnumerable <GameModel> >(games);

            return(gameModels);
        }
Ejemplo n.º 15
0
 public ActionResult CreateGenre(GenreModel model)
 {
     _facade = new DataAccessLayerfacade();
     _facade.GetGenreRep().CreateGenre(new Genre {
         name = model.Name
     });
     return(RedirectToAction("Index"));
 }
Ejemplo n.º 16
0
 public static Genre ToDomain(this GenreModel model)
 {
     return(new Genre
     {
         Id = model.Id,
         Title = model.Title
     });
 }
Ejemplo n.º 17
0
        public ActionResult Edit(GenreModel model)
        {
            var genreBO = mapper.Map <GenreBO>(model);

            genreBO.Save();

            return(RedirectToActionPermanent("Index", "Genre"));
        }
Ejemplo n.º 18
0
 public void Map(GenreModel from, Genre to)
 {
     if (to.Id != from.Id)
     {
         throw new ArgumentException("Cannot map. Object are not related");
     }
     to.Name = from.Name;
 }
Ejemplo n.º 19
0
        public async Task <GenreModel> GetGenreAsync(GenreModel genre)
        {
            var g = _mapper.Map <Genre>(genre);

            g = await _unitOfWork.Genres.GetByIdAsync(g.GenreId);

            return(_mapper.Map <GenreModel>(g));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            GenreModel genremodel = db.GenreModels.Find(id);

            db.GenreModels.Remove(genremodel);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 21
0
 public GenreService()
 {
     foreach (var item in vs)
     {
         GenreModel model = new GenreModel();
         model.genreName = item;
         genreModelList.Add(model);
     }
 }
Ejemplo n.º 22
0
        // GET: Admin/Genre
        public ActionResult Index()
        {
            var model = new GenreModel
            {
                Genres = genreRepository.GetGenres()
            };

            return(View(model));
        }
Ejemplo n.º 23
0
 public static ServiceGenre ToServiceGenre(this GenreModel genre)
 {
     return(new ServiceGenre
     {
         ID = genre.ID,
         Name = genre.Name,
         ParentGenreID = genre.ParentGenreID,
     });
 }
 public void CreateGenre(GenreModel g)
 {
     db.Genres.Create(new Genre()
     {
         NameGenre   = g.NameGenre,
         Genre_Books = g.Genre_Books
     });
     Save();
 }
Ejemplo n.º 25
0
        public void Update(GenreModel entity)
        {
            var index = _genreModels.FindIndex(a => a.Id == entity.Id);

            if (index > 0)
            {
                _genreModels[index] = entity;
            }
        }
Ejemplo n.º 26
0
        public async Task <GenreModel> UpdateGenreAsync(GenreModel genre)
        {
            var g = _mapper.Map <Genre>(genre);

            g = _unitOfWork.Genres.Update(g);
            await _unitOfWork.CommitAsync();

            return(_mapper.Map <GenreModel>(g));
        }
Ejemplo n.º 27
0
        public IHttpActionResult EditGenre(int id, GenreModel model)
        {
            var genre = Mapper.Map <GenreModel, GenreDTO>(model);

            genre.Id = id;
            _genreService.Edit(genre);

            return(Ok("Genre edited"));
        }
        public void UpdateGenre(GenreModel g)
        {
            Genre gr = db.Genres.GetItem(g.GenreId);

            gr.NameGenre   = g.NameGenre;
            gr.Genre_Books = g.Genre_Books;

            Save();
        }
Ejemplo n.º 29
0
        public async Task <bool> DeleteGenreAsync(GenreModel genre)
        {
            var g = _mapper.Map <Genre>(genre);

            _unitOfWork.Genres.Delete(g);
            var deleted = await _unitOfWork.CommitAsync();

            return(deleted > 0);
        }
        public IEnumerable <MovieModel> GetMoviesByGenre(GenreModel genre)
        {
            if (genre == null)
            {
                throw new ArgumentNullException("Invalid genre!");
            }

            return(this.movieService.GetMoviesByGenre(genre));
        }
Ejemplo n.º 31
0
 public void Delete(GenreModel model)
 {
     _session.Delete(model);
 }
Ejemplo n.º 32
0
 public void Edit(GenreModel model)
 {
     var record = _session.Single<Genre>(x=>x.Id == model.Id);
     record.Update(model);
     _session.CommitChanges();
 }
Ejemplo n.º 33
0
 public void Add(GenreModel model)
 {
     _session.Add(model);
 }