Olá Michel...
/* Controllers */
sdiControllers.controller('produtoCtrl', ['$rootScope', '$scope', '$routeParams', '$location', 'produtoService', 'alertService',
function($rootScope, $scope, $routeParams, $location, produtoService, alertService) {
$scope.produtos = [];
$scope.listar = function(){
produtoService.listar()
.then(function( produtos ) {
$scope.produtos = produtos;
});
};
$scope.deletar = function(produto) {
produtoService.deletar(produto)
.then($scope.listar(),alertService.add("success", "Excluído com sucesso"));
};
$scope.novo = function(){
$location.path('/produto/novo');
};
$scope.listar();
}
]);
/* Controllers */
sdiControllers.controller('novoProdutoCtrl', ['$rootScope', '$scope', '$routeParams', '$http', '$location', 'produtoService',
function($rootScope, $scope, $routeParams, $http, $location, produtoService) {
produtoService.novo()
.then(function( produto ) {
$scope.produto = produto;
});
$scope.salvar = function() {
produtoService.salvar($scope.produto)
.then(function( produtos ) {
console.log(JSON.stringify(produtos));
$scope.produtos = produtos;
$location.path('/produto').replace();
});
};
$scope.cancelar = function() {
$location.path('/produto');
};
}
]);
/* Controllers */
sdiControllers.controller('editarProdutoCtrl', ['$rootScope', '$scope', '$routeParams', '$http', '$location', 'produtoService',
function($rootScope, $scope, $routeParams, $http, $location, produtoService) {
produtoService.buscar($routeParams.id)
.then(function( produto ) {
$scope.produto = produto;
});
$scope.salvar = function() {
produtoService.salvar($scope.produto).
then($location.path('/produto'));
};
$scope.cancelar = function() {
$location.path('/produto');
};
}
]);
sdiApp.service('produtoService', [ '$http', '$q', 'cfpLoadingBar', function( $http, $q , cfpLoadingBar) {
var requestMapping = "produto/";
this.salvar = function(produto) {
var request = $
http.post(requestMapping , JSON.stringify(produto) );
return request.then( handleSuccess, handleError );
};
this.listar = function() {
cfpLoadingBar.start();
var request = $http.get(requestMapping + 'lista', {cache:false});
var lista = request.then( handleSuccess, handleError ) ;
cfpLoadingBar.complete();
return lista;
};
this.buscar = function(idProduto){
var request = $http.get(requestMapping + idProduto);
return( request.then( handleSuccess, handleError ) );
};
this.novo = function(){
var request = $http.get(requestMapping + 'novo');
return( request.then( handleSuccess, handleError ) );
};
this.deletar = function(produto) {
var request = $http.delete(requestMapping +
produto.id);
return( request.then( handleSuccess, handleError ) );
};
function handleError(response, $q) {
if (!angular.isObject(response.data) || !response.data.message) {
return ($q.reject("Ocorreu um erro!"));
}
return ($q.reject(response.data.message));
};
function handleSuccess(response) {
return (response.data);
};
}]);