private void AreEqual(ReleaseEvent expected, ReleaseEventFindResultContract actual) {
			
			Assert.IsNotNull(actual, "Result");
			Assert.AreEqual(expected.Name, actual.EventName, "EventName");
			Assert.AreEqual(expected.Id, actual.EventId, "EventId");

		}
        public ReleaseEventFindResultContract(ReleaseEvent releaseEvent)
        {
            ParamIs.NotNull(() => releaseEvent);

            EventId = releaseEvent.Id;
            EventName = releaseEvent.Name;
        }
		private ReleaseEvent CreateEvent(string name) {

			var e = new ReleaseEvent(string.Empty, null, name) { Id = eventId++ };
			querySource.Add(e);

			return e;

		}
        public ReleaseEventDetailsContract(ReleaseEvent releaseEvent, ContentLanguagePreference languagePreference)
            : base(releaseEvent)
        {
            ParamIs.NotNull(() => releaseEvent);

            Albums = releaseEvent.Albums.Select(a => new AlbumWithAdditionalNamesContract(a, languagePreference)).OrderBy(a => a.Name).ToArray();
            Series = (releaseEvent.Series != null ? new ReleaseEventSeriesContract(releaseEvent.Series) : null);
            SeriesNumber = releaseEvent.SeriesNumber;
        }
        public ReleaseEventContract(ReleaseEvent ev)
            : this()
        {
            ParamIs.NotNull(() => ev);

            Date = ev.Date;
            Description = ev.Description;
            Id = ev.Id;
            Name = ev.Name;
        }
		public ReleaseEventDetailsContract(ReleaseEvent releaseEvent, ContentLanguagePreference languagePreference) 
			: base(releaseEvent, true) {

			ParamIs.NotNull(() => releaseEvent);

			Albums = releaseEvent.Albums.Where(a => !a.Deleted).Select(a => new AlbumContract(a, languagePreference)).OrderBy(a => a.Name).ToArray();
			SeriesNumber = releaseEvent.SeriesNumber;
			SeriesSuffix = releaseEvent.SeriesSuffix;

		}
		private ReleaseEvent CreateEvent(ReleaseEventSeries series, int number, string suffix = "") {

			var e = new ReleaseEvent(string.Empty, null, series, number, suffix) {
				Id = eventId++
			};
			querySource.Add(e);
			series.Events.Add(e);

			return e;

		}
        public ArchivedEventContract(ReleaseEvent ev)
        {
            ParamIs.NotNull(() => ev);

            Date = ev.Date;
            Description = ev.Description;
            Id = ev.Id;
            Name = ev.Name;
            Series = (ev.Series != null ? new ObjectRefContract(ev.Series) : null);
            SeriesNumber = ev.SeriesNumber;
        }
		public void SetUp() {

			querySource = new QuerySourceList();

			target = new ReleaseEventSearch(querySource);

			series = CreateSeries("Comiket", "C", "c", "Comic Market");

			eventInSeries = CreateEvent(series, 84);
			unsortedEvent = CreateEvent("Vocaloid Festa");

		}
Esempio n. 10
0
		public ReleaseEventContract(ReleaseEvent ev, bool includeSeries = false)
			: this() {

			ParamIs.NotNull(() => ev);

			Date = ev.Date;
			Description = ev.Description;
			Id = ev.Id;
			Name = ev.Name;

			if (includeSeries && ev.Series != null)
				Series = new ReleaseEventSeriesContract(ev.Series);

		}
        public ArchivedReleaseEventVersion(ReleaseEvent releaseEvent, ReleaseEventDiff diff, AgentLoginData author,
                                           EntryEditEvent commonEditEvent)
            : base(null, author, 0, EntryStatus.Finished, string.Empty)
        {
            ParamIs.NotNull(() => diff);

            ReleaseEvent    = releaseEvent;
            Diff            = diff;
            CommonEditEvent = commonEditEvent;
            Date            = releaseEvent.Date;
            Description     = releaseEvent.Description;
            Name            = releaseEvent.Name;
            SeriesNumber    = releaseEvent.SeriesNumber;
            Status          = EntryStatus.Finished;
        }
