public void SaveSaleValidation(SaleInput sale) { if (sale == null) { throw new ValidationResponseException("Ocorreu um erro ao enviar os dados pro Servidor!"); } if (sale.InvalidAddress()) { throw new ValidationResponseException("Ajuste seus dados de endereço"); } var products = BlProductsList.GetProducts(new FiltersProducts { Ids = sale.ProductsId }); if (products?.Any(x => x.UserId == sale.UserId) ?? false) { throw new ValidationResponseException("Você não pode comprar os seus próprios produtos"); } var invalidStatus = new List <ProductStatus> { ProductStatus.Invalid, ProductStatus.Sold }; if (products?.Any(x => invalidStatus.Contains(x.Status)) ?? false) { throw new ValidationResponseException($"Os produtos {string.Join(", ", products.Where(x => invalidStatus.Contains(x.Status)).Select(x => x.Name))} se encontram inválidos para venda"); } }