public virtual async Task <T> Salvar(T entity)
        {
            try
            {
                if (_validator != null)
                {
                    ValidationResult validationResult = await _validator.ValidateAsync(entity, ruleSet : "Salvar");

                    if (!validationResult.IsValid)
                    {
                        return(null);
                    }
                }

                if (entity.Id == 0)
                {
                    await _repository.Inserir(entity);
                }
                else
                {
                    await _repository.Alterar(entity);
                }

                return(entity);
            }
            catch (Exception exception)
            {
                await Notify(exception);

                return(null);
            }
        }