Advertisement
Guest User

ABM

a guest
Sep 2nd, 2015
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.56 KB | None | 0 0
  1. #! /bin/bash
  2. #
  3.  
  4. . Funciones.sh
  5.  
  6. while [[ $op != 0 ]]; do    # do while
  7.     menuABM
  8.     Read "$Op"
  9.    
  10.     case $op in
  11.         0)  ;;  # Regresa al menuP
  12.            
  13.         1)
  14.             setTitle "A L T A"
  15.            
  16.             setCI   # Pide C.I
  17.            
  18.             [ $ci != 0 ] && ( ! Reg $ci ) && {  # CI != 0 y no esta registrado
  19.                 setDatos    # Pide los otros datos
  20.  
  21.                 while ( Confirmar "dar de alta a $name" ); do
  22.                     Read "$Op"
  23.                    
  24.                     case $op in
  25.                         0) 
  26.                             echo "${name}|${ci}|${nAp}|${tel}" >> 'Datos/Propietarios'
  27.                            
  28.                             AvisoE "registrado correctamente"
  29.                             ;;
  30.                                        
  31.                         1) AvisoC "registrado" ;;
  32.                     esac
  33.                 done
  34.             }
  35.            
  36.             ;;
  37.            
  38.         2)
  39.             VerificarSiHayDatos
  40.            
  41.             setTitle "B A J A"
  42.            
  43.             setCI "a dar de baja "
  44.            
  45.             [ $ci != 0 ] && ( ! Reg $ci 'N' ) && {  # CI != 0 y esta registrado
  46.                 ( ! Deudas $ci ) && {               # No tiene deudas
  47.                     name="$( grep $ci Datos/Propietarios | cut -d '|' -f 1 )"
  48.            
  49.                     while ( Confirmar "dar de baja a $name" ); do
  50.                         Read "$Op"
  51.                        
  52.                         case $op in
  53.                             0) BorrarLinea $ci 'Datos/Propietarios' 'P' ;;
  54.                             1) AvisoC "dado de baja" ;;
  55.                         esac
  56.                     done
  57.                 }
  58.             }
  59.            
  60.             ;;
  61.  
  62.         3)
  63.             VerificarSiHayDatos
  64.    
  65.             setTitle "M O D I F I C A C I O N"
  66.                
  67.             setCI "a modificar "
  68.        
  69.             [ $ci != 0 ] && ( ! Reg $ci 'N' ) && {
  70.                 ( ! Deudas $ci ) && {
  71.                     setDatos
  72.                    
  73.                     name_a="$( grep $ci Datos/Propietarios | cut -d '|' -f 1 )"
  74.                    
  75.                     while ( Confirmar "modificar a $name_a" ); do
  76.                         Read "$Op"
  77.                        
  78.                         case $op in
  79.                             0) 
  80.                                 # Obtengo los datos anteriores
  81.                                 nAp_a=$( grep -w "$ci" Datos/Propietarios | cut -d '|' -f 3 )
  82.                                 tel_a=$( grep -w "$ci" Datos/Propietarios | cut -d '|' -f 4 )
  83.  
  84.                                 # Remplazar
  85.                                 sed -i "/${ci}/ s/${name_a}/${name}/"   'Datos/Propietarios'
  86.                                 sed -i "/${ci}/ s/|${nAp_a}|/|${nAp}|/" 'Datos/Propietarios'
  87.                                 sed -i "/${ci}/ s/|${tel_a}/|${tel}/"   'Datos/Propietarios'
  88.                                
  89.                                 AvisoE "editado correctamente"
  90.                                 ;;
  91.                            
  92.                             1)  AvisoC "editado" ;;
  93.                         esac
  94.                     done
  95.                 }
  96.             }
  97.            
  98.             ;;
  99.            
  100.         4)  ListarP && Esperar ;;
  101.            
  102.         5)
  103.             VerificarSiHayDatos
  104.        
  105.             [ ! -f 'Datos/Deudas' ] && {    # Si no existe
  106.                 Rojo "\n\n
  107.                         No hay Deudas registradas en el Sistema."
  108.                 Esperar
  109.             } || {                          # Si existe
  110.                 setTitle "A N U L A R   D E U D A"
  111.                
  112.                 setCI "para anular deuda "
  113.                
  114.                 [ $ci != 0 ] && {      
  115.                     ( ! Reg $ci 'N' ) && ( Deudas $ci 'N' ) && {
  116.                         BorrarLinea $ci 'Datos/Deudas' 'D'
  117.                     }
  118.                 }  
  119.             }
  120.            
  121.             ;;
  122.            
  123.         *)  OpInvalida ;;
  124.     esac
  125. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement