public void can_initialise()
        {
            Playlist playlist = new Playlist("playlist");
            Track track0 = new Track(
                new Autor("autor"),
                new Bpm(null),
                new Code("12345"),
                new Interpret("interpret"),
                new Label("label"),
                new Laenge("04:30"),
                new Titel("titel__0"),
                new Verlag("verlag"),
                new Year(null),
                new Ending(Ending.Attribute.None)
                );

            track0.addEinsatz(new Einsatz(playlist, track0));

            string queryID = "1";
            IList<Einsatz> einsaetze = new List<Einsatz>(new Einsatz[] { track0.Einsaetze[0]});

            Expect.Once.On(view).GetProperty("QueryId").Will(Return.Value(queryID));
            Expect.Once.On(dao).Method("GetById").WithAnyArguments().Will(Return.Value(track0));
            Expect.Once.On(view).SetProperty("Entity").To(track0);
            Expect.Once.On(view).SetProperty("Einsaetze").To(einsaetze);

            this.presenter.initialise();
        }
Esempio n. 2
0
 public void runOnceBeforEveryTest()
 {
     track1 = new Track(
         new Autor("autor"),
         new Bpm(100),
         new Code("12345"),
         new Interpret("interpret"),
         new Label("label"),
         new Laenge("04:30"),
         new Titel("titel"),
         new Verlag("verlag"),
         new Year(2000),
         new Ending(Ending.Attribute.None)
         );
     track2 = new Track(
         new Autor("autor"),
         new Bpm(100),
         new Code("12345"),
         new Interpret("interpret"),
         new Label("label"),
         new Laenge("04:30"),
         new Titel("titel"),
         new Verlag("verlag"),
         new Year(2000),
         new Ending(Ending.Attribute.None)
         );
 }
