service.js 2.86 KB
angular.module('focaCrearNotaPedido')
    .service('crearNotaPedidoService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) {
        var route = API_ENDPOINT.URL;
        return {
            crearNotaPedido: function(notaPedido) {
                return $http.post(route + '/nota-pedido', {notaPedido: notaPedido});
            },
            obtenerNotaPedido: function() {
                return $http.get(route +'/nota-pedido');
            },
            setNotaPedido: function(notaPedido) {
                this.notaPedido = notaPedido;
            },
            clearNotaPedido: function() {
                this.notaPedido = undefined;
            },
            getNotaPedido: function() {
                return this.notaPedido;
            },
            getArticulosByIdNotaPedido: function(id) {
                return $http.get(route+'/articulos/nota-pedido/'+id);
            },
            crearArticulosParaNotaPedido: function(articuloNotaPedido) {
                return $http.post(route + '/articulos/nota-pedido',
                    {articuloNotaPedido: articuloNotaPedido});
            },
            getDomiciliosByIdNotaPedido: function(id) {
                return $http.get(route +'/nota-pedido/'+id+'/domicilios');
            },
            getDomiciliosByIdCliente: function(id) {
                var idTipoEntrega = 2;//Solo traigo los domicilios que tienen tipo 2 (tipo entrega)
                return $http.get(route + '/domicilio/tipo/' + idTipoEntrega + '/cliente/' + id );
            },
            getPrecioCondicion: function() {
                return $http.get(route + '/precio-condicion');
            },
            getPrecioCondicionById: function(id) {
                return $http.get(route + '/precio-condicion/' + id);
            },
            getPlazoPagoByPrecioCondicion: function(id) {
                return $http.get(route + '/plazo-pago/precio-condicion/'+ id);
            },
            crearFlete: function(flete) {
                return $http.post(route + '/flete', {flete : flete});
            },
            crearPlazosParaNotaPedido: function(plazos) {
                return $http.post(route + '/plazo-pago/nota-pedido', plazos);
            },
            getCotizacionByIdMoneda: function(id) {
                return $http.get(route + '/moneda/' + id);
            },
            addArticulos: function(articulosNotaPedido, idNotaPedido, cotizacion) {
                for(var i = 0; i < articulosNotaPedido.length; i++) {
                    delete articulosNotaPedido[i].editCantidad;
                    delete articulosNotaPedido[i].editPrecio;
                    articulosNotaPedido[i].idNotaPedido = idNotaPedido;
                    articulosNotaPedido[i].precio = articulosNotaPedido[i].precio * cotizacion;
                    this.crearArticulosParaNotaPedido(articulosNotaPedido[i]);
                }
            }
        };
    }]);