Exemplo n.º 1
0
        private ArchivedVenueVersion Archive(IDatabaseContext <Venue> ctx, Venue venue, VenueDiff diff, EntryEditEvent reason, string notes)
        {
            var agentLoginData = ctx.OfType <User>().CreateAgentLoginData(_permissionContext);
            var archived       = ArchivedVenueVersion.Create(venue, diff, agentLoginData, reason, notes);

            ctx.Save(archived);
            return(archived);
        }
Exemplo n.º 2
0
        private static void DoIfExists(ArchivedVenueVersion version, VenueEditableFields field, XmlCache <ArchivedVenueContract> xmlCache, Action <ArchivedVenueContract> func)
        {
            var versionWithField = version.GetLatestVersionWithField(field);

            if (versionWithField?.Data != null)
            {
                var data = xmlCache.Deserialize(versionWithField.Version, versionWithField.Data);
                func(data);
            }
        }
Exemplo n.º 3
0
        public static ArchivedVenueContract GetAllProperties(ArchivedVenueVersion version)
        {
            var data        = new ArchivedVenueContract();
            var xmlCache    = new XmlCache <ArchivedVenueContract>();
            var thisVersion = version.Data != null?xmlCache.Deserialize(version.Version, version.Data) : new ArchivedVenueContract();

            data.Address            = thisVersion.Address;
            data.AddressCountryCode = thisVersion.AddressCountryCode;
            data.Coordinates        = thisVersion.Coordinates;
            data.Description        = thisVersion.Description;
            data.Id             = thisVersion.Id;
            data.TranslatedName = thisVersion.TranslatedName;

            DoIfExists(version, VenueEditableFields.Names, xmlCache, v => data.Names       = v.Names);
            DoIfExists(version, VenueEditableFields.WebLinks, xmlCache, v => data.WebLinks = v.WebLinks);

            return(data);
        }
        public ArchivedVenueVersionDetailsContract(ArchivedVenueVersion archived, ArchivedVenueVersion comparedVersion, IUserPermissionContext permissionContext)
        {
            ParamIs.NotNull(() => archived);

            ArchivedVersion = new ArchivedVenueVersionContract(archived);
            ComparedVersion = comparedVersion != null ? new ArchivedVenueVersionContract(comparedVersion) : null;
            Venue           = new VenueContract(archived.Entry, permissionContext.LanguagePreference);
            Name            = Venue.Name;

            ComparableVersions = archived.Entry.ArchivedVersionsManager
                                 .GetPreviousVersions(archived, permissionContext)
                                 .Select(a => ArchivedObjectVersionWithFieldsContract.Create(a, a.Diff.ChangedFields.Value, a.CommonEditEvent))
                                 .ToArray();

            Versions = ComparedVenueContract.Create(archived, comparedVersion);

            ComparedVersionId = Versions.SecondId;
        }
Exemplo n.º 5
0
        protected void AddEntryEditedEntry(IDatabaseContext <ActivityEntry> ctx, Venue entry, EntryEditEvent editEvent, ArchivedVenueVersion archivedVersion)
        {
            var user          = ctx.OfType <User>().GetLoggedUser(PermissionContext);
            var activityEntry = new VenueActivityEntry(entry, editEvent, user, archivedVersion);

            AddActivityfeedEntry(ctx, activityEntry);
        }
 public ArchivedVenueVersionContract(ArchivedVenueVersion archivedVersion) : base(archivedVersion, archivedVersion.Diff.ChangedFields.Value, archivedVersion.CommonEditEvent)
 {
 }
Exemplo n.º 7
0
 public ArchivedVenueVersionContract(ArchivedVenueVersion archivedVersion, IUserIconFactory userIconFactory)
     : base(archivedVersion, userIconFactory, archivedVersion.Diff.ChangedFields.Value, archivedVersion.CommonEditEvent)
 {
 }
Exemplo n.º 8
0
 public static ComparedVenueContract Create(ArchivedVenueVersion firstData, ArchivedVenueVersion secondData)
 {
     return(new ComparedVenueContract(Create(firstData, secondData, ArchivedVenueContract.GetAllProperties, d => d.Id)));
 }