Esempio n. 3
0
 public Track addTrack(Track track)
 {
     this.tracks.Add(track);
     IEnumerator<Track> iet = this.tracks.Intersect(new HashedSet<Track>(new Track[1] { track })).GetEnumerator();
     while(iet.MoveNext())
         return iet.Current;
     throw new Exception("Something went awfully wrong.");
 }
 public SearchItem_Between_Dto(Relator.Unary unary, Track.Property property, string phrase1, string phrase2)
     : base(unary, property, phrase1, phrase2)
 {
     Check.Require(
         property == Track.Property.Bpm || property == Track.Property.Year || property == Track.Property.Laenge, String.Format(
         "Argument must be of type {0}, {1}, {2}. It's of type {3}",
         Track.Property.Bpm.ToString(),
         Track.Property.Laenge.ToString(),
         Track.Property.Year.ToString(),
         property.ToString()));
 }
        /// <remarks>
        /// Kann nicht der ganzer scheiss so behandelt werden, das wirklich erst am Ende der Session, quasi explicit,
        /// DB-Synchronisierung erfolgt? Was mein' ich bloss...
        /// </remarks>
        /// @todo Warum Einsatz saven? Nicht testbar
        public static void insertAt( int position, Track track, Playlist playlist )
        {
            if(playlist.Einsaetze.count < 1 || position < 1 || position > playlist.Einsaetze.count + 1) {
                Playlist_Service.append( track, playlist );
                return;
            }

            Einsatz einsatz = new Einsatz(playlist, track, position );
            //einsatz = new NHibernateDaoFactory().getEinsatzDao().save(einsatz);
            playlist.Einsaetze.insert( position - 1, einsatz );
            Playlist_Service.updatePositions( playlist );
        }
        public static ASimpleRelation getSimpleRelation(Relator.Unary unaryProperty, string searchPhrase, Track.Property trackProperty )
        {
            string mappedTrackPropertyPropertyAsString = Track.getChildPropertyAsString(trackProperty);

            if( trackProperty == Track.Property.Bpm || trackProperty == Track.Property.Year)
                return new IntSearch(
                    unaryProperty,
                    int.Parse(searchPhrase),
                    trackProperty.ToString(),
                    mappedTrackPropertyPropertyAsString );
            else
                return new StringSearch(
                    unaryProperty,
                    searchPhrase,
                    trackProperty.ToString(),
                    mappedTrackPropertyPropertyAsString );
        }
        public void cant_load_playlist_newFormat()
        {
            object template = BB080627;
            object isNewTemplate = false;
            object documentType = WdNewDocumentType.wdNewBlankDocument;
            object isVisible = false;

            Microsoft.Office.Interop.Word.ApplicationClass app = new Microsoft.Office.Interop.Word.ApplicationClass();
            Microsoft.Office.Interop.Word.Document doc = app.Documents.Add(ref template, ref isNewTemplate, ref documentType, ref isVisible);

            Playlist playlist = new Playlist("x");
            IList<Einsatz> einsaetze = new List<Einsatz>();

            for(int i = 3; i <= doc.Tables[1].Rows.Count - 1; i++) {
                Row row = doc.Tables[1].Rows[i];
                Track track = new Track(
                    new Autor(" "),
                    new Bpm(null),
                    new Code(init(brush(row.Cells[4].Range.Text))),
                    new Interpret(init(brush(row.Cells[5].Range.Text))),
                    new Label(init(brush(row.Cells[3].Range.Text))),
                    new Laenge(init(brush(row.Cells[7].Range.Text))),
                    new Titel(init(brush(row.Cells[1].Range.Text))),
                    new Verlag(" "),
                    new Year(null),
                    new Ending(Ending.Attribute.None));
                einsaetze.Add(new Einsatz(playlist, track, row.Index - 2));
            }

            /*
             * One dataset is actually missing.
             */
            Assert.AreNotEqual(doc.Tables[1].Rows.Count - 2, einsaetze.Count);

            /*
             * Do throw PostconditionException!
             */
            Check.Ensure(doc.Tables[1].Rows.Count - 2 == einsaetze.Count,
                String.Format("Playlist unvollstaendig! Lesbare Datensaezte: {0} von {1}.",
                einsaetze.Count,
                doc.Tables[1].Rows.Count - 2));
        }
        /// <summary>
        /// With explicit sorting.
        /// </summary>
        public static IList<Track> getTrackListing(ARelation relation, Track.Property sortExpression, SortDirection sortDirection)
        {
            ICriteria criteria = NHibernateSessionManager.Instance.GetSession().CreateCriteria(typeof(Track));
            ISet<string> aliases = new HashedSet<string>();
            Junction junction = relation.BinaryRelator == Relator.Binary.AND ? new Conjunction() : new Disjunction() as Junction;

            foreach(ARelation relatum in relation.Relata)
                TrackSearch_Service.loadJunctions(junction, relatum, aliases, criteria);
            criteria.Add(junction);
            if(!aliases.Contains(sortExpression.ToString().ToLower()))
                criteria.CreateAlias(sortExpression.ToString(), sortExpression.ToString().ToLower());

            Order order;
            if(sortDirection == SortDirection.Ascending)
                order = Order.Asc(String.Format("{0}.{1}", sortExpression.ToString().ToLower(), Track.getChildPropertyAsString(sortExpression)));
            else
                order = Order.Desc(String.Format("{0}.{1}", sortExpression.ToString().ToLower(), Track.getChildPropertyAsString(sortExpression)));
            criteria.AddOrder(order);
            return criteria.List<Track>();
        }
        public void initialise()
        {
            Track t = new Track(
                new Autor("autor"),
                new Bpm(null),
                new Code("12345"),
                new Interpret("interpret"),
                new Label("label"),
                new Laenge("04:30"),
                new Titel("titel"),
                new Verlag("verlag"),
                new Year(null),
                new Ending(Ending.Attribute.None)
                );
            new DomainObjectIdSetter().SetIdOf(t, 1L);
            IList<Track> tracks = new List<Track>(1);
            tracks.Add(t);
            string cmd = @"
            insert into Track values(1,1,1,1,1,1,1,1,1,1,1);
            insert into Playlist(Id, Name) values(1,'p');
            insert into Einsatz values(1,1,1,1);
            ";
            new SQLiteCommand(cmd, this.conn).ExecuteNonQuery();

            Playlist p = new Playlist("x");
            new DomainObjectIdSetter().SetIdOf(p, 1L);

            using(mocks.Record()) {
                Expect.Call<String>(this.view.QueryId).Return("1");
                this.view.Tracks = tracks;
                this.view.Playlist = p;
            }
            using(mocks.Playback()) {
                presenter.initialise();
            }
        }
 /*
  * neues, short Format
  *
  * Column Daten in einzeiliger Extra-Tabelle
  * ab Tabelle 2 Zeile 1 Daten
  */
 private static IList<Einsatz> readShortFormat(Document doc, Playlist playlist)
 {
     IList<Einsatz> einsaetze = new List<Einsatz>(doc.Tables[2].Rows.Count);
     foreach(Row row in doc.Tables[2].Rows) {
         Track track = new Track(
             new Autor(" "),
             new Bpm(null),
             new Code(" "),
             new Interpret(init(brush(row.Cells[1].Range.Text))),
             new Label(init(brush(row.Cells[3].Range.Text))),
             new Laenge(" "),
             new Titel(init(brush(row.Cells[2].Range.Text))),
             new Verlag(" "),
             new Year(null),
             new Ending(Ending.Attribute.None));
         einsaetze.Add(new Einsatz(playlist, track, row.Index));
     }
     Check.Ensure(doc.Tables[2].Rows.Count == einsaetze.Count, String.Format(
         "Playlist unvollstaendig! Lesbare Datensaezte: {0} von {1}.",
         einsaetze.Count,
         doc.Tables[2].Rows.Count));
     return einsaetze;
 }
