#include "articulos.h"
+t_LstArticulos *lst_articulos;
+
+t_Articulo *art_form_buscar(WINDOW *win);
+
t_LstArticulos *art_cargar(const char *filename)
{
xmlDocPtr document;
xmlFreeDoc(document);
xmlCleanupParser();
+ lst_articulos = tmp;
return tmp;
}
int art_liberar(t_LstArticulos *l)
{
+ if (l == NULL) l = lst_articulos;
if (l == NULL) return 1;
free(l->array);
free(l);
+ lst_articulos = NULL;
return 0;
}
{
int i, j;
int n = atoi(numero);
+
+ if (lst == NULL) lst = lst_articulos;
+
for(i=0; i<lst->cant; i++) {
j = atoi(lst->array[i].numero);
if (n == j)
return NULL;
}
+t_Articulo *art_form_buscar(WINDOW *win)
+{
+ t_Form *form;
+ t_Articulo *articulo;
+
+ form = form_crear(win);
+ form_agregar_widget(form, INPUT, "Numero de Artículo", 8, "");
+ form_ejecutar(form, 1,1);
+ articulo = art_obtener(NULL, form_obtener_valor(form, "Numero de Artículo"));
+ form_destruir(form);
+
+ return articulo;
+}
+
+void art_modificar(char *s)
+{
+ WINDOW *win;
+ t_Form *form;
+ t_Articulo *articulo;
+
+ win = newwin(8, 68, 13, 1);
+ box(win, 0, 0);
+ wrefresh(win);
+
+ articulo = art_form_buscar(win);
+
+ if (articulo != NULL) {
+ form = form_crear(win);
+ form_agregar_widget(form, INPUT, "Numero de Artículo", 8, articulo->numero);
+ form_agregar_widget(form, INPUT, "Descripción", 50, articulo->desc);
+ form_agregar_widget(form, INPUT, "Presentación", 30, articulo->presentacion);
+ form_agregar_widget(form, INPUT, "Stock Actual", 8, articulo->existencia);
+ form_agregar_widget(form, INPUT, "PVU", 8, articulo->pvu);
+ form_agregar_widget(form, INPUT, "Stock Mínimo", 8, articulo->emin);
+ form_ejecutar(form, 1,1);
+
+ /* TODO : Actualizar registro */
+
+ form_destruir(form);
+ }
+
+ werase(win);
+ wrefresh(win);
+ delwin(win);
+}
+
+void art_eliminar(char *s)
+{
+ WINDOW *win;
+ t_Articulo *articulo;
+
+ win = newwin(8, 68, 13, 1);
+ box(win, 0, 0);
+ wrefresh(win);
+
+ articulo = art_form_buscar(win);
+
+ if (articulo == NULL) {
+ wattron(win, COLOR_PAIR(COLOR_YELLOW));
+ mvwaddstr(win, 6, 4, "No existe artículo con ese código. Abortando!");
+ wattroff(win, COLOR_PAIR(COLOR_YELLOW));
+ wrefresh(win);
+ getch();
+ } else {
+ /* TODO : Eliminar un registro */
+ }
+
+ werase(win);
+ wrefresh(win);
+ delwin(win);
+}
+
+void art_agregar(char *s)
+{
+ WINDOW *win;
+ t_Form *form;
+
+ win = newwin(8, 68, 13, 1);
+ box(win, 0, 0);
+ wrefresh(win);
+
+ form = form_crear(win);
+ form_agregar_widget(form, INPUT, "Numero de Artículo", 8, "");
+ form_agregar_widget(form, INPUT, "Descripción", 50, "");
+ form_agregar_widget(form, INPUT, "Presentación", 30, "");
+ form_agregar_widget(form, INPUT, "Stock Actual", 8, "");
+ form_agregar_widget(form, INPUT, "PVU", 8, "");
+ form_agregar_widget(form, INPUT, "Stock Mínimo", 8, "");
+ form_ejecutar(form, 1,1);
+
+ /* TODO : Agregar el nuevo elemento */
+
+ form_destruir(form);
+
+ werase(win);
+ wrefresh(win);
+ delwin(win);
+}
+