diff --git a/src/js/controllerItem.js b/src/js/controllerItem.js index 6457413..1b8d21e 100644 --- a/src/js/controllerItem.js +++ b/src/js/controllerItem.js @@ -59,27 +59,35 @@ angular.module('focaAbmVendedorCobrador') }); $scope.guardar = function() { - if($scope.vendedorCobrador.ClaVen !== $scope.vendedorCobrador.ClaVen2) { - focaModalService.alert('Las contraseñas deben coincidir'); - return; - } - $scope.vendedorCobrador.PciVen = $scope.vendedorCobrador.provincia.ID; - $scope.vendedorCobrador.LocVen = $scope.vendedorCobrador.localidad.ID; - - delete $scope.vendedorCobrador.provincia; - delete $scope.vendedorCobrador.localidad; - delete $scope.vendedorCobrador.ClaVen2; - if($scope.vendedorCobrador.rol == 1) { - delete $scope.vendedorCobrador.comisionCobrador; - }else if($scope.vendedorCobrador.rol == 2) { - delete $scope.vendedorCobrador.ComVen; - } - - focaAbmVendedorCobradorService - .guardarVendedorCobrador($scope.vendedorCobrador) + validarCodigo() .then(function() { - $location.path('/vendedor-cobrador'); + if($scope.vendedorCobrador.ClaVen !== $scope.vendedorCobrador.ClaVen2) { + focaModalService.alert('Las contraseñas deben coincidir'); + return; + } + $scope.vendedorCobrador.PciVen = $scope.vendedorCobrador.provincia.ID; + $scope.vendedorCobrador.LocVen = $scope.vendedorCobrador.localidad.ID; + + delete $scope.vendedorCobrador.provincia; + delete $scope.vendedorCobrador.localidad; + delete $scope.vendedorCobrador.ClaVen2; + if($scope.vendedorCobrador.rol == 1) { + delete $scope.vendedorCobrador.comisionCobrador; + }else if($scope.vendedorCobrador.rol == 2) { + delete $scope.vendedorCobrador.ComVen; + } + + return focaAbmVendedorCobradorService + .guardarVendedorCobrador($scope.vendedorCobrador) + .then(function() { + $location.path('/vendedor-cobrador'); + }); + + }) + .catch(function() { + focaModalService.alert('El codigo del vendedor/cobrador ya existe'); }); + }; $scope.seleccionarProvincia = function(key) { @@ -155,5 +163,23 @@ angular.module('focaAbmVendedorCobrador') $scope.next = function(key) { if(key === 13) $scope.focused++; }; + + function validarCodigo() { + return new Promise(function(resolve, reject) { + if(parseInt($routeParams.id) === 0){ + focaAbmVendedorCobradorService + .getVendedorCobradorById($scope.vendedorCobrador.CodVen) + .then(function(res) { + if(res.data){ + reject(res.data); + }else{ + resolve(); + } + }); + }else{ + resolve(); + } + }); + }; } ]);