Esempio n. 11
0
 public virtual void addTrack(Track track)
 {
     if(this.Tracks.add(track))
         track.Laenge = this;
 }
        public void load_playlist_newFormat()
        {
            string path = BB080627;

            object template = path;
            object isNewTemplate = false;
            object documentType = WdNewDocumentType.wdNewBlankDocument;
            object isVisible = false;

            Microsoft.Office.Interop.Word.ApplicationClass app = new Microsoft.Office.Interop.Word.ApplicationClass();
            Microsoft.Office.Interop.Word.Document doc = app.Documents.Add(ref template, ref isNewTemplate, ref documentType, ref isVisible);

            Playlist playlist = new Playlist("whatever");
            IList<Einsatz> einsaetze = new List<Einsatz>();

            /*
             * This loop is specific for new Playlist format.
             */
            for(int i = 3; i <= doc.Tables[1].Rows.Count; i++) {
                Row row = doc.Tables[1].Rows[i];
                Track track = new Track(
                    new Autor(" "),
                    new Bpm(null),
                    new Code(init(brush(row.Cells[4].Range.Text))),
                    new Interpret(init(brush(row.Cells[5].Range.Text))),
                    new Label(init(brush(row.Cells[3].Range.Text))),
                    new Laenge(init(brush(row.Cells[7].Range.Text))),
                    new Titel(init(brush(row.Cells[1].Range.Text))),
                    new Verlag(" "),
                    new Year(null),
                    new Ending(Ending.Attribute.None));
                einsaetze.Add(new Einsatz(playlist, track, row.Index));
                Console.WriteLine("{0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}",
                    track.Autor.Name,
                    track.Bpm.ValueAsString,
                    track.Code.Name,
                    track.Interpret.Name,
                    track.Label.Name,
                    track.Laenge.Dauer,
                    track.Titel.Name,
                    track.Verlag.Name,
                    track.Year.ValueAsString,
                    track.Ending.EndingAsString);
            }
            Check.Ensure(doc.Tables[1].Rows.Count - 2 == einsaetze.Count,
                String.Format("Playlist unvollstaendig eingelesen: {0} statt {1} Datensaezte.", einsaetze.Count, doc.Tables[1].Rows.Count - 2));
            Assert.AreEqual(doc.Tables[1].Rows.Count - 2, einsaetze.Count);
        }
 /*
  * neues, eigenes Gema-Format
  */
 private static IList<Einsatz> readNewFormat(Microsoft.Office.Interop.Word.Document doc, Playlist playlist)
 {
     IList<Einsatz> einsaetze = new List<Einsatz>(doc.Tables[1].Rows.Count - 2);
     for(int i = 3; i <= doc.Tables[1].Rows.Count; i++) {
         Row row = doc.Tables[1].Rows[i];
         Track track = new Track(
             new Autor(" "),
             new Bpm(null),
             new Code(init(brush(row.Cells[4].Range.Text))),
             new Interpret(init(brush(row.Cells[5].Range.Text))),
             new Label(init(brush(row.Cells[3].Range.Text))),
             new Laenge(init(brush(row.Cells[7].Range.Text))),
             new Titel(init(brush(row.Cells[1].Range.Text))),
             new Verlag(" "),
             new Year(null),
             new Ending(Ending.Attribute.None));
         einsaetze.Add(new Einsatz(playlist, track, row.Index - 2));
     }
     Check.Ensure(doc.Tables[1].Rows.Count - 2 == einsaetze.Count, String.Format(
         "Playlist unvollstaendig! Lesbare Datensaezte: {0} von {1}.",
         einsaetze.Count,
         doc.Tables[1].Rows.Count - 2));
     return einsaetze;
 }
        private void prepareStateBag(StateBag sb, SortDirection dir, Track.Property exp)
        {
            StateBagTask.setSortDirection(dir, sb);
            StateBagTask.setSortExpression(exp, sb);

            Assert.AreEqual(dir, (SortDirection)StateBagTask.getSortDirection(stateBag));
            Assert.AreEqual(exp, (Track.Property)StateBagTask.getSortExpression(stateBag));
        }
 public SearchItem_Between_Dto(Track.Property property)
     : this(Relator.Unary.IS, property, String.Empty, String.Empty)
 {
 }
 public SearchItem_Like_Dto(Relator.Unary unary, Track.Property property, string searchPhrase)
     : base(unary, property, searchPhrase)
 {
 }