Esempio n. 12
0
		public void SetUp() {

			series = CreateEntry.EventSeries("M3");
			existingEvent = new ReleaseEvent(string.Empty, null, series, 2013, "Spring");

			repository = new FakeEventRepository();
			repository.Save(series);
			repository.Save(existingEvent);

			album = CreateEntry.Album(name: "Day's Footsteps");
			album.OriginalReleaseEventName = "M3 2013 Spring";
			repository.Save(album);

			var user = CreateEntry.User();
			repository.Save(user);
			queries = new EventQueries(repository, new FakeEntryLinkFactory(), new FakePermissionContext(user));

		}
Esempio n. 13
0
        public virtual bool Equals(ReleaseEvent another)
        {
            if (another == null)
            {
                return(false);
            }

            if (ReferenceEquals(this, another))
            {
                return(true);
            }

            if (Id == 0)
            {
                return(false);
            }

            return(this.Id == another.Id);
        }
		public ReleaseEventForApiContract(ReleaseEvent rel, ReleaseEventOptionalFields fields) {
			
			Date = rel.Date;
			Id = rel.Id;
			Name = rel.Name;
			SeriesNumber = rel.SeriesNumber;
			SeriesSuffix = rel.SeriesSuffix;

			if (rel.Series != null) {
				SeriesId = rel.Series.Id;
			}

			if (fields.HasFlag(ReleaseEventOptionalFields.Description)) {
				Description = rel.Description;
			}

			if (fields.HasFlag(ReleaseEventOptionalFields.Series) && rel.Series != null) {
				Series = new ReleaseEventSeriesContract(rel.Series);
			}

		}
Esempio n. 15
0
        /*public ReleaseEventDetailsContract GetReleaseEventDetailsByName(string name) {

            return HandleQuery(session => new ReleaseEventDetailsContract(session.Query<ReleaseEvent>().F(r => r.Name == name)));

        }*/
        public void Archive(ISession session, ReleaseEvent releaseEvent, ReleaseEventDiff diff, EntryEditEvent reason)
        {
            var agentLoginData = SessionHelper.CreateAgentLoginData(session, PermissionContext);
            var archived = releaseEvent.CreateArchivedVersion(diff, agentLoginData, reason);
            session.Save(archived);
        }
Esempio n. 16
0
		public virtual bool Equals(ReleaseEvent another) {

			if (another == null)
				return false;

			if (ReferenceEquals(this, another))
				return true;

			if (Id == 0)
				return false;

			return this.Id == another.Id;

		}
 public ReleaseEventWithArchivedVersionsContract(ReleaseEvent ev)
     : base(ev)
 {
     ArchivedVersions = ev.ArchivedVersionsManager.Versions.Select(
         a => new ArchivedEventVersionContract(a)).ToArray();
 }
Esempio n. 18
0
        public ReleaseEventContract UpdateEvent(ReleaseEventDetailsContract contract)
        {
            ParamIs.NotNull(() => contract);

            PermissionContext.VerifyPermission(PermissionToken.ManageDatabase);

            return HandleTransaction(session => {

                ReleaseEvent ev;

                if (contract.Id == 0) {

                    if (contract.Series != null) {
                        var series = session.Load<ReleaseEventSeries>(contract.Series.Id);
                        ev = new ReleaseEvent(contract.Description, contract.Date, series, contract.SeriesNumber);
                        series.Events.Add(ev);
                    } else {
                        ev = new ReleaseEvent(contract.Description, contract.Date, contract.Name);
                    }

                    session.Save(ev);

                    Archive(session, ev, new ReleaseEventDiff(), EntryEditEvent.Created);

                    AuditLog("created " + ev, session);

                } else {

                    ev = session.Load<ReleaseEvent>(contract.Id);
                    var diff = new ReleaseEventDiff();

                    if (ev.Date != contract.Date)
                        diff.Date = true;

                    if (ev.Description != contract.Description)
                        diff.Description = true;

                    if (ev.Name != contract.Name)
                        diff.Name = true;

                    if (ev.SeriesNumber != contract.SeriesNumber)
                        diff.SeriesNumber = true;

                    ev.Date = contract.Date;
                    ev.Description = contract.Description;
                    ev.Name = contract.Name;
                    ev.SeriesNumber = contract.SeriesNumber;

                    session.Update(ev);

                    Archive(session, ev, diff, EntryEditEvent.Updated);

                    var logStr = string.Format("updated properties for {0} ({1})", CreateEntryLink(ev), diff.ChangedFieldsString);
                    AuditLog(logStr, session);

                }

                return new ReleaseEventContract(ev);

            });
        }