예제 #1
0
        public Amigo Delete(int id)
        {
            var Amigo = this._repositorioAmigo.Get(id);

            if (Amigo == null)
            {
                AmigoEscopo.CriaNotificacao("Ação inválida", "Usuário inexistente!");
                return(null);
            }

            if (!AmigoEscopo.ExcluirIsValid(Amigo))
            {
                return(null);
            }

            var jogos = _repositorioEmprestimo.Get().Include("Jogos").AsNoTracking().Where(x => x.AmigoId == id && x.Ativo).Select(x => x.Jogo).ToList();

            if (jogos.Count > 0)
            {
                var lista = String.Join(",", jogos.Select(x => x.Descricao).ToList());
                AmigoEscopo.CriaNotificacao("Ação inválida", "Este amigo possui jogos emprestados: " + lista);
                return(null);
            }


            this._repositorioAmigo.Delete(Amigo);

            if (Commit())
            {
                return(Amigo);
            }

            return(null);
        }