Esempio n. 1
0
 public Employee(string firstName, string lastName, string department, string phone)
 {
     this.ID         = IDGenerator.NewID();
     this.FirstName  = firstName;
     this.LastName   = lastName;
     this.Department = department;
     this.Phone      = phone;
 }
Esempio n. 2
0
 public Review(string body, int reviewHits, int reviewScore, Reviewer reviewer)
 {
     Id       = ReviewIdGenerator.NewID();
     Body     = body;
     Score    = reviewScore;
     Hits     = reviewHits;
     Reviewer = reviewer;
 }
Esempio n. 3
0
        private void CreateStylesTreeItem(StylesTreeItem stylesTreeItem)
        {
            stylesTreeItem.ID = _idGenerator.NewID();

            Debug.Assert(!(_stylesTreeItems.Select(x => x.ID).Contains(stylesTreeItem.ID)));
            Debug.Assert(GetStylesTreeItem(stylesTreeItem) == null);

            _stylesTreeItems.Add(stylesTreeItem);

            return;
        }
Esempio n. 4
0
        protected Artist GetOrBuildArtist(string artistName, IList <Country> countries, string officialUrl, DateTime lastUpdate, Reviewer reviewer, IList <string> similarArtists)
        {
            var selectedArtist = (from artist in Artists where artist.Name == artistName.ToUpperInvariant() select artist).SingleOrDefault();

            if (selectedArtist == null)
            {
                selectedArtist = new Artist(_artistIdGenerator.NewID(), artistName, countries, officialUrl, lastUpdate, reviewer, similarArtists);
                Artists.Add(selectedArtist);
                return(selectedArtist);
            }

            selectedArtist.UpdateInfos(countries, officialUrl, lastUpdate, reviewer, similarArtists);

            return(selectedArtist);
        }
Esempio n. 5
0
        protected Reviewer GetOrBuildReviewer(string name, string mailAddress, DateTime lastUpdate)
        {
            var selectedReviewer = (from reviewer in Reviewers where reviewer.Name == name select reviewer).SingleOrDefault();

            if (selectedReviewer == null)
            {
                selectedReviewer = new Reviewer(_userIdGenerator.NewID(), name, mailAddress, lastUpdate);
                Reviewers.Add(selectedReviewer);
                return(selectedReviewer);
            }

            if (selectedReviewer.LastUpdate < lastUpdate)
            {
                selectedReviewer.UpdateInfos(name, mailAddress, lastUpdate);
            }

            return(selectedReviewer);
        }
Esempio n. 6
0
        public static LabelVendor CreateOrUpdate(string label, string vendor, DateTime lastUpdate)
        {
            if (string.IsNullOrEmpty(label))
            {
                throw new ArgumentNullException("label");
            }

            var lb = label.Trim();
            var vd = vendor.Trim();

            var existingLb = LabelVendors.Where(x => x.Label.ToUpperInvariant() == lb.ToUpperInvariant()).SingleOrDefault();

            if (existingLb == null)
            {
                var labelVendor = new LabelVendor(AlbumLabelsIdGenerator.NewID(), lb, vd, lastUpdate);
                LabelVendors.Add(labelVendor);
                return(labelVendor);
            }

            existingLb.UpdateVendor(vd, lastUpdate);
            return(existingLb);
        }
Esempio n. 7
0
        public override void Add(IExplodedReview <Album> explodedReview)
        {
            var review = explodedReview as AlbumExplodedReview;

            if (review == null)
            {
                throw new InvalidCastException("Cannot cast review as 'AlbumExplodedReview'");
            }

            _explodedReviews.Add(review);

            var reviewer = GetOrBuildReviewer(review.ReviewerName, review.ReviewerMail, review.RecordLastUpdateDate);

            var artist = GetOrBuildArtist(review.ArtistName, review.ProcessedArtistCountries, review.ArtistOfficialUrl,
                                          review.RecordLastUpdateDate, reviewer, review.ArtistSimilarArtists);

            var chronique = new Review(review.ReviewBody, review.ReviewHits, review.ReviewScore, reviewer);

            var album = new Album(_albumIdGenerator.NewID(), review.AlbumName, review.AlbumReleaseDate, review.ReviewScore
                                  , review.ProcessedLabelVendor, review.AlbumCoverFileName, review.RecordLastUpdateDate, artist, reviewer, review.AlbumSimilarAlbums, review.ProcessedAlbumType
                                  , review.AlbumMusicGenre, review.ProcessedAlbumStyle, chronique);

            _albums.Add(album);
        }