Ejemplo n.º 1
0
        public Envelope <MediaDto> GetAllMedia(int pageNumber, int pageSize, string searchTerm, Expression <Func <media_recording, bool> > expr)
        {
            var mediaList = DbContext.media_recording
                            .Where(expr)
                            .ToList()
                            .Skip((pageNumber - 1) * pageSize)
                            .Take(pageSize)
                            .Select(media => new MediaDto
            {
                Id             = media.id,
                Title          = media.recordingtitle,
                Isrc           = media.isrc,
                MainArtist     = media.party_mainartist == null ? "" : media.party_mainartist.artistname,
                Duration       = media.duration,
                ReleaseDate    = media.recordingdate,
                TotalMusicians = 0
                                 // This subquery slows it down significantly...

                                 /*(from x in DbContext.recording_party
                                  *                 where x.recordingid == media.id
                                  *                 select x).GroupBy(x => x.partyrealid).Count()*/
            });

            var totalSongs = DbContext.media_recording.Where(expr).Count();

            var result = EnvelopeCreator.CreateEnvelope(mediaList,
                                                        pageSize,
                                                        pageNumber,
                                                        totalSongs);

            return(result);
        }
        public void CreateEnvelope_NullValue_Null()
        {
            double side1 = 22;
            double side2 = 0;

            EnvelopeCreator eCreator = new EnvelopeCreator();

            Envelope envelope = eCreator.CreateEnvelope(side1, side2);

            Assert.IsNull(envelope);
        }
Ejemplo n.º 3
0
        public void MediaService_GetAllMedia_NoFilter()
        {
            var mediaRecordings = Builder <MediaDto> .CreateListOfSize(25).Build();

            _mediaRecordingRepositoryMock.Setup(
                m => m.GetAllMedia(1, 25, "", It.IsAny <Expression <Func <media_recording, bool> > >()))
            .Returns(EnvelopeCreator.CreateEnvelope(mediaRecordings, 25, 1, 200));

            var result = _mediaService.GetAllMedia(1, 25, "", "name");

            Assert.AreEqual(25, result.Objects.Count());
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            IVisualizer          vi             = new ConsoleUI();
            IEnvelopeCreator     eCreator       = new EnvelopeCreator();
            IComparer <Envelope> comparer       = new EnvelopeComparer();
            IEnvelopesStorage    eStorage       = new EnvelopesStorage(eCreator, comparer);
            IInnerDataValidator  iDataValidator = new InnerDataValidator();

            Controler cntrlr = new Controler(vi, eStorage, iDataValidator, args);

            cntrlr.Start();
        }
        public void CreateEnvelope_ValidData_OK()
        {
            double side1 = 25.5;
            double side2 = 22.5;

            EnvelopeCreator eCreator = new EnvelopeCreator();

            Envelope envelope = eCreator.CreateEnvelope(side1, side2);


            Assert.AreEqual(envelope.Height, side1);
            Assert.AreEqual(envelope.Width, side2);
        }
Ejemplo n.º 6
0
        public Envelope <SongDto> GetSongs(int pageSize, int pageNumber, string searchTerm, Expression <Func <SongDto, bool> > expr)
        {
            var songs = DbContext.media_product.Where(
                song => song.title.StartsWith(searchTerm)).Select(song => new SongDto()
            {
                Id          = song.id,
                Title       = song.title,
                TrackNumber = song.tracknumber ?? -1,
                ReleaseDate = song.releasedate,
                MainArtist  = song.media_recording.party_mainartist != null ? song.media_recording.party_mainartist.artistname : "",
                Isrc        = song.isrc,
                Duration    = song.media_recording.duration
            }).Where(expr).OrderBy(song => song.Title).Skip((pageNumber - 1) * pageSize).Take(pageSize).ToList();

            var totalSongs = DbContext.media_product.Count(song => song.title.StartsWith(searchTerm));
            var result     = EnvelopeCreator.CreateEnvelope(songs, pageSize, pageNumber, totalSongs);

            return(result);
        }
Ejemplo n.º 7
0
        public void Initialize()
        {
            const int  ENVELOPES_NUMBER = 2;
            IViewer    viewer           = new Viewer();
            IValidator validator        = new Validator();

            IEnvelope[] envelopesCouple = new IEnvelope[ENVELOPES_NUMBER];

            do
            {
                for (int numberOfEnvelope = 0; numberOfEnvelope < ENVELOPES_NUMBER; numberOfEnvelope++)
                {
                    IParser parser = new Parser(viewer, validator);
                    envelopesCouple[numberOfEnvelope] = new EnvelopeCreator(parser).createdEnvelope;
                }

                IEnvelopeComparer comparer = new EnvelopeComparer(envelopesCouple[0], envelopesCouple[1]);
                viewer.CompareResult(comparer);
            }while (viewer.Continue());
        }
Ejemplo n.º 8
0
        public Envelope <ProjectDto> GetAllProjects(int pageSize, int pageNumber, bool inWorkingState, bool recordingFinished, bool readyForPublish, bool published, string query)
        {
            if (pageSize < 25 || pageSize > 100)
            {
                throw new ArgumentException("Invalid argument");
            }

            var status = CreateStatusList(inWorkingState, recordingFinished, readyForPublish, published);

            var projects = _projectMasterRepository.GetMany(
                pm =>
                status.Contains(pm.statuscode) &&
                !pm.removed &&
                (pm.mainartist.StartsWith(query) || pm.projectname.StartsWith(query) ||
                 pm.createdby.StartsWith(query))).Select(p => new ProjectDto(p)).OrderByDescending(p => p.Id);

            var totalNumber = projects.Count();

            return(EnvelopeCreator.CreateEnvelope(projects.Skip((pageNumber - 1) * pageSize).Take(pageSize), pageSize, pageNumber, totalNumber));
        }
Ejemplo n.º 9
0
        public Envelope <AlbumDto> GetAlbums(int pageSize, int pageNumber, string searchTerm, Expression <Func <media_product_package, bool> > expression)
        {
            var totalAlbums = (from album in DbContext.media_product_package.Where(expression)
                               join mainArtist in DbContext.party_mainartist on album.mainartistid equals mainArtist.id into mainArtistNullCheck
                               from ma in mainArtistNullCheck.DefaultIfEmpty()
                               select new AlbumDto()
            {
                AlbumId = album.id,
                AlbumTitle = album.albumtitle,
                ReleaseYear = album.releasedate.Value.Year,
                NumberOfTracks = (from song in DbContext.media_product
                                  where song.packageid == album.id
                                  select song).Count(),
                MainArtistName = ma.artistname ?? "",
                MainArtistId = album.mainartistid ?? 0
            }).OrderBy(album => album.AlbumTitle).Skip((pageNumber - 1) * pageSize).Take(pageSize);;

            var albumsCount = DbContext.media_product_package.Count(expression);
            var result      = EnvelopeCreator.CreateEnvelope(totalAlbums, pageSize, pageNumber, albumsCount);

            return(result);
        }
Ejemplo n.º 10
0
 public EnvelopeFixture()
 {
     argsValidator = new ArgsValidator();
     numsValidator = new NumsValidator();
     Creator       = new EnvelopeCreator(numsValidator, argsValidator);
 }