コード例 #1
0
        protected void UnRegisterParticipantButton_Command(object sender, CommandEventArgs e)
        {
            string[]     participantInfo = e.CommandArgument.ToString().Split(',');
            IParticipant participant     = AttendRegistrationEngine.GetParticipant(participantInfo[0], participantInfo[1]);

            RegisterParticipant(participant, true);
        }
コード例 #2
0
        protected override void OnInit(EventArgs e)
        {
            DetailsXFormControl.FormDefinition = XForm.CreateInstance(new Guid((CurrentData as EventPageBase).RegistrationForm.Id.ToString()));

            string email = Request.QueryString["email"];
            string code  = Request.QueryString["code"];

            HiddenCode.Value  = code;
            HiddenEmail.Value = email;


            if (!string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(code))
            {
                IParticipant participant = AttendRegistrationEngine.GetParticipant(email, code);
                if (participant != null)
                {
                    SerializableXmlDocument xmlDoc = new SerializableXmlDocument();
                    xmlDoc.LoadXml(participant.XForm);
                    DetailsXFormControl.Data.Data = xmlDoc;
                }
            }

            SessionsPanel.Controls.Add(AttendSessionEngine.GetSessionsControl(CurrentData.ContentLink, null));
            SessionsPanel.DataBind();
            base.OnInit(e);
        }
コード例 #3
0
        protected void AttendButton_Click(object sender, EventArgs e)
        {
            IParticipant participant;

            if (!string.IsNullOrEmpty(HiddenEmail.Value))
            {
                participant = AttendRegistrationEngine.GetParticipant(HiddenEmail.Value, HiddenCode.Value);
                if (participant != null)
                {
                    participant = (participant as ParticipantBlock).CreateWritableClone() as ParticipantBlock;
                }
            }

            else
            {
                string participantEmail = "";
                foreach (var fragment in DetailsXFormControl.ExtractXFormControls())
                {
                    if (fragment.ID == "epost" || fragment.ID == "email")
                    {
                        participantEmail = fragment.Value;
                    }
                }


                if (string.IsNullOrEmpty(participantEmail) || Business.Email.Validation.IsEmail(participantEmail) == false)
                {
                    return;
                }

                participant = AttendRegistrationEngine.GenerateParticipation(CurrentData.ContentLink, participantEmail, true, DetailsXFormControl.Data.Data.OuterXml, "Participant submitted form");
            }
            if (participant != null)
            {
                participant.XForm    = DetailsXFormControl.Data.Data.OuterXml;
                participant.Sessions = new ContentArea();
                foreach (ContentReference item in GetChosenSessions())
                {
                    participant.Sessions.Items.Add(new ContentAreaItem()
                    {
                        ContentLink = item
                    });
                }
                Locate.ContentRepository().Save(participant as IContent, EPiServer.DataAccess.SaveAction.Publish, EPiServer.Security.AccessLevel.NoAccess);
                string propertyName = "";
                if (participant.AttendStatus == AttendStatus.Confirmed.ToString())
                {
                    propertyName = "CompleteContent";
                }
                if (participant.AttendStatus == AttendStatus.Submitted.ToString())
                {
                    propertyName = "SubmittedContent";
                }
                ContentProperty.PropertyName = propertyName;
                ContentProperty.DataBind();
                DetailsXFormControl.Visible = false;
                AttendButton.Visible        = false;
            }
        }
コード例 #4
0
        protected void RegisterByCodeButton_Click(object sender, EventArgs e)
        {
            string       code        = TextBoxBarCode.Text;
            IParticipant participant = AttendRegistrationEngine.GetParticipant(code);

            RegisterParticipant(participant);
            TextBoxBarCode.Text = "";
            TextBoxBarCode.Focus();
        }
コード例 #5
0
        protected void RegisterAllParticipantsButton_Click(object sender, EventArgs e)
        {
            IEnumerable <IParticipant> allConfirmed = AttendRegistrationEngine.GetParticipants(CurrentEvent.ContentLink, Business.Text.AttendStatus.Confirmed);

            foreach (IParticipant participant in allConfirmed)
            {
                RegisterParticipant(AttendRegistrationEngine.GetParticipant(participant.Code), false);
            }
            AddStatusText("All participants registered!");
        }
コード例 #6
0
ファイル: Pdf.aspx.cs プロジェクト: suwayya/Attend
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));

            string idstring = Request.QueryString["participant"];
            string email    = Request.QueryString["email"];
            string code     = Request.QueryString["code"];

            int id = 0;

            int.TryParse(idstring, out id);

            registration = AttendRegistrationEngine.GetParticipant(id);

            if (null == registration)
            {
                Response.Status     = "404 Not Found";
                Response.StatusCode = 404;
                Response.End();
            }
            else
            {
                EventPageBase EventPageBaseData = EPiServer.DataFactory.Instance.GetPage(registration.EventPage) as EventPageBase;

                var    file           = ServiceLocator.Current.GetInstance <IContentRepository>().Get <MediaData>(EventPageBaseData.EventDetails.PdfTemplate);
                string pdfTemplateUrl = UrlResolver.Current.GetUrl(file.ContentLink);

                //string pdfTemplateUrl = EventPageBaseData.EventDetails.PdfTemplate;
                var filestream = file.BinaryData.OpenRead();


                VirtualFile vf = HostingEnvironment.VirtualPathProvider.GetFile(pdfTemplateUrl);

                string physicalPath = "";

                /*
                 * UnifiedFile uf = vf as UnifiedFile;
                 * if (null != uf)
                 *  physicalPath = uf.LocalPath;
                 */
                Response.ContentType = "application/pdf";
                Response.AddHeader("Content-Disposition", String.Format("attachment; filename=EventDiploma_{0}.pdf", code));

                PdfGenerator.Create(filestream, registration, EventPageBaseData, Response.OutputStream);

                Response.Flush();
                Response.End();
            }
        }
コード例 #7
0
        public static List <IParticipant> GetRegistrations(string email)
        {
            List <IParticipant> participations = new List <IParticipant>();
            var registrations = from r in RegistrationDataStore.Items <Registration>()
                                where r.Email == email
                                select r;

            foreach (Registration r in registrations)
            {
                IParticipant p = AttendRegistrationEngine.GetParticipant(r.ParticipantBlock);
                if (p != null)
                {
                    participations.Add(p);
                }
            }
            return(participations);
        }