/// <summary> /// Update an existing invoice /// </summary> private void btnUpdate_Click(object sender, EventArgs e) { if (myScreen == null) { MessageBox.Show("You must load an entry first!"); return; } myScreen.myPJInvDet = (ctDynamicsSL.project.flexibleBillings.input.projectInvoiceAndAdjustmentMaintenance.PJInvDet[])dgvRegular.DataSource; myScreen.myPJInvDet_TRD = (ctDynamicsSL.project.flexibleBillings.input.projectInvoiceAndAdjustmentMaintenance.PJInvDet[])dgvTRD.DataSource; var validate = myIAMService.editScreen("VALIDATEONLY", myScreen); if (validate.errorMessage.Trim() != "") { MessageBox.Show("Error: " + validate.errorMessage); } else { var result = myIAMService.editScreen("UPDATE", myScreen); if (result.errorMessage.Trim() != "") { MessageBox.Show("Error: " + validate.errorMessage); } else { myScreen = result; tbDraftNum.Text = myScreen.myPJINVHDR.draft_num.Trim(); btnLoad_Click(null, null); MessageBox.Show("Complete!"); } } }
/// <summary> /// Load an existing invoice /// </summary> private void btnLoad_Click(object sender, EventArgs e) { dgvRegular.DataSource = null; dgvTRD.DataSource = null; try { myScreen = myIAMService.getScreenByDraftNumber(tbDraftNum.Text.ToUpper().Trim()); if (myScreen.errorMessage.Trim() != "") { throw new Exception(myScreen.errorMessage.Trim()); } if (myScreen.myPJINVHDR == null) { throw new Exception("Draft Number not found!"); } tbProjectID.Text = myScreen.myPJINVHDR.project_billwith.Trim().ToUpper(); tbDraftNum.Text = myScreen.myPJINVHDR.draft_num.Trim().ToUpper(); dgvRegular.DataSource = myScreen.myPJInvDet; dgvTRD.DataSource = myScreen.myPJInvDet_TRD; tbScreen.Text = ctStandardLib.ctHelper.serializeObject(myScreen).Replace("><", ">" + Environment.NewLine + "<"); }catch (Exception ex) { MessageBox.Show("Error loading: " + ex.Message); } }
/// <summary> /// This creates a new generic Invoice Entry /// </summary> private void btnNew_Click(object sender, EventArgs e) { try { if (tbProjectID.Text.Trim() == "") { MessageBox.Show("You must select a valid billing project first!"); return; } else { var tmpProject = myIAMService.getProjectsByExactID(tbProjectID.Text.Trim()); if (tmpProject == null) { MessageBox.Show("Invalid ProjectID!"); return; } else { tbProjectID.Text = tmpProject.project.Trim().ToUpper(); } } ctDynamicsSL.project.flexibleBillings.input.projectInvoiceAndAdjustmentMaintenance.screen newScreen = new ctDynamicsSL.project.flexibleBillings.input.projectInvoiceAndAdjustmentMaintenance.screen(); newScreen.myPJINVHDR = new ctDynamicsSL.project.flexibleBillings.input.projectInvoiceAndAdjustmentMaintenance.PJINVHDR(); newScreen.myPJINVHDR.CpnyId = System.Configuration.ConfigurationManager.AppSettings["CPNYID"]; newScreen.myPJINVHDR.project_billwith = tbProjectID.Text; newScreen = myIAMService.getNewscreen(newScreen); //load defaults global, cpnyID and project specific if (newScreen.errorMessage.Trim() != "") { MessageBox.Show(newScreen.errorMessage); return; } newScreen.myPJINVHDR.customer = myIAMService.getCustomersByID("C315")[0].CustId.Trim(); // custID required, picking first entry as example; newScreen.myPJINVHDR.doctype = "IN"; //IN,AD *required newScreen.myPJINVHDR.end_date = System.DateTime.Now.AddDays(1); //required newScreen.myPJInvDet = new ctDynamicsSL.project.flexibleBillings.input.projectInvoiceAndAdjustmentMaintenance.PJInvDet[1]; newScreen.myPJInvDet[0] = new ctDynamicsSL.project.flexibleBillings.input.projectInvoiceAndAdjustmentMaintenance.PJInvDet(); newScreen.myPJInvDet[0].CpnyId = newScreen.myPJINVHDR.CpnyId; newScreen.myPJInvDet[0].source_trx_date = System.DateTime.Now; newScreen.myPJInvDet[0].project = newScreen.myPJINVHDR.project_billwith; newScreen.myPJInvDet[0].project_billwith = newScreen.myPJINVHDR.project_billwith; //load any defaults based on values already set newScreen.myPJInvDet[0] = myIAMService.getNewPJInvDet(newScreen.myPJInvDet[0]); newScreen.myPJInvDet[0].li_type = "I"; //I,O required newScreen.myPJInvDet[0].acct = myIAMService.getAccountCategoriesForProjectByAcct(newScreen.myPJInvDet[0].project, "")[0].acct; //required, picking first entry as example. newScreen.myPJInvDet[0].pjt_entity = myIAMService.getTasks(newScreen.myPJInvDet[0].project, "")[0].pjt_entity; //required, picking first entry as example. newScreen.myPJInvDet_TRD = new ctDynamicsSL.project.flexibleBillings.input.projectInvoiceAndAdjustmentMaintenance.PJInvDet[1]; newScreen.myPJInvDet_TRD[0] = new ctDynamicsSL.project.flexibleBillings.input.projectInvoiceAndAdjustmentMaintenance.PJInvDet(); newScreen.myPJInvDet_TRD[0].CpnyId = newScreen.myPJINVHDR.CpnyId; newScreen.myPJInvDet_TRD[0].source_trx_date = System.DateTime.Now; newScreen.myPJInvDet_TRD[0].project = newScreen.myPJINVHDR.project_billwith; newScreen.myPJInvDet_TRD[0].project_billwith = newScreen.myPJINVHDR.project_billwith; //load any defaults based on values already set newScreen.myPJInvDet_TRD[0] = myIAMService.getNewPJInvDet(newScreen.myPJInvDet_TRD[0]); newScreen.myPJInvDet_TRD[0].li_type = "R"; //T,R,B,D,A required newScreen.myPJInvDet_TRD[0].acct = myIAMService.getTRDAccountCategoriesByAcct("")[0].acct; //required, picking first entry as example. newScreen.myPJInvDet_TRD[0].pjt_entity = myIAMService.getTasks(newScreen.myPJInvDet_TRD[0].project, "")[0].pjt_entity; //required, picking first entry as example. tbScreen.Text = ctStandardLib.ctHelper.serializeObject(newScreen).Replace("><", ">" + System.Environment.NewLine + "<"); var validatedScreen = myIAMService.editScreen("VALIDATEONLY", newScreen); if (validatedScreen.errorMessage.Trim() != "") { MessageBox.Show("Validation Error: " + validatedScreen.errorMessage); return; } else { var savedScreen = myIAMService.editScreen("ADD", newScreen); if (savedScreen.errorMessage.Trim() != "") { MessageBox.Show("Adding Error: " + savedScreen.errorMessage); return; } else { myScreen = savedScreen; tbProjectID.Text = myScreen.myPJINVHDR.project_billwith; tbDraftNum.Text = myScreen.myPJINVHDR.draft_num; dgvRegular.DataSource = null; dgvTRD.DataSource = null; dgvRegular.DataSource = myScreen.myPJInvDet; dgvTRD.DataSource = myScreen.myPJInvDet_TRD; } } } catch (Exception ex) { MessageBox.Show("Unknown Error: " + ex.Message); } }