示例#1
0
        public override void Add(Product obj)
        {
            var productexist = _repositoryProduct.GetByProductTitle(obj.Title.ToString());

            if (productexist != null)
            {
                Errors.Add(new Error("002", "Produto já existente na base de dados!"));
            }
            base.Add(obj);
        }
示例#2
0
        public override void Add(WishClient obj)
        {
            var clientexist = _repositoryClient.GetById(obj.Client.Id);

            if (clientexist == null)
            {
                Errors.Add(new Error("003", "Cliente não existe na base de dados!"));
                return;
            }

            var productexist = _repositoryProduct.GetByProductTitle(obj.Product.Title.ToString());

            if (productexist == null)
            {
                Errors.Add(new Error("003", "Produto não existe na base de dados!"));
                return;
            }

            var wishclientexist = _repositoryWishClient.GetByClientEmail(clientexist.Email.ToString());

            if (wishclientexist != null)
            {
                var productexistinwichlist = _repositoryWishClient.ProductExistInWish(wishclientexist.Id, obj.Product.Title.ToString());

                if (productexistinwichlist)
                {
                    Errors.Add(new Error("003", "O produto selecionado já consta na lista de desejos!"));
                    return;
                }
                _repositoryWishClient.AddItem(obj);
            }

            else
            {
                var wishlist = WishClient.WishClientBuilder(clientexist, productexist);
                _repositoryWishClient.Add(wishlist);
                obj.SetId(wishlist.Id);
                obj.SetProduct(productexist);
                _repositoryWishClient.AddItem(obj);
            }
        }