![]() |
Example Application: Solas Property Rental |
|
Introduction |
|
Solas Property Rental is a fictitious company that manages various types of real estate properties and rents them to customers. The types of properties include apartments, townhouses, and single families. In this application, we simulate various customer-oriented transactions, including registering the potential tenants, assigning the properties to them, and collecting payments. This application was created to illustrate the various techniques of performing operations on XML elements: creating the elements, locating the values, and displaying them. |
|
|
| (Name) | Text | TextAlign | Width |
| colAccountNumber | Account # | 65 | |
| colFullName | Full Name | 120 | |
| colMaritalStatus | Marital Status | 85 | |
| colPhoneNumber | Phone # | Center | 85 |
![]() |
||||||||||||||||
|
#pragma once using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; using namespace System::Xml; |
void ShowTenants()
{
String ^ Filename = L"C:\\Solas Property Rental\\tenants.xml";
XmlDocument ^ DOMDocument = gcnew XmlDocument;
if( File::Exists(Filename) )
{
lvwTenants->Items->Clear();
DOMDocument->Load(Filename);
XmlElement ^ ElementTenant = DOMDocument->DocumentElement;
XmlNodeList ^ ListOfTenants = ElementTenant->ChildNodes;
for each(XmlNode ^ Node in ListOfTenants)
{
ListViewItem ^ lviTenant = gcnew ListViewItem(Node->FirstChild->InnerText); // Account Number
lviTenant->SubItems->Add(Node->FirstChild->NextSibling->InnerText); // Full Name
lviTenant->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->InnerText); // Phone Number
lviTenant->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->InnerText); // Marital Status
lvwTenants->Items->Add(lviTenant);
}
}
}
Void Tenants_Load(System::Object^ sender, System::EventArgs^ e)
{
ShowTenants();
}
|
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||
|
| (Name) | Text | TextAlign | Width |
| colPropertyCode | Prop Code | 65 | |
| colPropertyType | Property Type | 85 | |
| colBedrooms | Bedrooms | Right | 65 |
| colBathrooms | Bathrooms | Right | 65 |
| colMonthlyRent | Monthly Rent | Right | 75 |
| colStatus | Status | 65 |
![]() |
||||||||||||||||
|
#pragma once using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; using namespace System::Xml;
void ShowProperties()
{
XmlDocument ^ docProperties = gcnew XmlDocument;
String ^ Filename = L"C:\\Solas Property Rental\\properties.xml";
if( File::Exists(Filename) )
{
lvwProperties->Items->Clear();
docProperties->Load(Filename);
XmlElement ^ ElementProperty = docProperties->DocumentElement;
XmlNodeList ^ ListOfProperties = ElementProperty->ChildNodes;
for each(XmlNode ^ Node in ListOfProperties)
{
ListViewItem ^ lviProperty = gcnew ListViewItem(Node->FirstChild->InnerText); // Property Code
lviProperty->SubItems->Add(Node->FirstChild->NextSibling->InnerText); // Property Type
lviProperty->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->InnerText); // Bedrooms
lviProperty->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->InnerText); // Bathrooms
lviProperty->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Monthly Rent
lviProperty->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Status
lvwProperties->Items->Add(lviProperty);
}
}
}
Void RentalProperties_Load(System::Object^ sender, System::EventArgs^ e)
{
ShowProperties();
}
|
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
#pragma once using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; using namespace System::Xml; |
Void txtTenantAcntNbr_Leave(System::Object^ sender, System::EventArgs^ e)
{
String ^ Filename = L"C:\\Solas Property Rental\\tenants.xml";
XmlDocument ^ DOMDocument = gcnew XmlDocument;
if( File::Exists(Filename) )
{
DOMDocument->Load(Filename);
XmlElement ^ ElementTenant = DOMDocument->DocumentElement;
XmlNodeList ^ ListOfTenants = ElementTenant->ChildNodes;
bool TenantFound = false;
for (int i = 0; i < ListOfTenants->Count; i++)
{
XmlNode ^ Node = ListOfTenants[i];
if (Node->FirstChild->InnerText == txtTenantAcntNber->Text)
{
TenantFound = true;
txtTenantName->Text = Node->FirstChild->NextSibling->InnerText;
txtMaritalStatus->Text = Node->FirstChild->NextSibling->NextSibling->InnerText;
}
}
if( TenantFound == false )
{
MessageBox::Show(L"There is no tenant with that account number");
txtTenantAcntNber->Text = L"";
}
}
else
MessageBox::Show(L"There is no list of tenants to check.");
}
Void txtPropertyCode_Leave(System::Object^ sender, System::EventArgs^ e)
{
String ^ Filename = L"C:\\Solas Property Rental\\properties.xml";
XmlDocument ^ docProperties = gcnew XmlDocument;
if( File::Exists(Filename) )
{
docProperties->Load(Filename);
XmlElement ^ ElementProperty = docProperties->DocumentElement;
XmlNodeList ^ ListOfProperties = ElementProperty->ChildNodes;
bool PropertyFound = false;
for (int i = 0; i < ListOfProperties->Count; i++)
{
XmlNode ^ Node = ListOfProperties[i];
if( Node->FirstChild->InnerText == txtPropertyCode->Text )
{
PropertyFound = true;
txtPropertyType->Text = Node->FirstChild->NextSibling->InnerText;
txtMonthlyRent->Text = Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->InnerText;
}
}
if (PropertyFound == false)
{
MessageBox::Show(L"There is no Property with that code");
txtPropertyType->Text = L"";
}
}
else
MessageBox::Show(L"There is no list of properties to check.");
}
| (Name) | Text | TextAlign | Width |
| colAllocationCode | Alloc Code | 65 | |
| colDateAllocated | Date Allocated | Center | 85 |
| colTenantAccount | Tenant # | Center | 65 |
| colTenantName | Tenant Name | 100 | |
| colPropertyCode | Prop Code | Center | 65 |
| colPropertyType | Prop Type | 75 | |
| colContractLength | Contract Length | 88 | |
| colRentStartDate | Rent Start Date | Center | 88 |
| colMonthlyRent | Monthly Rent | Right | 76 |
#pragma once using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; using namespace System::Xml; |
void ShowRentalAllocations()
{
String ^ Filename = L"C:\\Solas Property Rental\\contracts.xml";
XmlDocument ^ DOMAllocations = gcnew XmlDocument;
if( File::Exists(Filename) )
{
lvwAllocations->Items->Clear();
DOMAllocations->Load(Filename);
XmlElement ^ ElementAllocation = DOMAllocations->DocumentElement;
XmlNodeList ^ ListOfAllocations = ElementAllocation->ChildNodes;
for each(XmlNode ^ Node in ListOfAllocations)
{
ListViewItem ^ lviAllocation = gcnew ListViewItem(Node->FirstChild->InnerText); // Allocation Code
lviAllocation->SubItems->Add(Node->FirstChild->NextSibling->InnerText); // Date Allocated
lviAllocation->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->InnerText); // Tenant Account Number
lviAllocation->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->InnerText); // Tenant Name
lviAllocation->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Property Code
lviAllocation->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Property Type
lviAllocation->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Contract Length
lviAllocation->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Rent Start Date
lviAllocation->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Monthly Rent
lvwAllocations->Items->Add(lviAllocation);
}
}
}
Void RentalAllocations_Load(System::Object^ sender, System::EventArgs^ e)
{
ShowRentalAllocations();
}
|
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
#pragma once using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; using namespace System::Xml; |
Void txtAllocationCode_Leave(System::Object^ sender, System::EventArgs^ e)
{
String ^ Filename = L"C:\\Solas Property Rental\\contracts.xml";
XmlDocument ^ DOMAllocations = gcnew XmlDocument;
if( File::Exists(Filename) )
{
DOMAllocations->Load(Filename);
XmlElement ^ ElementAllocation = DOMAllocations->DocumentElement;
XmlNodeList ^ ListOfAllocations = ElementAllocation->ChildNodes;
bool ContractFound = false;
for (int i = 0; i < ListOfAllocations->Count; i++)
{
XmlNode ^ Node = ListOfAllocations[i];
if (Node->FirstChild->InnerText == txtAllocationCode->Text)
{
ContractFound = true;
txtTenantAcntNber->Text = Node->FirstChild->NextSibling->NextSibling->InnerText;
txtTenantName->Text = Node->FirstChild->NextSibling->NextSibling->NextSibling->InnerText;
txtPropertyCode->Text = Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText;
txtPropertyType->Text = Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText;
txtAmountReceived->Text = Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText;
}
}
if (ContractFound == false)
{
MessageBox::Show(L"There is no rental contral with that number");
txtTenantAcntNber->Text = L"";
}
}
else
MessageBox::Show(L"There is no list of rental contracts to check.");
}
| (Name) | Text | TextAlign | Width |
| colReceiptNumber | Receipt # | Right | |
| colDateReceived | Date Received | Center | 85 |
| colAllocationCode | Alloc Code | Center | 65 |
| colTenantAccount | Tenant # | Center | 65 |
| colTenantName | Tenant Name | 100 | |
| colPropertyCode | Prop Code | Center | 65 |
| colPropertyType | Prop Type | 75 | |
| colPaymentFor | Payment For | 88 | |
| colAmountReceived | Amount | Right | 50 |
![]() |
||||||||||||||||
|
#pragma once using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; using namespace System::Xml; |
void ShowRentPayments()
{
String ^ Filename = L"C:\\Solas Property Rental\\payments.xml";
XmlDocument ^ DocumentPayments = gcnew XmlDocument();
if( File::Exists(Filename) )
{
lvwRentPayments->Items->Clear();
DocumentPayments->Load(Filename);
XmlElement ^ ElementAllocation = DocumentPayments->DocumentElement;
XmlNodeList ^ ListOfAllocations = ElementAllocation->ChildNodes;
for each(XmlNode ^ Node in ListOfAllocations)
{
ListViewItem ^ lviPayment = gcnew ListViewItem(Node->FirstChild->InnerText); // Receipt Number
lviPayment->SubItems->Add(Node->FirstChild->NextSibling->InnerText); // Date Received
lviPayment->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->InnerText); // Allocation Code
lviPayment->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->InnerText); // Tenant Account Number
lviPayment->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Tenant Name
lviPayment->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Property Code
lviPayment->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Property Type
lviPayment->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Payment For
lviPayment->SubItems->Add(Node->FirstChild->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->NextSibling->InnerText); // Amount
lvwRentPayments->Items->Add(lviPayment);
}
}
}
Void RentPayments_Load(System::Object^ sender, System::EventArgs^ e)
{
ShowRentPayments();
}
|
![]() |
|||||||||||||||
|
#pragma once
#include "RentPayments.h"
#include "RentalAllocations.h"
#include "Tenants.h"
#include "RentalProperties.h"
namespace SolasPropertyRental1 {
|
Void btnRentPayments_Click(System::Object^ sender, System::EventArgs^ e)
{
RentPayments ^ frmPayment = gcnew RentPayments;
frmPayment->Show();
}
|
Void btnRentalAllocations_Click(System::Object^ sender, System::EventArgs^ e)
{
RentalAllocations ^ frmAllocations = gcnew RentalAllocations;
frmAllocations->ShowDialog();
}
|
Void btnTenants_Click(System::Object^ sender, System::EventArgs^ e)
{
Tenants ^ frmTenants = gcnew Tenants;
frmTenants->ShowDialog();
}
|
Void btnRentalProperties_Click(System::Object^ sender, System::EventArgs^ e)
{
RentalProperties ^ frmProperties = gcnew RentalProperties;
frmProperties->ShowDialog();
}
|
Void btnClose_Click(System::Object^ sender, System::EventArgs^ e)
{
Close();
}
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
#pragma once #include "RentalAllocation.h" using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; using namespace System::Xml; |
Void btnNewAllocation_Click(System::Object^ sender, System::EventArgs^ e)
{
String ^ AllocationCode, ^TenantAccountNumber,
^ TenantName, ^ MaritalStatus,
^ PropertyCode, ^ PropertyType, ^ ContractLength;
DateTime DateAllocated, RentStartDate;
double MonthlyRent;
RentalAllocation ^ Editor = gcnew RentalAllocation;
Directory::CreateDirectory(L"C:\\Solas Property Rental");
String ^ Filename = L"C:\\Solas Property Rental\\contracts.xml";
if( Editor->ShowDialog() == System::Windows::Forms::DialogResult::OK )
{
XmlDocument ^ DOMAllocation = gcnew XmlDocument;
if( !File::Exists(Filename) )
{
DOMAllocation->LoadXml(L"<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
L"<Allocations></Allocations>");
DOMAllocation->Save(Filename);
}
DOMAllocation->Load(Filename);
XmlElement ^ RootNode = DOMAllocation->DocumentElement;
AllocationCode = Editor->txtAllocationCode->Text;
DateAllocated = Editor->dtpDateAllocated->Value;
TenantAccountNumber = Editor->txtTenantAcntNber->Text;
TenantName = Editor->txtTenantName->Text;
MaritalStatus = Editor->txtMaritalStatus->Text;
PropertyCode = Editor->txtPropertyCode->Text;
PropertyType = Editor->txtPropertyType->Text;
MonthlyRent = double::Parse(Editor->txtMonthlyRent->Text);
ContractLength = Editor->cbxContractLengths->Text;
RentStartDate = Editor->dtpRentStartDate->Value;
XmlElement ^ RootElement = DOMAllocation->DocumentElement;
XmlElement ^ ElementAllocation =
DOMAllocation->CreateElement(L"RentalAllocation");
RootElement->AppendChild(ElementAllocation);
RootElement = DOMAllocation->DocumentElement;
ElementAllocation = DOMAllocation->CreateElement(L"AllocationCode");
XmlText ^ TextAllocation = DOMAllocation->CreateTextNode(AllocationCode);
RootElement->LastChild->AppendChild(ElementAllocation);
RootElement->LastChild->LastChild->AppendChild(TextAllocation);
ElementAllocation = DOMAllocation->CreateElement(L"DateAllocated");
TextAllocation =
DOMAllocation->CreateTextNode(DateAllocated.ToString(L"d"));
RootElement->LastChild->AppendChild(ElementAllocation);
RootElement->LastChild->LastChild->AppendChild(TextAllocation);
ElementAllocation = DOMAllocation->CreateElement(L"TenantAccountNumber");
TextAllocation = DOMAllocation->CreateTextNode(TenantAccountNumber);
RootElement->LastChild->AppendChild(ElementAllocation);
RootElement->LastChild->LastChild->AppendChild(TextAllocation);
ElementAllocation = DOMAllocation->CreateElement(L"TenantName");
TextAllocation = DOMAllocation->CreateTextNode(TenantName);
RootElement->LastChild->AppendChild(ElementAllocation);
RootElement->LastChild->LastChild->AppendChild(TextAllocation);
ElementAllocation = DOMAllocation->CreateElement(L"MaritalStatus");
TextAllocation = DOMAllocation->CreateTextNode(MaritalStatus);
RootElement->LastChild->AppendChild(ElementAllocation);
RootElement->LastChild->LastChild->AppendChild(TextAllocation);
ElementAllocation = DOMAllocation->CreateElement(L"PropertyCode");
TextAllocation = DOMAllocation->CreateTextNode(PropertyCode);
RootElement->LastChild->AppendChild(ElementAllocation);
RootElement->LastChild->LastChild->AppendChild(TextAllocation);
ElementAllocation = DOMAllocation->CreateElement(L"PropertyType");
TextAllocation = DOMAllocation->CreateTextNode(PropertyType);
RootElement->LastChild->AppendChild(ElementAllocation);
RootElement->LastChild->LastChild->AppendChild(TextAllocation);
ElementAllocation = DOMAllocation->CreateElement(L"ContractLength");
TextAllocation = DOMAllocation->CreateTextNode(ContractLength);
RootElement->LastChild->AppendChild(ElementAllocation);
RootElement->LastChild->LastChild->AppendChild(TextAllocation);
ElementAllocation = DOMAllocation->CreateElement(L"RentStartDate");
TextAllocation =
DOMAllocation->CreateTextNode(RentStartDate.ToString(L"d"));
RootElement->LastChild->AppendChild(ElementAllocation);
RootElement->LastChild->LastChild->AppendChild(TextAllocation);
ElementAllocation = DOMAllocation->CreateElement(L"MonthlyRent");
TextAllocation =
DOMAllocation->CreateTextNode(MonthlyRent.ToString(L"F"));
RootElement->LastChild->AppendChild(ElementAllocation);
RootElement->LastChild->LastChild->AppendChild(TextAllocation);
DOMAllocation->Save(Filename);
ShowRentalAllocations();
}
}
Void btnClose_Click(System::Object^ sender, System::EventArgs^ e)
{
Close();
}
|
#pragma once #include "RentPayment.h" using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; using namespace System::Xml; |
Void btnNewPayment_Click(System::Object^ sender, System::EventArgs^ e)
{
int ReceiptNumber;
String ^ AllocationCode;
String ^ TenantAccountNumber;
String ^ TenantName;
String ^ PaymentFor;
String ^ PropertyCode;
String ^ PropertyType;
DateTime DateReceived;
double AmountReceived;
RentPayment ^ Editor = gcnew RentPayment;
XmlDocument ^ DOMPayments = gcnew XmlDocument;
Directory::CreateDirectory(L"C:\\Solas Property Rental");
String ^ Filename = L"C:\\Solas Property Rental\\payments.xml";
// If some payments were previously made
if( File::Exists(Filename) )
{
// Open the payments.xml file
DOMPayments->Load(Filename);
// Locate the root element
XmlElement ^ ElementAllocation = DOMPayments->DocumentElement;
// Get a list of the child nodes
XmlNodeList ^ ListOfAllocations = ElementAllocation->ChildNodes;
// Get the last receipt number
ReceiptNumber =
int::Parse(ListOfAllocations[ListOfAllocations->Count
- 1]->FirstChild->InnerText) + 1;
Editor->txtReceiptNumber->Text = ReceiptNumber.ToString();
}
else
{
// If no payment has ever been made,
// create a new XML file for the payments
DOMPayments->LoadXml(L"<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
L"<RentPayments></RentPayments>");
// We will start the receipt numbers at 101
ReceiptNumber = 101;
Editor->txtReceiptNumber->Text = ReceiptNumber.ToString();
}
// Display the Rent Payment dialog box
if( Editor->ShowDialog() == System::Windows::Forms::DialogResult::OK )
{
// If the user had clicked OK,
// Prepare the elements of the XML file
ReceiptNumber = int::Parse(Editor->txtReceiptNumber->Text);
DateReceived = Editor->dtpDateReceived->Value;
AllocationCode = Editor->txtAllocationCode->Text;
TenantAccountNumber = Editor->txtTenantAcntNber->Text;
TenantName = Editor->txtTenantName->Text;
PropertyCode = Editor->txtPropertyCode->Text;
PropertyType = Editor->txtPropertyType->Text;
PaymentFor = Editor->cbxMonths->Text + L" " + Editor->txtYear->Text;
AmountReceived = double::Parse(Editor->txtAmountReceived->Text);
// Get a reference to the root element
XmlElement ^ RootElement = DOMPayments->DocumentElement;
// Create an element named Payment
XmlElement ^ ElementPayment = DOMPayments->CreateElement(L"Payment");
// Add the new element as the last node of the root element
RootElement->AppendChild(ElementPayment);
// Get a reference to the root element
RootElement = DOMPayments->DocumentElement;
// Create an element
ElementPayment = DOMPayments->CreateElement(L"ReceiptNumber");
// Create the value of the new element
XmlText ^ TextPayment = DOMPayments->CreateTextNode(ReceiptNumber.ToString());
// Add the new element as a child of the Payment element
RootElement->LastChild->AppendChild(ElementPayment);
// Specify the value of the new element
RootElement->LastChild->LastChild->AppendChild(TextPayment);
// Follow the same logic for the other elements
ElementPayment = DOMPayments->CreateElement(L"DateReceived");
TextPayment = DOMPayments->CreateTextNode(DateReceived.ToString(L"d"));
RootElement->LastChild->AppendChild(ElementPayment);
RootElement->LastChild->LastChild->AppendChild(TextPayment);
ElementPayment = DOMPayments->CreateElement(L"AllocationCode");
XmlText ^ txtAllocation = DOMPayments->CreateTextNode(AllocationCode);
RootElement->LastChild->AppendChild(ElementPayment);
RootElement->LastChild->LastChild->AppendChild(txtAllocation);
ElementPayment = DOMPayments->CreateElement(L"TenantAccountNumber");
txtAllocation = DOMPayments->CreateTextNode(TenantAccountNumber);
RootElement->LastChild->AppendChild(ElementPayment);
RootElement->LastChild->LastChild->AppendChild(txtAllocation);
ElementPayment = DOMPayments->CreateElement(L"TenantName");
txtAllocation = DOMPayments->CreateTextNode(TenantName);
RootElement->LastChild->AppendChild(ElementPayment);
RootElement->LastChild->LastChild->AppendChild(txtAllocation);
ElementPayment = DOMPayments->CreateElement(L"PropertyCode");
txtAllocation = DOMPayments->CreateTextNode(PropertyCode);
RootElement->LastChild->AppendChild(ElementPayment);
RootElement->LastChild->LastChild->AppendChild(txtAllocation);
ElementPayment = DOMPayments->CreateElement(L"PropertyType");
txtAllocation = DOMPayments->CreateTextNode(PropertyType);
RootElement->LastChild->AppendChild(ElementPayment);
RootElement->LastChild->LastChild->AppendChild(txtAllocation);
ElementPayment = DOMPayments->CreateElement(L"PaymentFor");
txtAllocation = DOMPayments->CreateTextNode(PaymentFor);
RootElement->LastChild->AppendChild(ElementPayment);
RootElement->LastChild->LastChild->AppendChild(txtAllocation);
ElementPayment = DOMPayments->CreateElement(L"AmountReceived");
txtAllocation = DOMPayments->CreateTextNode(AmountReceived.ToString(L"F"));
RootElement->LastChild->AppendChild(ElementPayment);
RootElement->LastChild->LastChild->AppendChild(txtAllocation);
DOMPayments->Save(Filename);
ShowRentPayments();
}
}
Void btnClose_Click(System::Object^ sender, System::EventArgs^ e)
{
Close();
}
|
| Allocation 1 | Allocation 2 | Allocation 3 | Allocation 4 | |
| Allocation Code | 4205-8274 | 5920-9417 | 2792-4075 | 7957-7294 |
| Date Allocated | 8/12/2002 | 2/18/2004 | 3/24/2004 | 10/26/2007 |
| Account # | 24-68-84 | 57-97-15 | 19-38-84 | 20-48-46 |
| Prop Code | 726-454 | 625-936 | 371-801 | 727-768 |
| Contract Length | 12 Months | 3 Months | 12 Months | 6 Months |
| Start Date | 10/1/2002 | 4/1/2004 | 6/1/2004 | 2/1/2008 |
![]() |
![]() |
| Date Received | Allocation Code | Payment For | Amount | ||
| Month | Year | ||||
| Payment 1 | 10/25/2002 | 4205-8274 | October | 2002 | 1150.50 |
| Payment 2 | 11/28/2002 | 4205-8274 | November | 2002 | 1150.50 |
| Payment 3 | 4/28/2004 | 5920-9417 | April | 2004 | 1750.00 |
| Payment 4 | 7/5/2004 | 2792-4075 | June | 2004 | 1250.25 |
| Payment 5 | 6/3/2004 | 5920-9417 | May | 2004 | 1750.00 |
| Payment 6 | 7/30/2004 | 2792-4075 | July | 2004 | 1250.25 |
| Payment 7 | 7/5/2004 | 5920-9417 | June | 2004 | 1750.00 |
| Payment 8 | 12/30/2002 | 4205-8274 | December | 2002 | 1150.50 |
![]() |
![]() |
|
|
|
||
| Home | Copyright © 2008-2016, FunctionX, Inc. | |
|
|
||