Example #1
0
        public bool Add(Usuario usuario)
        {
            if (!Account.Current.Permissao.Has("ADD_USUARIO")) {
                this.MessageError = "USUARIO_SEM_PERMISSAO";
                return false;
            }

            var unidadeRepositorio = new UnidadeRepositorio();
            var usuarioRepositorio = new UsuarioRepositorio();
            var accountRepositorio = new AccountRepositorio();
            var zap = unidadeRepositorio.FetchZapUnidade();

            if (usuarioRepositorio.ExistNome(usuario)) {
                this.MessageError = "USUARIO_EXISTENTE_NOME";
                return false;
            }

            if (accountRepositorio.ExistUsername(usuario.Account))
            {
                this.MessageError = "USERNAME_EXISTENTE_NOME";
                return false;
            }

            usuario.Unidade = zap;
            usuarioRepositorio.Add(usuario);
            usuarioRepositorio.UpdateAnexos(usuario);

            usuario.Account.Usuario = usuario;

            accountRepositorio.Add(usuario.Account);

            usuario.Account.Usuario = null;

            var notificacaoRepositorio = new NotificacaoUsuarioRepositorio();
            notificacaoRepositorio.Add(new NotificacaoUsuario()
            {
                UsuarioId = usuario.Id,
                Total = 0
            });

            return true;
        }