/// <summary> /// Loads the screen object using the employeeID /// </summary> private void btnLoad_Click(object sender, EventArgs e) { try { myScreen = myPEMService.getScreenByEmployee(tbEmployee.Text.Trim()); if (myScreen.errorMessage != "") { MessageBox.Show("Error: " + myScreen.errorMessage); return; } tbScreen.Text = ctStandardLib.ctHelper.serializeObject(myScreen).Replace("><", ">" + Environment.NewLine + "<"); gvPJEMPLOY.DataSource = null; //force reset of the datagridview { //make a temporary array of PJEMPLOY just for tying to the datagridview var tmp = new ctDynamicsSL.project.projectController.maintenance.projectEmployeeMaintenance.PJEMPLOY[1]; tmp[0] = myScreen.myPJEMPLOY; gvPJEMPLOY.DataSource = tmp; } } catch (Exception ex) { MessageBox.Show("Unexepected error: " + ex.Message); } }
/// <summary> /// Saves any changes to the loaded employee back to SL /// </summary> private void btnUpdate_Click(object sender, EventArgs e) { if (myScreen == null) { MessageBox.Show("You must load an employee first!"); return; } { //make a temporary array of PJEMPLOY just for reading any changes from the datagridview var tmp = new ctDynamicsSL.project.projectController.maintenance.projectEmployeeMaintenance.PJEMPLOY[1]; tmp = (ctDynamicsSL.project.projectController.maintenance.projectEmployeeMaintenance.PJEMPLOY[])gvPJEMPLOY.DataSource; //apply changes to our screen object myScreen.myPJEMPLOY = tmp[0]; } try { //this will only validate all data but not save any changes to SL (optional) var validate = myPEMService.editScreen("VALIDATEONLY", myScreen); if (validate.errorMessage.Trim() != "") { MessageBox.Show("Error in Validation: " + validate.errorMessage); return; } else { //passed validation, lets update the employee var update = myPEMService.editScreen("UPDATE", myScreen); if (update.errorMessage.Trim() != "") { MessageBox.Show("Error in Update: " + update.errorMessage); return; } else { //save complete, lets make sure our screen object has the latest data and update the grid and textbox myScreen = update; tbScreen.Text = ctStandardLib.ctHelper.serializeObject(myScreen).Replace("><", ">" + Environment.NewLine + "<"); gvPJEMPLOY.DataSource = null; //force reset of the datagridview { //make a temporary array of PJEMPLOY just for tying to the datagridview var tmp = new ctDynamicsSL.project.projectController.maintenance.projectEmployeeMaintenance.PJEMPLOY[1]; tmp[0] = myScreen.myPJEMPLOY; gvPJEMPLOY.DataSource = tmp; } MessageBox.Show("Save complete!"); } } } catch (Exception ex) { MessageBox.Show("Unexepected error: " + ex.Message); } }
/// <summary> ///Creates an empty new generic employee /// </summary> private void btnNew_Click(object sender, EventArgs e) { try { //clear out any currently load screen myScreen = myPEMService.getNewscreen(null); gvPJEMPLOY.DataSource = null; tbScreen.Text = ""; //cpnyID required myScreen.myPJEMPLOY.CpnyId = System.Configuration.ConfigurationManager.AppSettings["CPNYID"]; //employeeID is a required field { String employeeID = tbEmployee.Text.Trim(); if (employeeID == "") { //employeeID required, using our builtin counter table as example if one is not entered employeeID = myCommonService.getNextCounterAsString("EMPLOYEE"); } myScreen.myPJEMPLOY.employee = employeeID; } myScreen.myPJEMPLOY.emp_name = "my test employee: " + myScreen.myPJEMPLOY.employee; myScreen.myPJEMPLOY.gl_subacct = myPEMService.getSubsByID("")[0].Sub; //required, just picking the first one myScreen.myPJEMPLOY.manager1 = myPEMService.getEmployeesByID("")[0].employee; //not required, just picking first employee for example //exampe of how to set the note in the screen ctDynamicsSL.project.projectController.maintenance.projectEmployeeMaintenance.Snote employeeNote = new ctDynamicsSL.project.projectController.maintenance.projectEmployeeMaintenance.Snote(); employeeNote.sNoteText = "test employee note"; myScreen.employeeNote = employeeNote; //this will only validate all data but not save any changes to SL (optional) var validate = myPEMService.editScreen("VALIDATEONLY", myScreen); if (validate.errorMessage.Trim() != "") { MessageBox.Show("Validation Error: " + validate.errorMessage); return; } else { //passed validation, lets ADD the employee var add = myPEMService.editScreen("ADD", myScreen); if (add.errorMessage.Trim() != "") { MessageBox.Show("Error in Add: " + add.errorMessage); return; } else { //save complete, lets make sure our screen object has the latest data and update the grid and textbox myScreen = add; tbEmployee.Text = myScreen.myPJEMPLOY.employee.Trim(); tbScreen.Text = ctStandardLib.ctHelper.serializeObject(myScreen).Replace("><", ">" + Environment.NewLine + "<"); gvPJEMPLOY.DataSource = null; //force reset of the datagridview { //make a temporary array of PJEMPLOY just for tying to the datagridview var tmp = new ctDynamicsSL.project.projectController.maintenance.projectEmployeeMaintenance.PJEMPLOY[1]; tmp[0] = myScreen.myPJEMPLOY; gvPJEMPLOY.DataSource = tmp; } MessageBox.Show("Save complete!"); } } } catch (Exception ex) { MessageBox.Show("Unexepected error: " + ex.Message); } }