Exemple #1
0
        public Usuario Cadastrar(CadastroRequest form)
        {
            var usuario = Repository.GetOneByCriteria(x => x.Login == form.Login);

            if (usuario != null)
            {
                return(null);
            }


            Usuario usuarioNovo = UsuarioFactory.Criar(
                form.Login, form.Senha, form.Tipo, form.DataNascimento, form.Email, form.Nome);

            switch (form.Tipo)
            {
            case EUsuarioTipo.EMPRESA:
                var empresa = EmpresaFactory.Criar(form.Documento, usuarioNovo);
                EmpresaService.Savar(empresa);
                break;

            case EUsuarioTipo.CANDIDATO:
                var candidato = CandidatoFactory.Criar(form.Documento, usuarioNovo);
                CandidatoService.Savar(candidato);
                break;

            case EUsuarioTipo.ADMINISTRADOR:
                //TODO: not implemented
                break;
            }

            return(usuarioNovo);
        }