Esempio n. 17
0
 public override void addTrack(Track track)
 {
     if(this.Tracks.add(track))
         track.Titel = this;
 }
Esempio n. 18
0
 public static string getChildPropertyAsString( Track.Property trackProperty)
 {
     string temp;
     switch(trackProperty) {
         case (Track.Property.Bpm):
             temp = Bpm.Property.Value.ToString();
             break;
         case (Track.Property.Laenge):
             temp = Laenge.Property.Dauer.ToString();
             break;
         case (Track.Property.Year):
             temp = Year.Property.Value.ToString();
             break;
         default:
             temp = ATrackProperty.Property.Name.ToString();
             break;
     }
     return temp;
 }
Esempio n. 19
0
 public bool add(Track track)
 {
     return this.tracks.Add(track);
 }
Esempio n. 20
0
 public void runOnceBeforEveryTest()
 {
     t = new Track(
         new Autor("autor"),
         new Bpm(null),
         new Code("12345"),
         new Interpret("interpret"),
         new Label("label"),
         new Laenge("04:30"),
         new Titel("titel"),
         new Verlag("verlag"),
         new Year(null),
         new Ending(Ending.Attribute.None)
         );
     p = new Playlist("Playlist");
 }
 public override void addTrack(Track track)
 {
     throw new NotImplementedException();
 }
        public void load_playlist_oldFormat()
        {
            string path = BB080111;

            object template = path;
            object isNewTemplate = false;
            object documentType = 0;
            object isVisible = false;

            Microsoft.Office.Interop.Word.ApplicationClass app = new Microsoft.Office.Interop.Word.ApplicationClass();
            Microsoft.Office.Interop.Word.Document doc = app.Documents.Add(ref template, ref isNewTemplate, ref documentType, ref isVisible);

            Playlist playlist = new Playlist("blah");
            IList<Einsatz> einsaetze = new List<Einsatz>(doc.Tables[1].Rows.Count);

            foreach(Row row in doc.Tables[1].Rows) {
                Track track = new Track(
                    new Autor(init(brush(row.Cells[1].Range.Text))),
                    new Bpm(null),
                    new Code(init(brush(row.Cells[2].Range.Text))),
                    new Interpret(init(brush(row.Cells[3].Range.Text))),
                    new Label(init(brush(row.Cells[4].Range.Text))),
                    new Laenge(init(brush(row.Cells[5].Range.Text))),
                    new Titel(init(brush(row.Cells[6].Range.Text))),
                    new Verlag(init(brush(row.Cells[7].Range.Text))),
                    new Year(null),
                    new Ending(Ending.Attribute.None));
                einsaetze.Add(new Einsatz(playlist, track, row.Index));
            }
            Assert.AreEqual(doc.Tables[1].Rows.Count, einsaetze.Count);

            object saveChanges = false;
            object originalFormat = false;
            object routeDocument = false;
            app.Quit(ref saveChanges, ref originalFormat, ref routeDocument);
        }
