public ActionResult Update(ItemCompra itemCompra)
        {
            ItemCompraValidator validator = new ItemCompraValidator();
            var result = validator.Validate(itemCompra);

            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(itemCompra) }));
        }
        public ActionResult Adicionar(ItemCompra itemCompra)
        {
            ItemCompraValidator validator = new ItemCompraValidator();
            var result = validator.Validate(itemCompra);

            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)));
            }
            // TODO obter o Id Usuário
            var x         = User.Identity.Name;
            int idUsuario = Convert.ToInt32(1);
            var carrinho  = repositoryCarrinho.ObterCarrinhoAbertoPeloIdUsuario(idUsuario);

            if (carrinho == null)
            {
                carrinho = new Carrinho()
                {
                    UsuarioId     = idUsuario,
                    RegistroAtivo = true,
                    ValorTotal    = itemCompra.Valor
                };
                repositoryCarrinho.Add(carrinho);
            }

            itemCompra.CompraId = carrinho.Id;
            var id = repository.Add(itemCompra);

            return(Json(new { id = id }));
        }