public void RemoveLivroCarrinho(UsuarioEntity usuario, LivroEntity livro)
        {
            CarrinhoEntity carrinho = _carrinhoRepository.GetByUser(usuario.Id);

            if (carrinho != null)
            {
                if (carrinho.Livros.Any(i => i.Id == livro.Id))
                {
                    carrinho.RemoverLivro(livro.Id);
                }

                if (carrinho.Livros.Count > 0)
                {
                    _carrinhoRepository.Update(carrinho);
                }
                else
                {
                    _carrinhoRepository.Delete(carrinho);
                }
            }
            else
            {
                throw new System.Exception("Usuário não tem carrinho!");
            }
        }
        public void Adicionar(UsuarioEntity usuario, LivroEntity livro)
        {
            CarrinhoEntity carrinho = _carrinhoRepository.GetByUser(usuario.Id);

            if (carrinho == null)
            {
                carrinho = new CarrinhoEntity(usuario, livro);
                _carrinhoRepository.Add(carrinho);
            }
            else
            {
                carrinho.AdicionarLivro(livro);
                _carrinhoRepository.Update(carrinho);
            }
        }
Example #3
0
        public ActionResult Update(Carrinho carrinho)
        {
            CarrinhoValidator validator = new CarrinhoValidator();
            var result = validator.Validate(carrinho);

            if (!result.IsValid)
            {
                var errors = new Dictionary <string, string>();
                foreach (var error in result.Errors)
                {
                    string message  = error.ErrorMessage;
                    string property = error.PropertyName;
                    errors.Add(property, message);
                }
                return(BadRequest(Json(errors)));
            }


            return(Json(new { id = repository.Update(carrinho) }));
        }
Example #4
0
 public Carrinho Update(Carrinho carrinho)
 {
     return(_repository.Update(carrinho));
 }