示例#1
0
        public override void Save()
        {
            var usuarioEmail = new Usuario();

            usuarioEmail.Email = this.Email;
            usuarioEmail.Get();

            if (usuarioEmail.IDUsuario != null && usuarioEmail.IDUsuario != this.IDUsuario)
            {
                throw new DidoxFrameworkError("Email já cadastrado.");
            }

            var usuarioLogin = new Usuario();

            usuarioLogin.Login = this.Login;
            usuarioLogin.Get();

            if (usuarioLogin.IDUsuario != null && usuarioLogin.IDUsuario != this.IDUsuario)
            {
                throw new DidoxFrameworkError("Login já cadastrado.");
            }

            this.Senha = ConfiguracaoSenha.GetSenhaCripto(this.Senha);

            base.Save();

            var pessoa = this.Pessoa;

            if (CType.Exist(pessoa))
            {
                pessoa.TipoPessoa = TipoPessoa.Fisica;
                pessoa.Nome       = this.Nome;
                pessoa.Save();
            }
            else
            {
                var pessoaCampanha = new PessoaCampanha();
                try
                {
                    pessoaCampanha.IsTransaction = true;
                    pessoaCampanha.Usuario       = this;
                    pessoaCampanha.Get();
                    if (CType.Exist(pessoaCampanha))
                    {
                        pessoa = pessoaCampanha.Pessoa;
                    }
                    else
                    {
                        pessoa             = new Pessoa(Campanha);
                        pessoa.Transaction = pessoaCampanha.Transaction;
                        pessoa.TipoPessoa  = TipoPessoa.Fisica;
                        pessoa.Nome        = this.Nome;
                        pessoa.Save();
                    }

                    var pessoaCampanhaNovo = new PessoaCampanha();
                    pessoaCampanhaNovo.Transaction = pessoaCampanha.Transaction;
                    pessoaCampanhaNovo.Usuario     = this;
                    pessoaCampanhaNovo.Pessoa      = pessoa;
                    pessoaCampanhaNovo.Campanha    = Campanha;
                    pessoaCampanhaNovo.DataAdesao  = DateTime.Now;
                    pessoaCampanhaNovo.Save();
                    pessoaCampanha.Commit();
                }
                catch (Exception err)
                {
                    pessoaCampanha.Rollback();
                    throw err;
                }
            }

            var email = this.Pessoa.Email;

            email.EnderecoEmail = this.Email;
            email.TipoEmail     = TipoEmail.Padrao();
            email.Save();
        }
示例#2
0
 public override void Get()
 {
     this.Senha = ConfiguracaoSenha.GetSenhaCripto(this.Senha);
     base.Get();
 }