//Interface public dlgAddressDetail(ref AddressDS address) { //Constructor try { //Required designer support InitializeComponent(); this.btnOk.Text = CMD_OK; this.btnCancel.Text = CMD_CANCEL; //Set mediator service, data, and titlebar caption this.mAddressDS = address; if (this.mAddressDS.AddressViewTable.Count > 0) { this.mAddressID = this.mAddressDS.AddressViewTable[0].AddressID; this.Text = (this.mAddressID > 0) ? "Address (" + this.mAddressID + ")" : "Address (New)"; } else { this.Text = "Address (Data Unavailable)"; } } catch (Exception ex) { throw ex; } }
private void OnMenuClick(object sender, System.EventArgs e) { //Menu item clicked-apply selected service AddressDS addressDS; AddressDS.AddressViewTableRow rowAddress; EnterpriseDS dsAdd; EnterpriseDS.AddressDetailTableRow rowAdd; dlgAddressDetail dlgAddress; int addressID = 0; DialogResult res = DialogResult.Cancel; try { MenuItem menu = (MenuItem)sender; switch (menu.Text) { case MNU_ADDRESS_ADD: //Add a new mailing address addressID = 0; addressDS = new AddressDS(); rowAddress = addressDS.AddressViewTable.NewAddressViewTableRow(); rowAddress.AddressID = 0; rowAddress.LocationID = this.mTerminalDS.EntTerminalDetailTable[0].LocationID; rowAddress.AddressType = "Mailing"; rowAddress.AddressLine1 = ""; rowAddress.AddressLine2 = ""; rowAddress.City = ""; rowAddress.StateOrProvince = "NJ"; rowAddress.PostalCode = ""; rowAddress.CountryID = 1; rowAddress.IsActive = true; rowAddress.LastUpdated = DateTime.Now; rowAddress.UserID = System.Environment.UserName; rowAddress.RowVersion = ""; addressDS.AddressViewTable.AddAddressViewTableRow(rowAddress); dlgAddress = new dlgAddressDetail(ref addressDS); res = dlgAddress.ShowDialog(); if (res == DialogResult.OK) { //Update listview rowAdd = this.mTerminalDS.AddressDetailTable.NewAddressDetailTableRow(); rowAdd.AddressID = addressDS.AddressViewTable[0].AddressID; rowAdd.LocationID = addressDS.AddressViewTable[0].LocationID; rowAdd.AddressType = addressDS.AddressViewTable[0].AddressType; rowAdd.AddressLine1 = addressDS.AddressViewTable[0].AddressLine1; rowAdd.AddressLine2 = addressDS.AddressViewTable[0].AddressLine2; rowAdd.City = addressDS.AddressViewTable[0].City; if (!addressDS.AddressViewTable[0].IsStateOrProvinceNull()) { rowAdd.StateOrProvince = addressDS.AddressViewTable[0].StateOrProvince; } rowAdd.PostalCode = addressDS.AddressViewTable[0].PostalCode; rowAdd.CountryID = addressDS.AddressViewTable[0].CountryID; rowAdd.IsActive = addressDS.AddressViewTable[0].IsActive; rowAdd.LastUpdated = addressDS.AddressViewTable[0].LastUpdated; rowAdd.UserID = addressDS.AddressViewTable[0].UserID; rowAdd.RowVersion = addressDS.AddressViewTable[0].RowVersion; this.mTerminalDS.AddressDetailTable.AddAddressDetailTableRow(rowAdd); this.mTerminalDS.AcceptChanges(); this.showAddressList(); this.mnuAddressAdd.Enabled = (this.lsvAddress.Items.Count < 2); } break; case MNU_ADDRESS_EDIT: //Read existing terminal details, forward to dlgTerminal for update addressID = Convert.ToInt32(this.lsvAddress.SelectedItems[0].SubItems[0].Text); dsAdd = new EnterpriseDS(); dsAdd.Merge(this.mTerminalDS.AddressDetailTable.Select("AddressID=" + addressID)); addressDS = new AddressDS(); rowAddress = addressDS.AddressViewTable.NewAddressViewTableRow(); rowAddress.AddressID = dsAdd.AddressDetailTable[0].AddressID; rowAddress.LocationID = dsAdd.AddressDetailTable[0].LocationID; rowAddress.AddressType = dsAdd.AddressDetailTable[0].AddressType; rowAddress.AddressLine1 = dsAdd.AddressDetailTable[0].AddressLine1; rowAddress.AddressLine2 = dsAdd.AddressDetailTable[0].AddressLine2; rowAddress.City = dsAdd.AddressDetailTable[0].City; rowAddress.StateOrProvince = dsAdd.AddressDetailTable[0].StateOrProvince; rowAddress.PostalCode = dsAdd.AddressDetailTable[0].PostalCode; rowAddress.CountryID = dsAdd.AddressDetailTable[0].CountryID; rowAddress.IsActive = dsAdd.AddressDetailTable[0].IsActive; rowAddress.LastUpdated = DateTime.Now; rowAddress.UserID = System.Environment.UserName; rowAddress.RowVersion = dsAdd.AddressDetailTable[0].RowVersion; addressDS.AddressViewTable.AddAddressViewTableRow(rowAddress); dlgAddress = new dlgAddressDetail(ref addressDS); res = dlgAddress.ShowDialog(); if (res == DialogResult.OK) { //Update listview rowAdd = this.mTerminalDS.AddressDetailTable[this.lsvAddress.SelectedItems[0].Index]; rowAdd.AddressID = addressDS.AddressViewTable[0].AddressID; rowAdd.LocationID = addressDS.AddressViewTable[0].LocationID; rowAdd.AddressType = addressDS.AddressViewTable[0].AddressType; rowAdd.AddressLine1 = addressDS.AddressViewTable[0].AddressLine1; rowAdd.AddressLine2 = addressDS.AddressViewTable[0].AddressLine2; rowAdd.City = addressDS.AddressViewTable[0].City; if (!addressDS.AddressViewTable[0].IsStateOrProvinceNull()) { rowAdd.StateOrProvince = addressDS.AddressViewTable[0].StateOrProvince; } rowAdd.PostalCode = addressDS.AddressViewTable[0].PostalCode; rowAdd.CountryID = addressDS.AddressViewTable[0].CountryID; rowAdd.IsActive = addressDS.AddressViewTable[0].IsActive; rowAdd.LastUpdated = addressDS.AddressViewTable[0].LastUpdated; rowAdd.UserID = addressDS.AddressViewTable[0].UserID; rowAdd.RowVersion = addressDS.AddressViewTable[0].RowVersion; this.mTerminalDS.AcceptChanges(); this.showAddressList(); } break; case MNU_ADDRESS_REMOVE: addressID = Convert.ToInt32(this.lsvAddress.SelectedItems[0].SubItems[0].Text); break; default: Debug.Write("Need handler for " + menu.Text + "\n"); break; } } catch (Exception ex) { reportError(ex); } finally { this.Cursor = Cursors.Default; } }