Beispiel #1
0
        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");
            }
        }