예제 #1
0
        /// <summary>
        /// Creates the RegistrantState and TemplateState obj and loads the UI with values.
        /// </summary>
        private void LoadState()
        {
            int?registrantId   = PageParameter("RegistrantId").AsIntegerOrNull();
            int?registrationId = PageParameter("RegistrationId").AsIntegerOrNull();

            if (RegistrantState == null)
            {
                var rockContext = new RockContext();
                RegistrationRegistrant registrant = null;

                if (registrantId.HasValue && registrantId.Value != 0)
                {
                    registrant = new RegistrationRegistrantService(rockContext)
                                 .Queryable().AsNoTracking()
                                 .Include(a => a.Registration.RegistrationInstance.RegistrationTemplate.Forms)
                                 .Include(a => a.Registration.RegistrationInstance.RegistrationTemplate.Fees)
                                 .Include(a => a.PersonAlias.Person)
                                 .Include(a => a.Fees)
                                 .Where(r => r.Id == registrantId.Value)
                                 .FirstOrDefault();

                    if (registrant != null &&
                        registrant.Registration != null &&
                        registrant.Registration.RegistrationInstance != null &&
                        registrant.Registration.RegistrationInstance.RegistrationTemplate != null)
                    {
                        RegistrantState             = new RegistrantInfo(registrant, rockContext);
                        this.RegistrationTemplateId = registrant.Registration.RegistrationInstance.RegistrationTemplateId;
                        this.RegistrationInstanceId = registrant.Registration.RegistrationInstanceId;

                        lTitle.Text = registrant.ToString();

                        lWizardTemplateName.Text     = registrant.Registration.RegistrationInstance.RegistrationTemplate.Name;
                        lWizardInstanceName.Text     = registrant.Registration.RegistrationInstance.Name;
                        lWizardRegistrationName.Text = registrant.Registration.ToString();
                        lWizardRegistrantName.Text   = registrant.ToString();

                        tglWaitList.Checked = !registrant.OnWaitList;
                    }
                }

                if (this.RegistrationTemplate == null && registrationId.HasValue && registrationId.Value != 0)
                {
                    var registration = new RegistrationService(rockContext)
                                       .Queryable().AsNoTracking()
                                       .Include(a => a.RegistrationInstance.RegistrationTemplate)
                                       .Include(a => a.RegistrationInstance.RegistrationTemplate.Forms)
                                       .Include(a => a.RegistrationInstance.RegistrationTemplate.Fees)
                                       .Include(a => a.PersonAlias.Person)
                                       .Where(r => r.Id == registrationId.Value)
                                       .FirstOrDefault();

                    if (registration != null &&
                        registration.RegistrationInstance != null &&
                        registration.RegistrationInstance.RegistrationTemplate != null)
                    {
                        this.RegistrationTemplateId = registration.RegistrationInstance.RegistrationTemplateId;
                        this.RegistrationInstanceId = registration.RegistrationInstanceId;

                        lTitle.Text = "Add Registrant";

                        lWizardTemplateName.Text     = registration.RegistrationInstance.RegistrationTemplate.Name;
                        lWizardInstanceName.Text     = registration.RegistrationInstance.Name;
                        lWizardRegistrationName.Text = registration.ToString();
                        lWizardRegistrantName.Text   = "New Registrant";
                    }
                }

                if (this.RegistrationTemplate != null)
                {
                    tglWaitList.Visible = this.RegistrationTemplate.WaitListEnabled;
                }

                if (this.RegistrationTemplate != null && RegistrantState == null)
                {
                    RegistrantState = new RegistrantInfo();
                    RegistrantState.RegistrationId = registrationId ?? 0;
                    if (this.RegistrationTemplate.SetCostOnInstance.HasValue && this.RegistrationTemplate.SetCostOnInstance.Value)
                    {
                        var instance = new RegistrationInstanceService(rockContext).Get(RegistrationInstanceId);
                        if (instance != null)
                        {
                            RegistrantState.Cost = instance.Cost ?? 0.0m;
                        }
                    }
                    else
                    {
                        RegistrantState.Cost = this.RegistrationTemplate.Cost;
                    }
                }

                if (registrant != null && registrant.PersonAlias != null && registrant.PersonAlias.Person != null)
                {
                    ppPerson.SetValue(registrant.PersonAlias.Person);
                }
                else
                {
                    ppPerson.SetValue(null);
                }

                if (this.RegistrationTemplate != null && this.RegistrationTemplate.RequiredSignatureDocumentTemplate != null)
                {
                    fuSignedDocument.Label = this.RegistrationTemplate.RequiredSignatureDocumentTemplate.Name;
                    if (this.RegistrationTemplate.RequiredSignatureDocumentTemplate.BinaryFileType != null)
                    {
                        fuSignedDocument.BinaryFileTypeGuid = this.RegistrationTemplate.RequiredSignatureDocumentTemplate.BinaryFileType.Guid;
                    }

                    if (ppPerson.PersonId.HasValue)
                    {
                        var signatureDocument = new SignatureDocumentService(rockContext)
                                                .Queryable().AsNoTracking()
                                                .Where(d =>
                                                       d.SignatureDocumentTemplateId == this.RegistrationTemplate.RequiredSignatureDocumentTemplateId.Value &&
                                                       d.AppliesToPersonAlias != null &&
                                                       d.AppliesToPersonAlias.PersonId == ppPerson.PersonId &&
                                                       d.LastStatusDate.HasValue &&
                                                       d.Status == SignatureDocumentStatus.Signed &&
                                                       d.BinaryFile != null)
                                                .OrderByDescending(d => d.LastStatusDate.Value)
                                                .FirstOrDefault();

                        if (signatureDocument != null)
                        {
                            hfSignedDocumentId.Value      = signatureDocument.Id.ToString();
                            fuSignedDocument.BinaryFileId = signatureDocument.BinaryFileId;
                        }
                    }

                    fuSignedDocument.Visible = true;
                }
                else
                {
                    fuSignedDocument.Visible = false;
                }

                if (RegistrantState != null)
                {
                    cbCost.Text = RegistrantState.Cost.ToString("N2");
                    cbDiscountApplies.Checked = RegistrantState.DiscountApplies;
                }
            }
        }
