Esempio n. 1
0
        protected override bool Execute(string data, FormSubmitContext formSubmitContext)
        {
            var shortname   = ((StringInputViewModel)formSubmitContext.Fields.FirstOrDefault(f => f.Name == "ShortName")).Value;
            var title       = ((StringInputViewModel)formSubmitContext.Fields.FirstOrDefault(f => f.Name == "Title")).Value;
            var description = ((StringInputViewModel)formSubmitContext.Fields.FirstOrDefault(f => f.Name == "Description")).Value;

            using (new SecurityDisabler())
            {
                var item             = _rootItem.Add(shortname, _templateId);
                var membersListId    = _xconnectService.CreateList($"{shortname} Members");
                var organizersListId = _xconnectService.CreateList($"{shortname} Organizers");
                item.Editing.BeginEdit();
                item["Title"]       = title;
                item["Description"] = description;
                item["Members"]     = new ID(membersListId).ToString();
                item["Organizers"]  = new ID(organizersListId).ToString();
                item.Editing.AcceptChanges();

                var email = Sitecore.Analytics.Tracker.Current.Contact.Identifiers.FirstOrDefault(i => i.Source == Constants.XConnectSourceName)?.Identifier;
                _xconnectService.SubscribeContact(email, new List <Guid> {
                    membersListId, organizersListId
                });
            }
            return(true);
        }
Esempio n. 2
0
        protected override bool Execute(string data, FormSubmitContext formSubmitContext)
        {
            var itemId      = ((StringInputViewModel)formSubmitContext.Fields.FirstOrDefault(f => f.Name == "ItemId")).Value;
            var host        = ((StringInputViewModel)formSubmitContext.Fields.FirstOrDefault(f => f.Name == "Host")).Value;
            var title       = ((StringInputViewModel)formSubmitContext.Fields.FirstOrDefault(f => f.Name == "Title")).Value;
            var description = ((MultipleLineTextViewModel)formSubmitContext.Fields.FirstOrDefault(f => f.Name == "Description")).Value;
            var date        = ((DateViewModel)formSubmitContext.Fields.FirstOrDefault(f => f.Name == "Date")).Value;
            var address     = ((MultipleLineTextViewModel)formSubmitContext.Fields.FirstOrDefault(f => f.Name == "Address")).Value;

            using (new SecurityDisabler())
            {
                var rootItem        = _database.GetItem(itemId);
                var item            = rootItem.Add(title, _templateId);
                var attendeesListId = _xconnectService.CreateList($"{item.Name} - {title} Attendees");
                item.Editing.BeginEdit();
                item["Host"]        = host;
                item["Title"]       = title;
                item["Description"] = description;
                item["Date"]        = Sitecore.DateUtil.ToIsoDate(date.Value);
                item["Address"]     = address;
                item["Attendees"]   = new ID(attendeesListId).ToString();
                item.Editing.AcceptChanges();

                var email = Sitecore.Analytics.Tracker.Current.Contact.Identifiers.FirstOrDefault(i => i.Source == Constants.XConnectSourceName)?.Identifier;
                _xconnectService.SubscribeContact(email, new List <Guid> {
                    attendeesListId
                });
            }
            return(true);
        }