public void Create(SPWeb web, EventsCalendarSubscriberEntity subscriber) { var list = Definition.GetList(web); var item = list.AddItem(); MapEntityToItem(subscriber, item); item.Update(); }
public void Update(SPWeb web, EventsCalendarSubscriberEntity subscriber) { var item = Query(web, subscriber.Id); if(item == null) return; MapEntityToItem(subscriber, item); item.Update(); }
private void MapToEntity(EventsCalendarSubscriberEntity subscriber, string email, IEnumerable<string> targets, bool notifyOfNewEvents, SPUser author) { if (string.IsNullOrEmpty(email)) throw new ArgumentNullException("email"); var unknownTargets = targets.Where(item => !EventTargetAudience.All.Contains(item)); if (unknownTargets.Any()) throw new ArgumentOutOfRangeException("targets", unknownTargets.First()); if (string.IsNullOrEmpty(subscriber.Title)) { var title = string.Format("{0} subscription", author.Name); subscriber.Title = title; } subscriber.Email = email; subscriber.TargetAudience = targets; subscriber.NotifyOfNewEvents = notifyOfNewEvents; }
private EventsCalendarSubscriberEntity MapToEntity(string email, IEnumerable<string> targets, bool notifyOfNewEvents, SPUser author) { var subscriber = new EventsCalendarSubscriberEntity(); MapToEntity(subscriber, email, targets, notifyOfNewEvents, author); return subscriber; }
private void Update(SPWeb web, EventsCalendarSubscriberEntity subscriber, string email, IEnumerable<string> targets, bool notifyOfNewEvents, SPUser author) { MapToEntity(subscriber, email, targets, notifyOfNewEvents, author); _repository.Update(web, subscriber); }
private EventsCalendarSubscriberEntity MapItemToEntity(SPListItem item) { var entity = new EventsCalendarSubscriberEntity { Id = item.ID, Title = item.Title, Email = item[EventsCalendarSubscriberFields.Email] as string, NotifyOfNewEvents = (bool)item[EventsCalendarSubscriberFields.NotifyOfNewEvents], Author = ListItemHelper.GetSPUser(item, EventsCalendarSubscriberFields.Author), TargetAudience = MapMultiChoiceValueToCollection(item[EventsCalendarFields.TargetAudience].ToString()) }; return entity; }
private void MapEntityToItem(EventsCalendarSubscriberEntity entity, SPListItem item) { item[ItemFields.Title] = entity.Title; item[EventsCalendarSubscriberFields.Email] = entity.Email; item[EventsCalendarSubscriberFields.NotifyOfNewEvents] = entity.NotifyOfNewEvents; item[EventsCalendarFields.TargetAudience] = MapCollectionToMultiChoiceValue(entity.TargetAudience); }