void secondTestCase03(void) { int i,r; i = 0; for(i=0; i < LENGTH; i++) { r = addEmployee(arrayEmployees, LENGTH,id[i],unsortedList[i],unsortedList[i],salary[i],sector[i]); utest_assertEqualsIntMsg(r,0,"Error en valor de retorno, si se pudo agregar un empleado el valor a retornar es (0)"); } r = addEmployee(arrayEmployees, LENGTH,id[i],unsortedList[i],unsortedList[i],salary[i],sector[i]); utest_assertEqualsIntMsg(r,-1,"Error en valor de retorno, si el array esta lleno y no se pudo agregar\nun empleado el valor a retornar es (-1)"); }
void secondTestCase05(void) { int i,r; i = 0; r = addEmployee(arrayEmployees, 0,id[i],unsortedList[i],unsortedList[i],salary[i],sector[i]); utest_assertEqualsIntMsg(r,-1,"Error en valor de retorno, si se recibe una logitud erronea [length < 1]\nel valor a retornar es (-1)"); }
void secondTestCase04(void) { int i,r; i = 0; r = addEmployee(NULL, LENGTH,id[i],unsortedList[i],unsortedList[i],salary[i],sector[i]); utest_assertEqualsIntMsg(r,-1,"Error en valor de retorno, si se recibe un puntero NULL el valor a retornar es (-1)"); }
void thirdTestSetup(void) { int i; utest_print("Setup...\r\n"); initEmployees(arrayEmployees, LENGTH); for(i=0; i < LENGTH; i++) { addEmployee(arrayEmployees, LENGTH,id[i],unsortedList[i],unsortedList[i],salary[i],sector[i]); } }
void secondTestCase02(void) { int i,r; for(i=0; i < LENGTH; i++) { r = addEmployee(arrayEmployees, LENGTH,id[i],unsortedList[i],unsortedList[i],salary[i],sector[i]); utest_assertEqualsIntMsg(r,0,"Error en valor de retorno, si se pudo agregar un empleado el valor a retornar es (0)"); } for (i=0;i < LENGTH;i++) { utest_assertEqualsIntMsg(arrayEmployees[i].id,id[i],"Error de valor en <.id>"); utest_assertEqualsStringMsg(arrayEmployees[i].name,unsortedList[i],2,"Error de valor en <.name>"); utest_assertEqualsStringMsg(arrayEmployees[i].lastName,unsortedList[i],2,"Error de valor en <.lastName>"); utest_assertEqualsFloatMsg(arrayEmployees[i].salary,salary[i],"Error de valor en <.salary>"); utest_assertEqualsIntMsg(arrayEmployees[i].sector,sector[i],"Error de valor en <.sector>"); utest_assertEqualsIntMsg(arrayEmployees[i].isEmpty,0,"Error de valor en <.isEmpty> el valor correcto para\nindicar que la posicion esta ocupada es (0)"); } }
EmployeeForm::EmployeeForm(int id, QWidget *parent) : QDialog(parent) { nameEdit = new QLineEdit; nameLabel = new QLabel(tr("Na&me:")); nameLabel->setBuddy(nameEdit); departmentComboBox = new QComboBox; departmentLabel = new QLabel(tr("Depar&tment:")); departmentLabel->setBuddy(departmentComboBox); extensionLineEdit = new QLineEdit; extensionLineEdit->setValidator( new QIntValidator(0, 99999, this)); extensionLabel = new QLabel(tr("E&xtension:")); extensionLabel->setBuddy(extensionLineEdit); emailEdit = new QLineEdit; emailLabel = new QLabel(tr("&Email:")); emailLabel->setBuddy(emailEdit); startDateEdit = new QDateEdit; startDateEdit->setCalendarPopup(true); QDate today = QDate::currentDate(); startDateEdit->setDateRange( today.addDays(-90), today.addDays(90)); startDateLabel = new QLabel(tr("&Start Date:")); startDateLabel->setBuddy(startDateEdit); firstButton = new QPushButton(tr("<< &First")); previousButton = new QPushButton(tr("< &Previous")); nextButton = new QPushButton(tr("&Next >")); lastButton = new QPushButton(tr("&Last >>")); addButton = new QPushButton(tr("&Add")); deleteButton = new QPushButton(tr("&Delete")); closeButton = new QPushButton(tr("&Close")); buttonBox = new QDialogButtonBox; buttonBox->addButton(addButton, QDialogButtonBox::ActionRole); buttonBox->addButton(deleteButton, QDialogButtonBox::ActionRole); buttonBox->addButton(closeButton, QDialogButtonBox::AcceptRole); tableModel = new QSqlRelationalTableModel(this); tableModel->setTable("employee"); tableModel->setRelation(Employee_DepartmentId, QSqlRelation("department", "id", "name")); tableModel->setSort(Employee_Name, Qt::AscendingOrder); tableModel->select(); QSqlTableModel *relationModel = tableModel->relationModel(Employee_DepartmentId); departmentComboBox->setModel(relationModel); departmentComboBox->setModelColumn( relationModel->fieldIndex("name")); mapper = new QDataWidgetMapper(this); mapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); mapper->setModel(tableModel); mapper->setItemDelegate(new QSqlRelationalDelegate(this)); mapper->addMapping(nameEdit, Employee_Name); mapper->addMapping(departmentComboBox, Employee_DepartmentId); mapper->addMapping(extensionLineEdit, Employee_Extension); mapper->addMapping(emailEdit, Employee_Email); mapper->addMapping(startDateEdit, Employee_StartDate); if (id != -1) { for (int row = 0; row < tableModel->rowCount(); ++row) { QSqlRecord record = tableModel->record(row); if (record.value(Employee_Id).toInt() == id) { mapper->setCurrentIndex(row); break; } } } else { mapper->toFirst(); } connect(firstButton, SIGNAL(clicked()), mapper, SLOT(toFirst())); connect(previousButton, SIGNAL(clicked()), mapper, SLOT(toPrevious())); connect(nextButton, SIGNAL(clicked()), mapper, SLOT(toNext())); connect(lastButton, SIGNAL(clicked()), mapper, SLOT(toLast())); connect(addButton, SIGNAL(clicked()), this, SLOT(addEmployee())); connect(deleteButton, SIGNAL(clicked()), this, SLOT(deleteEmployee())); connect(closeButton, SIGNAL(clicked()), this, SLOT(accept())); QHBoxLayout *topButtonLayout = new QHBoxLayout; topButtonLayout->setContentsMargins(20, 0, 20, 5); topButtonLayout->addStretch(); topButtonLayout->addWidget(firstButton); topButtonLayout->addWidget(previousButton); topButtonLayout->addWidget(nextButton); topButtonLayout->addWidget(lastButton); topButtonLayout->addStretch(); QGridLayout *mainLayout = new QGridLayout; mainLayout->addLayout(topButtonLayout, 0, 0, 1, 3); mainLayout->addWidget(nameLabel, 1, 0); mainLayout->addWidget(nameEdit, 1, 1, 1, 2); mainLayout->addWidget(departmentLabel, 2, 0); mainLayout->addWidget(departmentComboBox, 2, 1, 1, 2); mainLayout->addWidget(extensionLabel, 3, 0); mainLayout->addWidget(extensionLineEdit, 3, 1); mainLayout->addWidget(emailLabel, 4, 0); mainLayout->addWidget(emailEdit, 4, 1, 1, 2); mainLayout->addWidget(startDateLabel, 5, 0); mainLayout->addWidget(startDateEdit, 5, 1); mainLayout->addWidget(buttonBox, 7, 0, 1, 3); mainLayout->setRowMinimumHeight(6, 10); mainLayout->setRowStretch(6, 1); mainLayout->setColumnStretch(2, 1); setLayout(mainLayout); if (id == -1) { nextButton->setFocus(); } else { nameEdit->setFocus(); } setWindowTitle(tr("Edit Employees")); }
int main() { Employee employees[LEN_EMPLOYEES]; initEmployees(employees,LEN_EMPLOYEES); char seguir = 'S'; int id; char name[51]; char lastName[51]; float salary; int sector; do { system("cls");//system("clear"); switch(menu()) { case 1: system("cls");//system("clear"); printf("---------ALTA--------\n\n"); id = getId(); strncpy(name,getStringSoloLetras("Ingrese NOMBRE: "),51); strncpy(lastName,getStringSoloLetras("Ingrese APELLIDO: "),51); salary = getFloat("Ingrese SALARIO: "); sector = getInt("Ingrese SECTOR: "); system("cls");//system("clear"); if(addEmployee(employees,LEN_EMPLOYEES,id,name,lastName,salary,sector) == -1) { printf("Error al ingresar datos!"); } system("pause"); break; case 2: system("cls");//system("clear"); if(verifyAllEmpty(employees,LEN_EMPLOYEES) == 0) { printf("NO HAY EMPLEADOS INGRESADOS!\n"); } else { printf("------------MODIFICAR-----------\n\n"); printEmployees(employees,LEN_EMPLOYEES); id = getInt("\n\nIngrese ID del empleado que desea modificar: "); if(findEmployeeById(employees,LEN_EMPLOYEES,id) == -1) { printf("NO EXISTE ESTE EMPLEADO\n"); system("pause"); break; } if(modifyEmployee(employees,LEN_EMPLOYEES,id) == -1) { printf("\nError!"); } } system("pause"); system("cls");//system("clear"); break; case 3: system("cls");//system("clear"); if(verifyAllEmpty(employees,LEN_EMPLOYEES) == 0) { printf("NO HAY EMPLEADOS INGRESADOS!\n"); } else { printf("------------ELIMINAR-----------\n\n"); printEmployees(employees,LEN_EMPLOYEES); id = getInt("\n\nIngrese ID del empleado que desea eliminar: "); if(findEmployeeById(employees,LEN_EMPLOYEES,id) == -1) { printf("NO EXISTE ESTE EMPLEADO\n"); system("pause"); break; } if(removeEmployee(employees,LEN_EMPLOYEES,id) == -1) { printf("\nError!"); } } system("pause"); system("cls");//system("clear"); break; case 4: system("cls");//system("clear"); if(verifyAllEmpty(employees,LEN_EMPLOYEES) == 0) { printf("NO HAY EMPLEADOS INGRESADOS!\n"); } else { printf("------------INFORMAR-----------\n\n"); sortEmployees(employees,LEN_EMPLOYEES); printEmployees(employees,LEN_EMPLOYEES); } system("pause"); system("cls"); break; } }while(seguir == 'S'); return 0; }