private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (myScreen == null)
            {
                MessageBox.Show("You must load a timecard first!");
                return;
            }

            try
            {
                myScreen = (ctDynamicsSL.project.timeAndExpense.input.projectTimecardWithRateAmtEntry.screen)ctStandardLib.ctHelper.deSerializeObject(myScreen.GetType(), tbScreen.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error deserializing textbox data: " + ex.Message);
            }
            myScreen.myPJLABDET = (ctDynamicsSL.project.timeAndExpense.input.projectTimecardWithRateAmtEntry.PJLABDET[])gvDetails.DataSource;

            myScreen = myPTCService.editScreen("UPDATE", myScreen);
            if (myScreen.errorMessage != "")
            {
                MessageBox.Show("Error: " + myScreen.errorMessage);
            }
            else
            {
                tbScreen.Text = ctStandardLib.ctHelper.serializeObject(myScreen).Replace("><", ">" + Environment.NewLine + "<");
                MessageBox.Show("Save complete!");
            }
        }
 private void btnLoad_Click(object sender, EventArgs e)
 {
     myScreen = myPTCService.getScreenByDocNbr(tbEmployee.Text.Trim(), tbDocNbr.Text.Trim());
     if (myScreen.errorMessage != "")
     {
         MessageBox.Show("Error: " + myScreen.errorMessage);
         return;
     }
     gvDetails.DataSource = myScreen.myPJLABDET;
     btnUpdate.Enabled    = true;
     tbScreen.Text        = ctStandardLib.ctHelper.serializeObject(myScreen).Replace("><", ">" + Environment.NewLine + "<");
 }
        private void btnNew_Click(object sender, EventArgs e)
        {
            myScreen = myPTCService.getNewscreen(null);
            myScreen.myPJLABHDR.employee  = myPTCService.getEmployeesByID("")[0].employee;
            myScreen.myPJLABHDR.Approver  = myPTCService.getEmployeesByID("")[1].employee;
            myScreen.myPJLABHDR.le_status = "I";
            myScreen.myPJLABHDR.le_type   = "R";
            myScreen.myPJLABHDR.le_id10   = 0;

            System.Collections.Generic.List <ctDynamicsSL.project.timeAndExpense.input.projectTimecardWithRateAmtEntry.PJLABDET> outLines
                = new System.Collections.Generic.List <ctDynamicsSL.project.timeAndExpense.input.projectTimecardWithRateAmtEntry.PJLABDET>();
            {
                var tmpItem = myPTCService.getNewPJLABDET(null);
                //set required fields
                tmpItem.CpnyId_chrg    = System.Configuration.ConfigurationManager.AppSettings["CPNYID"];
                tmpItem.project        = myPJService.getProjectsByID("P0001")[0].project;                     //set project
                tmpItem.pjt_entity     = myPTCService.getProjectTasksByID(tmpItem.project, "")[0].pjt_entity; // set task
                tmpItem.labor_class_cd = myPTCService.getLaborClassesByID("")[0].code_value;                  //set labor class
                tmpItem.gl_acct        = "";                                                                  //set gl account
                tmpItem.gl_subacct     = "";                                                                  //set sub acct
                //set optional fields
                tmpItem.total_hrs = 8;
                outLines.Add(tmpItem);
            }

            myScreen.myPJLABDET = outLines.ToArray();
            {
                var validate = myPTCService.editScreen("VALIDATEONLY", myScreen);
                if (validate.errorMessage.Trim() != "")
                {
                    MessageBox.Show("Validation Error: " + validate.errorMessage);
                    return;
                }
            }

            myScreen = myPTCService.editScreen("ADD", myScreen);
            if (myScreen.errorMessage != "")
            {
                MessageBox.Show("Error: " + myScreen.errorMessage);
                return;
            }
            else
            {
                tbDocNbr.Text = myScreen.myPJLABHDR.docnbr;
                btnLoad.PerformClick();
                btnUpdate.Enabled = true;
            }
        }