controller.js 4.6 KB
angular.module('focaAbmPreciosCondiciones')
    .controller('focaAbmPreciosCondicionesController', [
        '$scope', 'focaAbmPreciosCondicionesService', '$location',
        'focaModalService', 'focaBotoneraLateralService', '$timeout',
        function($scope, focaAbmPreciosCondicionesService, $location,
            focaModalService, focaBotoneraLateralService, $timeout) {
            focaAbmPreciosCondicionesService.obtenerPreciosCondiciones().then(function(datos) {
                $scope.preciosCondiciones = datos.data;
            });

            $timeout(function() {
                focaBotoneraLateralService.showSalir(true);
                focaBotoneraLateralService.showPausar(false);
                focaBotoneraLateralService.showCancelar(false);
                focaBotoneraLateralService.showGuardar(false);
            });

            $scope.now = new Date();
            $scope.editar = function(id) {
                $location.path('/precio-condicion/' + id);
            };
            $scope.solicitarConfirmacion = function(precioCondicion) {
                focaModalService.confirm('¿Está seguro que desea borrar el precio condición' +
                    precioCondicion.codigo + ' ' + precioCondicion.nombre + ' ?').then(
                        function(data) {
                            if (data) {
                                focaAbmPreciosCondicionesService
                                    .borrarPrecioCondicion(precioCondicion.id);
                                $scope.preciosCondiciones.splice(
                                    $scope.preciosCondiciones.indexOf(precioCondicion), 1
                                );
                            }
                        }
                    );
            };
        }
    ])
    .controller('focaAbmPrecioCondicionController', [
        '$scope', 'focaAbmPreciosCondicionesService', 'focaBotoneraLateralService',
        '$routeParams', '$location', 'focaModalService', '$timeout',
        function(
            $scope, focaAbmPreciosCondicionesService, focaBotoneraLateralService,
            $routeParams, $location, focaModalService, $timeout
        ) {
            $scope.mostrarPlazos = $routeParams.id > 0;
            focaAbmPreciosCondicionesService.obtenerPrecioCondicion($routeParams.id)
                .then(function(datos) {
                    $scope.precioCondicion = {
                        id: 0,
                        codigo: '',
                        nombre: '',
                        descripcion: '',
                        idListaPrecio: 0,
                        vigencia: new Date()
                    };
                    if (datos.data.id) {
                        $scope.precioCondicion = datos.data;
                        focaAbmPreciosCondicionesService.obtenerPlazoPago(datos.data.id)
                            .then(function(datos) {
                                $scope.precioCondicion.plazos = datos.data;
                            });
                    }
                });

            $timeout(function() {
                focaBotoneraLateralService.showSalir(false);
                focaBotoneraLateralService.showPausar(true);
                focaBotoneraLateralService.showCancelar(true);
                focaBotoneraLateralService.showGuardar(true, $scope.guardar);
            });

            $scope.cancelar = function() {
                $location.path('/precio-condicion');
            };
            $scope.guardar = function(precioCondicion) {
                focaAbmPreciosCondicionesService.guardarPrecioCondicion(precioCondicion)
                    .then(function() {
                        $location.path('/precio-condicion');
                    });
            };
            $scope.editarPlazoPago = function(id) {
                $location.path(
                    '/precio-condicion/' + $scope.precioCondicion.id +
                    '/plazo-pago/' + id
                );
            };
            $scope.solicitarConfirmacionPlazoPago = function(plazoPago) {
                focaModalService.confirm('¿Está seguro que desea borrar el plazo de pago ' +
                    plazoPago.item + ' ' + plazoPago.dias + ' ?').then(
                        function(confirm) {
                            if (confirm) {
                                focaAbmPreciosCondicionesService.borrarPlazoPago(plazoPago.id);
                                $scope.precioCondicion.plazos.splice(
                                    $scope.precioCondicion.plazos.indexOf(plazoPago), 1
                                );
                            }
                        }
                    );
            };
        }
    ]);