示例#1
0
 private static int? GetDaysToLive( UserMaintEntryPurpose purpose )
 {
     var settings = ActivationConfiguration.Current.PurposeSettings[ purpose ];
     return settings != null ? settings.DaysToLive : default( int? );
 }
        protected void Page_Load( object sender, EventArgs e )
        {
            if( Page.User.Identity.IsAuthenticated )
                Response.Redirect( "~/Default.aspx", true );

            //Если есть внутренее имя франча, то берем его из куки

            if( !IsPostBack )
            {

                _errorPanel.Visible = false;
                Guid maintUid;
                try
                {
                    maintUid = ParseActivationCode();
                    MaintEntryPurpose = ClientBO.GetUserMaintEntryPurpose( maintUid );
                }
                catch( BLException ex )
                {
                    DisplayError( ex.Message );
                    return;
                }

                switch( MaintEntryPurpose )
                {
                    case UserMaintEntryPurpose.NewClientRegistration:
                        {
                            try
                            {
                                _maintTaskPanel.Visible = false;
                                var clientId = ClientBO.CompleteOnlineRegistration( maintUid );
                                try
                                {
                                    var profile = ClientProfile.Load( clientId );
                                    if( profile.TradingVolume == TradingVolume.Retail )
                                        _newClientRegistration_TextItemControl.TextItemID = "UserAccountActivated.Retail.Text";
                                    else if( profile.TradingVolume == TradingVolume.Wholesale )
                                        _newClientRegistration_TextItemControl.TextItemID = "UserAccountActivated.Wholesale.Text";
                                }
                                catch
                                {
                                }
                                _messagePanel.Visible = true;
                            }
                            catch( Acctg.AcctgException ex )
                            {
                                if( ex.ErrorCode == RmsAuto.Store.Acctg.AcctgError.ClientAlreadyExists )
                                    DisplayError( "Ошибка активации. Регистрационные данные уже используются другим клиентом интернет-магазина" );
                                else
                                    throw ex;
                            }
                        }
                        break;
                    case UserMaintEntryPurpose.ActivateClient:
                    case UserMaintEntryPurpose.ExistingClientWebAccess:
                    case UserMaintEntryPurpose.PasswordRecovery:
                        _maintTaskPanel.Visible = true;
                        _messagePanel.Visible = false;
                        _editUser.Visible = MaintEntryPurpose == UserMaintEntryPurpose.ExistingClientWebAccess || MaintEntryPurpose == UserMaintEntryPurpose.ActivateClient;
                        _setPassword.Visible = MaintEntryPurpose == UserMaintEntryPurpose.PasswordRecovery;
                        break;
                }
            }
        }