int parser_EmployeeSavetoText(FILE* pFile, LinkedList* pArrayListEmployee) { Employee* pEmployee = NULL; int retorno = -1; int i; int bufferId; int bufferSueldo; int bufferHorasTrabajadas; char bufferNombre[1024]; if(pFile != NULL && pArrayListEmployee != NULL) { for(i = 0; i < ll_len(pArrayListEmployee); i++) { if(i == 0) { fprintf(pFile, "id,nombre,horas,sueldo\n"); } pEmployee = ll_get(pArrayListEmployee, i); Employee_getNombre(pEmployee, bufferNombre); Employee_getId(pEmployee, &bufferId); Employee_getSueldo(pEmployee, &bufferSueldo); Employee_getHorasTrabajadas(pEmployee, &bufferHorasTrabajadas); fprintf(pFile, "%d, %s, %d, %d\n", bufferId, bufferNombre, bufferSueldo, bufferHorasTrabajadas); retorno = 0; } } return retorno; }
int parser_EmployeeSavetoBinary(FILE* pFile, LinkedList* pArrayListEmployee) { Employee* pEmpleado = NULL; int retorno = -1; int i; if(pFile != NULL) { for(i=0; i< ll_len(pArrayListEmployee); i++) { pEmpleado = ll_get(pArrayListEmployee,i); fwrite(pEmpleado,sizeof(Employee), 1, pFile); retorno = 0; } retorno = 0; } return retorno; }
/** * \brief Toma el indice de un empleado por el Id recorriendo todo el LinkedList * * \param pArrayListEmployee LinkedList* Es la LinkedList donde se buscan los empleados. * \param index int* Se retorna por parametros el index donde se encuentra el empleado. * \return En caso de exito retorna 1, si no 0 * */ int employee_getIndexById(LinkedList* pArrayListEmployee,int id, int* index) { int retorno = -1; Employee* pEmpleado; int bufferId; int i; if(pArrayListEmployee != NULL) { for(i=0;i < ll_len(pArrayListEmployee);i++) { pEmpleado = ll_get(pArrayListEmployee,i); employee_getId(pEmpleado,&bufferId); if(bufferId == id) { *index = ll_indexOf(pArrayListEmployee, pEmpleado); retorno = 0; break; } } } return retorno; }