businessService.js 2.23 KB
angular.module('focaCrearRemito')
    .factory('remitoBusinessService', [
        'crearRemitoService',
        function(crearRemitoService) {
        return {
            addArticulos: function(articulosRemito, idRemito, cotizacion) {
                for(var i = 0; i < articulosRemito.length; i++) {
                    delete articulosRemito[i].editCantidad;
                    delete articulosRemito[i].editPrecio;
                    articulosRemito[i].idRemito = articulosRemito[i].idRemito !== -1 ?
                        idRemito : articulosRemito[i].idRemito;
                    articulosRemito[i].precio = articulosRemito[i].precio * cotizacion;
                    delete articulosRemito[i].idNotaPedido;
                    crearRemitoService.crearArticulosParaRemito(articulosRemito[i]);
                }
            },
            addEstado: function(idRemito, idVendedor) {
                var date = new Date();
                var estado = {
                    idRemito: idRemito,
                    fecha: new Date(date.getTime() - (date.getTimezoneOffset() * 60000))
                                        .toISOString().slice(0, 19).replace('T', ' '),
                    estado: 0,
                    idVendedor: idVendedor
                };
                crearRemitoService.crearEstadoParaRemito(estado);
            },
            calcularArticulos: function(articulos, cotizacion) {
                for(var i = 0; i < articulos.length; i++) {
                    articulos[i].precio = articulos[i].precio / cotizacion;
                }
            },
            plazoToString: function(plazos) {
                var result = '';
                for(var i = 0; i < plazos.length; i++) {
                    result += plazos[i].dias + ' ';
                }
                return result.trim();
            },
            addPuntosDescarga: function(idRemito, puntosDescarga) {

                var puntos = [];

                puntosDescarga.forEach(function(punto) {
                    puntos.push({
                        idPuntoDescarga: punto.id,
                        idRemito: idRemito,
                    });
                });

                return crearRemitoService.crearPuntosDescarga(puntos);
            }
        };
    }]);