YAMILDIAZ

VENDEDORMANAGER

May 23rd, 2024 (edited)
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.65 KB | Source Code | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. #include <iomanip>
  4.  
  5. #include "VendedorManager.h"
  6.  
  7.  
  8. VendedorManager::VendedorManager(): _archivo("Vendedores.dat"){
  9.  
  10. }
  11.  
  12. void PlanillaVendedor(){
  13.     std::cout<<std::left;
  14.     std::cout<<std::setw(10)<<"DNI ";
  15.     std::cout<<std::setw(12)<< "NOMBRE";
  16.     std::cout<<std::setw(12)<<"APELLIDO ";
  17.     std::cout<<std::setw(20)<<"FECHA NACIMIENTO ";
  18.     std::cout<<std::setw(10)<<"LEGAJO ";
  19.     std::cout<<std::setw(16)<<"FECHA INGRESO ";
  20.     std::cout<<std::setw(10)<<"ANTIGUEDAD ";
  21.     std::cout<<std::endl;
  22. }
  23.  
  24. Vendedor VendedorManager::CrearVendedor(){
  25.     int numLegajo, anioAntiguedad;
  26.     Fecha fechaI;
  27.     Vendedor vendedor;
  28.  
  29.     std::cout<<std::setw(60)<<"--- AGREGAR VENDEDOR ---"<<std::endl;
  30.     std::cout<<std::endl;
  31.  
  32.     vendedor.CargarPersona();
  33.  
  34.     std::cout<<"NUMERO DE LEGAJO: ";
  35.     std::cin>>numLegajo;
  36.     vendedor.setNroLegajo(numLegajo);
  37.     std::cout<<"FECHA INGRESO: "<<std::endl;
  38.     fechaI.Cargar();
  39.     vendedor.setFechaIngreso(fechaI);
  40.     std::cout<<"ANTIGUEDAD: ";
  41.     anioAntiguedad=vendedor.CalcularAntiguedad();
  42.     std::cout<<anioAntiguedad<<std::endl;
  43.     vendedor.setAntiguedad(anioAntiguedad);
  44.     vendedor.setEliminado(false);
  45.     std::cout<<std::endl;
  46.  
  47.     return vendedor;
  48. }
  49.  
  50. void VendedorManager::MostrarVendedor(Vendedor vendedor){
  51.  
  52.     vendedor.MostrarPersona();
  53.  
  54.     std::cout<<std::left;
  55.     std::cout<<std::setw(10)<<vendedor.getNroLegajo();
  56.     std::cout<<std::setw(16)<<vendedor.getFechaIngreso().toString();
  57.     std::cout<<std::setw(10)<<vendedor.getAntiguedad();
  58. }
  59.  
  60. void VendedorManager::AgregarVendedor(){
  61.     if(_archivo.GuardarRegistro(CrearVendedor())){
  62.         std::cout<<"El vendedor se guardo correctamente!!!"<<std::endl;
  63.     }else{
  64.         std::cout<<"No se pudo guardar el vendedor!!!"<<std::endl;
  65.     }
  66. }
  67.  
  68. void VendedorManager::ListarVendedor(){
  69.  
  70.     std::cout<<std::setw(60)<<"--- LISTAR TODOS LOS VENDEDORES ---"<<std::endl;
  71.     std::cout<<std::endl;
  72.  
  73.     PlanillaVendedor();
  74.  
  75.     int cantidad=_archivo.ContarRegistro();
  76.     Vendedor reg;
  77.  
  78.     for(int i = 0; i < cantidad; i++){
  79.         reg=_archivo.leerRegistro(i);
  80.  
  81.         if(reg.getEliminado()==false){
  82.             MostrarVendedor(reg);
  83.             std::cout<<std::endl;
  84.         }
  85.     }
  86.     std::cout<<std::endl;
  87. }
  88.  
  89. void VendedorManager::BuscarVendedor(){
  90.     int numLegajo, indice;
  91.     Vendedor vendedor;
  92.     std::cout<<std::setw(60)<<"--- BUSCAR VENDEDOR ---"<<std::endl;
  93.     std::cout<<std::endl;
  94.  
  95.     std::cout<<"Ingrese el numero de legajo del vendedor que desea buscar: ";
  96.     std::cin>>numLegajo;
  97.     std::cout<<std::endl;
  98.     system("cls");
  99.  
  100.     indice=_archivo.BuscarId(numLegajo);
  101.  
  102.     if(indice != -1){
  103.         vendedor=_archivo.leerRegistro(indice);
  104.  
  105.         std::cout<<"LEGAJO: "<<vendedor.getNroLegajo();
  106.         std::cout<<std::endl<<std::endl;
  107.  
  108.         PlanillaVendedor();
  109.  
  110.         MostrarVendedor(vendedor);
  111.     }else{
  112.         std::cout<<"No se encuentra ningun vendedor con ese numero de legajo!!!"<<std::endl;
  113.     }
  114.     std::cout<<std::endl<<std::endl;
  115. }
  116.  
  117. void VendedorManager::EditarVendedor(){
  118.     int legajo;
  119.     char opcion;
  120.     std::cout<<std::setw(60)<<"--- EDITAR VENDEDOR ---"<<std::endl;
  121.     std::cout<<std::endl;
  122.  
  123.     std::cout << "Ingrese Legajo del Cliente a editar: ";
  124.     std::cin >> legajo;
  125.     std::cout << std::endl;
  126.     system("cls");
  127.  
  128.     int indice = _archivo.BuscarId(legajo);
  129.  
  130.     Vendedor vendedor;
  131.     vendedor = _archivo.leerRegistro(indice);
  132.  
  133.     if(indice != -1){
  134.         vendedor=_archivo.leerRegistro(indice);
  135.  
  136.         PlanillaVendedor();
  137.         MostrarVendedor(vendedor);
  138.  
  139.         std::cout << std::endl<<std::endl;
  140.         std::cout << "¿Desea editar la Fecha de Ingreso? S/N" << std::endl;
  141.         std::cout<<"OPCION: ";
  142.         std::cin >> opcion;
  143.         system("cls");
  144.  
  145.         if(opcion=='s' || opcion=='S'){
  146.             std::cout<<std::endl;
  147.             Fecha f;
  148.             std::cout << "Ingrese nueva fecha: "<<std::endl;
  149.             f.Cargar();
  150.             system("cls");
  151.             vendedor.setFechaIngreso(f);
  152.             int newA=vendedor.CalcularAntiguedad();
  153.             vendedor.setAntiguedad(newA);
  154.  
  155.             bool result = _archivo.Sobreescribir(indice, vendedor);
  156.  
  157.             if (result == true) {
  158.                 std::cout<<"Se edito correctamente el vendedor."<<std::endl;
  159.             }
  160.  
  161.         }else{
  162.             std::cout<<"Cancelo el modificar del vendedor."<<std::endl;
  163.         }
  164.     }else{
  165.         std::cout<<"Numero de Legajo inexistente."<<std::endl;
  166.     }
  167.  
  168. }
  169.  
  170. void VendedorManager::EliminarVendedor(){
  171.     int numLegajo, indice;
  172.     Vendedor vendedor;
  173.     char opcion;
  174.  
  175.     std::cout<<std::setw(60)<<"--- ELIMINAR VENDEDOR ---"<<std::endl;
  176.     std::cout<<std::endl;
  177.  
  178.     std::cout<<"Ingrese el numero de Legajo: ";
  179.     std::cin>>numLegajo;
  180.  
  181.     indice=_archivo.BuscarId(numLegajo);
  182.  
  183.     if(indice != -1){
  184.         vendedor=_archivo.leerRegistro(indice);
  185.  
  186.         std::cout<<std::endl;
  187.         PlanillaVendedor();
  188.         MostrarVendedor(vendedor);
  189.         std::cout<<std::endl<<std::endl;
  190.  
  191.         std::cout<< "Desea eliminar este vendedor. Confirar? S/N" << std::endl;
  192.         std::cout<<"OPCION: ";
  193.         std::cin >> opcion;
  194.         system("cls");
  195.  
  196.         if(opcion=='s' || opcion=='S'){
  197.             vendedor.setEliminado(true);
  198.  
  199.             if(_archivo.Sobreescribir(indice, vendedor)){
  200.                 std::cout<<"Se elimino con exito."<<std::endl;
  201.             }else{
  202.                 std::cout<<"No se pudo eliminar."<<std::endl;
  203.             }
  204.         }else{
  205.             std::cout<<"Cancelo el eliminado del vendedor."<<std::endl;
  206.         }
  207.     }else{
  208.         std::cout<<"Numero de Legajo inexistente."<<std::endl;
  209.     }
  210. }
  211.  
  212.  
  213.  
  214. void VendedorManager::realizarBackupVendedores() {
  215.     int opc;
  216.     std::cout<<std::setw(60)<<"--- REALIZAR BACKUP ---"<<std::endl;
  217.     std::cout<<std::endl;
  218.  
  219.     std::cout << "- Desea Relizar Backup del Archivo Vendedores?" << std::endl;
  220.     std::cout << " (1)SI (2)NO " << std::endl;
  221.     std::cout << "Selecione una Opcion: ";
  222.     std::cin >> opc;
  223.     system("cls");
  224.     switch (opc) {
  225.     case 1:
  226.         system("copy Vendedores.dat Vendedores.bkp");
  227.         std::cout << "* Backup Realizado con Exito! *" << std::endl;
  228.         break;
  229.     case 2:
  230.         return;
  231.     default:
  232.         std::cout << std::endl << "* Opcion Incorrecta! *" << std::endl;
  233.         return;
  234.     }
  235. }
  236.  
  237. void VendedorManager::restaurarBackupVendedores() {
  238.     int opc;
  239.     std::cout<<std::setw(60)<<"--- RESTAURAR BACKUP ---"<<std::endl;
  240.     std::cout<<std::endl;
  241.  
  242.     std::cout << "- Desea Restaurar el Archivo de Vendedores?" << std::endl;
  243.     std::cout << " (1)SI (2)NO " << std::endl;
  244.     std::cout << "Selecione una Opcion: ";
  245.     std::cin >> opc;
  246.     system("cls");
  247.     switch (opc) {
  248.     case 1:
  249.         system("copy Vendedores.bkp Vendedores.dat");
  250.         std::cout << "* Restauracion Realizado con Exito! *" << std::endl;
  251.         break;
  252.     case 2:
  253.         break;
  254.     default:
  255.         std::cout << std::endl << "* Opcion Incorrecta! *" << std::endl;
  256.         return;
  257.     }
  258. }
  259.  
  260. void VendedorManager::Menu(){
  261.     int option;
  262.     system("cls");
  263.     while(true)
  264.     {
  265.         system("cls");
  266.  
  267.         std::cout<<"------ MENU VENDEDOR ------- "<<std::endl;
  268.         std::cout<<"1- AGREGAR VENDEDOR"<<std::endl;
  269.         std::cout<<"2- LISTAR TODOS LOS VENDEDORES"<<std::endl;
  270.         std::cout<<"3- BUSCAR VENDEDOR"<<std::endl;
  271.         std::cout<<"4- EDITAR VENDEDOR"<<std::endl;
  272.         std::cout<<"5- ELIMINAR VENDEDOR"<<std::endl;
  273.         std::cout<<"6- BACKUP"<<std::endl;
  274.         std::cout<<"0- SALIR"<<std::endl;
  275.         std::cout<<"-----------------------------"<<std::endl;
  276.         std::cout<<"Opcion: ";
  277.         std::cin>>option;
  278.         system("cls");
  279.         switch(option){
  280.             case 1:
  281.                 AgregarVendedor();
  282.                 system("pause");
  283.                 break;
  284.             case 2:
  285.                 ListarVendedor();
  286.                 system("pause");
  287.                 break;
  288.             case 3:
  289.                 BuscarVendedor();
  290.                 system("pause");
  291.                 break;
  292.             case 4:
  293.                 EditarVendedor();
  294.                 system("pause");
  295.                 break;
  296.             case 5:
  297.                 EliminarVendedor();
  298.                 system("pause");
  299.                 break;
  300.             case 6:
  301.                 int  opc2;
  302.                 while(true){
  303.  
  304.                     system("cls");
  305.                     std::cout<<"------ MENU BACKUP ------- "<<std::endl;
  306.                     std::cout<<"1- REALIZAR BACKUP VENDEDORES"<<std::endl;
  307.                     std::cout<<"2- RESTAURAR BUCKUP VENDEDORES"<<std::endl;
  308.                     std::cout<<"3- VOLVER AL MENU PRINCIPAL"<<std::endl;
  309.                     std::cout<<"OPCION: ";
  310.                     std::cin>>opc2;
  311.                     system("cls");
  312.  
  313.                     switch(opc2){
  314.                         case 1:
  315.                             realizarBackupVendedores();
  316.                             system("pause");
  317.                             break;
  318.                         case 2:
  319.                             restaurarBackupVendedores();
  320.                             system("pause");
  321.                             break;
  322.                         case 3:
  323.                             break;
  324.                     }
  325.                     if(opc2==3){// Salir del bucle del submenú si se elige la opción 3
  326.                         break;
  327.                     }
  328.                     system("pause");
  329.                 }
  330.                 break;
  331.             case 0:
  332.             return;
  333.         }
  334.     }
  335.  
  336. }
  337.  
Advertisement
Add Comment
Please, Sign In to add comment