Пример #1
0
        private static void MapSingleEvents(ModelBuilder modelBuilder)
        {
            var entity = modelBuilder.Entity <SingleEvent>();

            entity.HasKey(x => x.Id);
            entity.Property(x => x.Title).IsRequired();
            entity.Property(x => x.Start).IsRequired();
            entity.Property(x => x.Duration).HasConversion(d => d.ToJson(), d => EventDuration.FromJson(d))
            .IsRequired();
            entity.Property(x => x.MailAddresses)
            .HasConversion(ma => ListMapper.ToJson(ma), ma => ListMapper.FromJson(ma));
        }
Пример #2
0
        private static void MapEventSeries(ModelBuilder modelBuilder)
        {
            var entity = modelBuilder.Entity <EventSeries>();

            entity.HasKey(x => x.Id);
            entity.Property(x => x.Title).IsRequired();
            entity.Property(x => x.Start).IsRequired();
            entity.Property(x => x.Duration).HasConversion(d => d.ToJson(), d => EventDuration.FromJson(d))
            .IsRequired();
            entity.Property(x => x.RepeatPeriod).HasConversion(
                v => v.ToString(),
                v => (RepeatPeriod)Enum.Parse(typeof(RepeatPeriod), v)).IsRequired();
            entity.HasMany(x => x.EditedEvents).WithOne(x => x.EventSeries);
            entity.Property(x => x.Finish).HasConversion(v => v.ToJson(), v => FinishClass.FromJson(v)).IsRequired();
            entity.Property(x => x.MailAddresses)
            .HasConversion(ma => ListMapper.ToJson(ma), ma => ListMapper.FromJson(ma));
            entity.Property(x => x.DeletedOccurrences)
            .HasConversion(deleted => ListMapper.ToJsonDateTime(deleted),
                           deleted => ListMapper.FromJsonDateTime(deleted));
        }