Esempio n. 23
0
 public virtual void addTrack(Track track)
 {
     if(this.Tracks.add(track))
         track.Year = this;
 }
 public void runBeforTest()
 {
     track0 = new Track(
         new Autor("autor"),
         new Bpm(null),
         new Code("12345"),
         new Interpret("interpret"),
         new Label("label"),
         new Laenge("04:30"),
         new Titel("titel__0"),
         new Verlag("verlag"),
         new Year(null),
         new Ending(Ending.Attribute.None)
         );
     track1 = new Track(
         new Autor("autor"),
         new Bpm(null),
         new Code("12345"),
         new Interpret("interpret"),
         new Label("label"),
         new Laenge("04:30"),
         new Titel("titel__1"),
         new Verlag("verlag"),
         new Year(null),
         new Ending(Ending.Attribute.None)
         );
     track2 = new Track(
         new Autor("autor"),
         new Bpm(null),
         new Code("12345"),
         new Interpret("interpret"),
         new Label("label"),
         new Laenge("04:30"),
         new Titel("titel__2"),
         new Verlag("verlag"),
         new Year(null),
         new Ending(Ending.Attribute.None)
         );
     playlist = new Playlist( "playlist" );
 }
Esempio n. 25
0
 public override void addTrack(Track track)
 {
     if(this.Tracks.add(track))
         track.Interpret = this;
 }
Esempio n. 26
0
 public void remove(Track track)
 {
     if(track == null)
         return;
     this.tracks.Remove(track);
 }
Esempio n. 27
0
 public virtual Track addUniqueTrack(Track track)
 {
     return this.Tracks.addTrack(track);
 }
Esempio n. 28
0
 public static void append( Track track, Playlist playlist )
 {
     playlist.addEinsatz( new Einsatz( playlist, track ) );
     Playlist_Service.updatePositions(playlist);
 }
Esempio n. 29
0
 public ASearchItemDto(Relator.Unary unary, Track.Property property, params string[] searchPhrase)
 {
     this.unaryRelator = unary;
     this.trackProperty = property;
     this.searchPhrase = searchPhrase;
 }
Esempio n. 30
0
 public override void addTrack(Track track)
 {
     if(this.Tracks.add(track))
         track.Verlag = this;
 }