示例#1
0
        public void EditEvent(CrudEvent crudEvent)
        {
            // Update Event
            var e = new Event(new EventId(crudEvent.Id),
                              new ClientId(crudEvent.ClientId),
                              new EventTitle(crudEvent.Title),
                              new EventDescription(crudEvent.Description),
                              new Location(crudEvent.Address, crudEvent.LocationType),
                              new EventDate(crudEvent.StartsAt.Year, crudEvent.StartsAt.Month, crudEvent.StartsAt.Day,
                                            crudEvent.StartsAt.Hour, crudEvent.StartsAt.Minute),
                              new EventDate(crudEvent.EndsAt.Year, crudEvent.EndsAt.Month, crudEvent.EndsAt.Day,
                                            crudEvent.EndsAt.Hour, crudEvent.EndsAt.Minute),
                              crudEvent.Type,
                              crudEvent.Audience,
                              new EventPublishDate(crudEvent.PublishDate),
                              crudEvent.IsActive);

            _eventsRepository.EditEvent(e);

            // Update Pictures
            _picturesRepository.DeleteAllPicturesFromEvent(e.Id.ToString());

            var pictures = crudEvent.Pictures
                           .Where(p => p != null)
                           .Select(p => new Picture(e.Id.ToString(), null, p))
                           .ToList();

            _picturesRepository.AddPicturesToEvent(pictures);
        }