예제 #2
0
        private void LoadState()
        {
            int? registrantId = PageParameter( "RegistrantId" ).AsIntegerOrNull();
            int? registrationId = PageParameter( "RegistrationId" ).AsIntegerOrNull();

            if ( RegistrantState == null )
            {
                var rockContext = new RockContext();
                RegistrationRegistrant registrant = null;

                if ( registrantId.HasValue && registrantId.Value != 0 )
                {
                    registrant = new RegistrationRegistrantService( rockContext )
                        .Queryable( "Registration.RegistrationInstance.RegistrationTemplate.Forms.Fields,Registration.RegistrationInstance.RegistrationTemplate.Fees,PersonAlias.Person,Fees" ).AsNoTracking()
                        .Where( r => r.Id == registrantId.Value )
                        .FirstOrDefault();

                    if ( registrant != null &&
                        registrant.Registration != null &&
                        registrant.Registration.RegistrationInstance != null &&
                        registrant.Registration.RegistrationInstance.RegistrationTemplate != null )
                    {
                        RegistrantState = new RegistrantInfo( registrant, rockContext );
                        TemplateState = registrant.Registration.RegistrationInstance.RegistrationTemplate;

                        RegistrationInstanceId = registrant.Registration.RegistrationInstanceId;

                        lWizardTemplateName.Text = registrant.Registration.RegistrationInstance.RegistrationTemplate.Name;
                        lWizardInstanceName.Text = registrant.Registration.RegistrationInstance.Name;
                        lWizardRegistrationName.Text = registrant.Registration.ToString();
                        lWizardRegistrantName.Text = registrant.ToString();

                        tglWaitList.Checked = !registrant.OnWaitList;
                    }
                }

                if ( TemplateState == null && registrationId.HasValue && registrationId.Value != 0 )
                {
                    var registration = new RegistrationService( rockContext )
                        .Queryable( "RegistrationInstance.RegistrationTemplate.Forms.Fields,RegistrationInstance.RegistrationTemplate.Fees" ).AsNoTracking()
                        .Where( r => r.Id == registrationId.Value )
                        .FirstOrDefault();

                    if ( registration != null &&
                        registration.RegistrationInstance != null &&
                        registration.RegistrationInstance.RegistrationTemplate != null )
                    {
                        TemplateState = registration.RegistrationInstance.RegistrationTemplate;

                        RegistrationInstanceId = registration.RegistrationInstanceId;

                        lWizardTemplateName.Text = registration.RegistrationInstance.RegistrationTemplate.Name;
                        lWizardInstanceName.Text = registration.RegistrationInstance.Name;
                        lWizardRegistrationName.Text = registration.ToString();
                        lWizardRegistrantName.Text = "New Registrant";
                    }
                }

                if ( TemplateState != null )
                {
                    tglWaitList.Visible = TemplateState.WaitListEnabled;
                }

                if ( TemplateState != null && RegistrantState == null )
                {
                    RegistrantState = new RegistrantInfo();
                    RegistrantState.RegistrationId = registrationId ?? 0;
                    if ( TemplateState.SetCostOnInstance.HasValue && TemplateState.SetCostOnInstance.Value )
                    {
                        var instance = new RegistrationInstanceService( rockContext ).Get( RegistrationInstanceId );
                        if ( instance != null )
                        {
                            RegistrantState.Cost = instance.Cost ?? 0.0m;
                        }
                    }
                    else
                    {
                        RegistrantState.Cost = TemplateState.Cost;
                    }
                }

                if ( registrant != null && registrant.PersonAlias != null && registrant.PersonAlias.Person != null )
                {
                    ppPerson.SetValue( registrant.PersonAlias.Person );
                    if ( TemplateState != null && TemplateState.RequiredSignatureDocumentTemplate != null )
                    {
                        fuSignedDocument.Label = TemplateState.RequiredSignatureDocumentTemplate.Name;
                        if ( TemplateState.RequiredSignatureDocumentTemplate.BinaryFileType != null )
                        {
                            fuSignedDocument.BinaryFileTypeGuid = TemplateState.RequiredSignatureDocumentTemplate.BinaryFileType.Guid;
                        }

                        var signatureDocument = new SignatureDocumentService( rockContext )
                            .Queryable().AsNoTracking()
                            .Where( d =>
                                d.SignatureDocumentTemplateId == TemplateState.RequiredSignatureDocumentTemplateId.Value &&
                                d.AppliesToPersonAlias != null &&
                                d.AppliesToPersonAlias.PersonId == registrant.PersonAlias.PersonId &&
                                d.LastStatusDate.HasValue &&
                                d.Status == SignatureDocumentStatus.Signed &&
                                d.BinaryFile != null )
                            .OrderByDescending( d => d.LastStatusDate.Value )
                            .FirstOrDefault();

                        if ( signatureDocument != null )
                        {
                            hfSignedDocumentId.Value = signatureDocument.Id.ToString();
                            fuSignedDocument.BinaryFileId = signatureDocument.BinaryFileId;
                        }

                        fuSignedDocument.Visible = true;
                    }
                    else
                    {
                        fuSignedDocument.Visible = false;
                    }
                }
                else
                {
                    ppPerson.SetValue( null );
                }

                if ( RegistrantState != null )
                {
                    cbCost.Text = RegistrantState.Cost.ToString( "N2" );
                    cbDiscountApplies.Checked = RegistrantState.DiscountApplies;
                }
            }
        }
        private void LoadState()
        {
            int? registrantId = PageParameter( "RegistrantId" ).AsIntegerOrNull();
            int? registrationId = PageParameter( "RegistrationId" ).AsIntegerOrNull();

            if ( RegistrantState == null )
            {
                var rockContext = new RockContext();
                RegistrationRegistrant registrant = null;

                if ( registrantId.HasValue && registrantId.Value != 0 )
                {
                    registrant = new RegistrationRegistrantService( rockContext )
                        .Queryable( "Registration.RegistrationInstance.RegistrationTemplate.Forms.Fields,Registration.RegistrationInstance.RegistrationTemplate.Fees,PersonAlias.Person,Fees" ).AsNoTracking()
                        .Where( r => r.Id == registrantId.Value )
                        .FirstOrDefault();

                    if ( registrant != null &&
                        registrant.Registration != null &&
                        registrant.Registration.RegistrationInstance != null &&
                        registrant.Registration.RegistrationInstance.RegistrationTemplate != null )
                    {
                        RegistrantState = new RegistrantInfo( registrant, rockContext );
                        TemplateState = registrant.Registration.RegistrationInstance.RegistrationTemplate;

                        RegistrationInstanceId = registrant.Registration.RegistrationInstanceId;

                        lWizardTemplateName.Text = registrant.Registration.RegistrationInstance.RegistrationTemplate.Name;
                        lWizardInstanceName.Text = registrant.Registration.RegistrationInstance.Name;
                        lWizardRegistrationName.Text = registrant.Registration.ToString();
                        lWizardRegistrantName.Text = registrant.ToString();
                    }
                }

                if ( TemplateState == null && registrationId.HasValue && registrationId.Value != 0 )
                {
                    var registration = new RegistrationService( rockContext )
                        .Queryable( "RegistrationInstance.RegistrationTemplate.Forms.Fields,RegistrationInstance.RegistrationTemplate.Fees" ).AsNoTracking()
                        .Where( r => r.Id == registrationId.Value )
                        .FirstOrDefault();

                    if ( registration != null &&
                        registration.RegistrationInstance != null &&
                        registration.RegistrationInstance.RegistrationTemplate != null )
                    {
                        TemplateState = registration.RegistrationInstance.RegistrationTemplate;

                        RegistrationInstanceId = registration.RegistrationInstanceId;

                        lWizardTemplateName.Text = registration.RegistrationInstance.RegistrationTemplate.Name;
                        lWizardInstanceName.Text = registration.RegistrationInstance.Name;
                        lWizardRegistrationName.Text = registration.ToString();
                        lWizardRegistrantName.Text = "New Registrant";
                    }
                }

                if ( TemplateState != null && RegistrantState == null )
                {
                    RegistrantState = new RegistrantInfo();
                    RegistrantState.RegistrationId = registrationId ?? 0;
                    RegistrantState.Cost = TemplateState.Cost;
                }

                if ( registrant != null && registrant.PersonAlias != null && registrant.PersonAlias.Person != null )
                {
                    ppPerson.SetValue( registrant.PersonAlias.Person );
                }
                else
                {
                    ppPerson.SetValue( null );
                }

                if ( RegistrantState != null )
                {
                    cbCost.Text = RegistrantState.Cost.ToString( "N2" );
                }
            }
        }
