Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Erro com Asp.NET Web.API + AngularJS

$
0
0
Boa noite a todos.
 
Vou explicar meu problema e vocês tentem me informar onde esta o erro.
 
Tenho meu método C# assim
 
[ResponseType(typeof(Categoria))]
        public async Task<IHttpActionResult> Post(Categoria model)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }
            if (_repositorio.InsertOrUpdate(model, out Res))
            {
                _repositorio.Save();
                return CreatedAtRoute("DefaultApi", new { id = model.Id }, model);
            }
            return BadRequest("Erro ao tentar salvar, tente novamente mais tarde");


        }
Tenho minha fabrica assim:
 
.factory("categoriasService", function($http, config, $q) {
        var _postItem = function(record) {
            var deferred = $q.defer();
            $http.post(config.baseUrl + "/api/Categoria/Post", record).then(
                function(result) {
                    deferred.resolve(result.data);
                },
                function (erroResult) {
                    deferred.reject();
                }
            );
            return deferred.promise;
        };
        return {            
            postItem: _postItem
        };
    })
Ao chamar em meu controller assim:
 
.controller("newCategoriaCtrl", [
        "$scope", "$http", "$window", "categoriasService", "modalConfirmationService", "$routeParams",
        function ($scope, $http, $window, categoriasService, modalConfirmationService, $routeParams) {            
            if ($routeParams.id !== undefined) {
                categoriasService.find($routeParams.id).then(function (result) {
                    $scope.newCategoria = result;
                });
                $scope.titleAcao = "Alterar";
            } else {
                $scope.newCategoria = { Id: 0 };
                $scope.titleAcao = "Cadastrar";
            }


            $scope.save = function() {
                //console.log($scope.newCategoria);
                categoriasService.postItem($scope.newCategoria)
                    .then(function (newCategoria) {
                            console.log(newCategoria);//aqui o objeto está sempre vazio por que acontece o erro 500.
                            modalConfirmationService.getModalInstance("Sucesso", "Dados salvos com sucesso!");
                        },
                        function() {
                            modalConfirmationService.getModalInstance("Erro", "Não foi possível executar sua ação, tente novamente mais tarde.");
                        })
                    .then(function() {
                        $window.location = "#";
                    });
            };
        }
    ]);
Quando chamo a aplicação sem ativar o debug no console do navegador sempre ocorre erro 500 e não sava a informação na base de dados.
 
http://localhost:54100/api/Categoria/Post 500 (Internal Server Error)
 
Mas se eu ativar o modo debug no VS, dá o mesmo erro no console, mas a informação é salva na base de dados.
 
O que está errado?

Viewing all articles
Browse latest Browse all 14190

Trending Articles