예제 #4
0
        private void LoadState()
        {
            int?registrantId   = PageParameter("RegistrantId").AsIntegerOrNull();
            int?registrationId = PageParameter("RegistrationId").AsIntegerOrNull();

            if (RegistrantState == null)
            {
                var rockContext = new RockContext();
                RegistrationRegistrant registrant = null;

                if (registrantId.HasValue && registrantId.Value != 0)
                {
                    registrant = new RegistrationRegistrantService(rockContext)
                                 .Queryable("Registration.RegistrationInstance.RegistrationTemplate.Forms.Fields,Registration.RegistrationInstance.RegistrationTemplate.Fees,PersonAlias.Person,Fees").AsNoTracking()
                                 .Where(r => r.Id == registrantId.Value)
                                 .FirstOrDefault();

                    if (registrant != null &&
                        registrant.Registration != null &&
                        registrant.Registration.RegistrationInstance != null &&
                        registrant.Registration.RegistrationInstance.RegistrationTemplate != null)
                    {
                        RegistrantState = new RegistrantInfo(registrant, rockContext);
                        TemplateState   = registrant.Registration.RegistrationInstance.RegistrationTemplate;

                        RegistrationInstanceId = registrant.Registration.RegistrationInstanceId;

                        lWizardTemplateName.Text     = registrant.Registration.RegistrationInstance.RegistrationTemplate.Name;
                        lWizardInstanceName.Text     = registrant.Registration.RegistrationInstance.Name;
                        lWizardRegistrationName.Text = registrant.Registration.ToString();
                        lWizardRegistrantName.Text   = registrant.ToString();
                    }
                }

                if (TemplateState == null && registrationId.HasValue && registrationId.Value != 0)
                {
                    var registration = new RegistrationService(rockContext)
                                       .Queryable("RegistrationInstance.RegistrationTemplate.Forms.Fields,RegistrationInstance.RegistrationTemplate.Fees").AsNoTracking()
                                       .Where(r => r.Id == registrationId.Value)
                                       .FirstOrDefault();

                    if (registration != null &&
                        registration.RegistrationInstance != null &&
                        registration.RegistrationInstance.RegistrationTemplate != null)
                    {
                        TemplateState = registration.RegistrationInstance.RegistrationTemplate;

                        RegistrationInstanceId = registration.RegistrationInstanceId;

                        lWizardTemplateName.Text     = registration.RegistrationInstance.RegistrationTemplate.Name;
                        lWizardInstanceName.Text     = registration.RegistrationInstance.Name;
                        lWizardRegistrationName.Text = registration.ToString();
                        lWizardRegistrantName.Text   = "New Registrant";
                    }
                }

                if (TemplateState != null && RegistrantState == null)
                {
                    RegistrantState = new RegistrantInfo();
                    RegistrantState.RegistrationId = registrationId ?? 0;
                    RegistrantState.Cost           = TemplateState.Cost;
                }

                if (registrant != null && registrant.PersonAlias != null && registrant.PersonAlias.Person != null)
                {
                    ppPerson.SetValue(registrant.PersonAlias.Person);
                }
                else
                {
                    ppPerson.SetValue(null);
                }

                if (RegistrantState != null)
                {
                    cbCost.Text = RegistrantState.Cost.ToString("N2");
                }
            }
        }