property GiftCardType; // podłączane bezpośrednio pod RadioButton
field mGiftCardType;
LadowanieDanych()
{
GiftCardType = PobierzZBazyGiftCardType();
mGiftCardType = GiftCardType;
}
PrzelaczanieRadioButtonaGiftCardType()
{
switch (GiftCardType)
{
// Przełączamy RadioButton na "None"
Case 0:
// Pytamy, czy użytkownik naprawdę chce usunąć GiftCard
var removeGC = MessageBox.Show("Are you sure you want to remove Gift Card?", "Remove Gift Card", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
// Jeśli tak, usuwamy w bazie, zapisujemy lokalnie, że nowa bazodanowa wartość - to "None"
if (removeGC == DialogResult.Yes)
{
//remove gift card record
DeleteGiftCard(mDocID);
mblnDirty = true;
mGiftCardType = 0;
}
// Jeśli nie, przywracamy w RadioButtonie poprzednią wartość
else
{
optGiftCard[mGiftCardType].Checked = true;
}
break;
// Przełączamy RadioButton na "Physical"
Case 1:
// Jeśli bazodanowa wartość nie jest "None", czyli przełączamy z "Virtual"
if (mGiftCardType != 0)
{
// Pytamy, czy użytkownik naprawdę chce ZMIENIĆ typ GiftCard
var removeGC = MessageBox.Show("Are you sure you want to change gift card type?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
// Jeśli tak, usuwamy w bazie, zapisujemy lokalnie, że nowa bazodanowa wartość - to "None"
if (removeGC == DialogResult.Yes)
{
objOrder.DeleteGiftCard(mDocID);
mblnDirty = true;
mGiftCardType = 0;
}
// Jeśli nie, nic nie zmieniamy i wychodzimy
else
{
return;
}
}
// TU JEST OTWIERANE OKNO ADRESU
Dim strGiftCardAddress As String
Dim strErrAddressMsg As String
Dim GCData As GiftCardData
If mblnLoading = False Then
With frmGiftCard
.DocID = mCompanyID 'mDocID
.ContactID = mContactID
.Show vbModal
End With
If IsLoaded("frmGiftCard") Then
With GCData
.OrderID = mDocID
.TypeID = frmGiftCard.txtGiftCardType.ItemData(frmGiftCard.txtGiftCardType.ListIndex)
.Attention = frmGiftCard.txtAttention.Text
.Address1 = frmGiftCard.txtAddress1.Text
.Address2 = frmGiftCard.txtAddress2.Text
.Address3 = frmGiftCard.txtAddress3.Text
.City = frmGiftCard.txtCity.Text
.Country = frmGiftCard.txtCountry.ItemData(frmGiftCard.txtCountry.ListIndex)
.State = frmGiftCard.txtState.Text
.Zip = frmGiftCard.txtZip.Text
End With
Unload frmGiftCard
objOrder.AddGiftCardPhysical GCData
mGiftCardType = 1
Else
optGiftCard(mGiftCardType).Value = True
End If
End If
// Tu otwieramy okno, w zależności od tego, czy udało się tam poustawiać adres itd, dodajemy w bazie fizyczną kartę, zmieniamy mGiftCardType na Physical (1). Jeśli nie ustawiliśmy nic, przywracamy poprzednie wartości
// Przełączamy RadioButton na "Virtual"
Case 2:
// Jeśli bazodanowa wartość nie jest "None", czyli przełączamy z "Physical"
if (mGiftCardType != 0)
{
// Pytamy, czy użytkownik naprawdę chce ZMIENIĆ typ GiftCard
var removeGC = MessageBox.Show("Are you sure you want to change gift card type?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
// Jeśli tak, usuwamy w bazie, zapisujemy lokalnie, że nowa bazodanowa wartość - to "None"
if (removeGC == DialogResult.Yes)
{
objOrder.DeleteGiftCard(mDocID);
mblnDirty = true;
mGiftCardType = 0;
}
// Jeśli nie, nic nie zmieniamy i wychodzimy
else
{
return;
}
}
string strContactEmail;
string strGiftCardEmail;
string strErrEmailMsg;
// Czym to jest?
if (!mblnLoading)
{
//Default to email on account
strContactEmail = objContact.Email(mContactID);
if (string.IsNullOrEmpty(strContactEmail))
{
strGiftCardEmail = GetInput("Confirm Email", "You must enter an email address for the gift card.", 100, false);
}
else
{
strGiftCardEmail = GetInput("Confirm Email", "You may change the email address for the gift card.", 100, false, strContactEmail);
}
if (!string.IsNullOrEmpty(strGiftCardEmail))
{
//Validate and save
if (objSys.ValidateEmailAddress(strGiftCardEmail, out strErrEmailMsg))
{
objOrder.AddGiftCard(mDocID, GIFT_CARD_VI, strGiftCardEmail);
mblnDirty = true;
mGiftCardType = 2;
}
else
{
MessageBox.Show("'" + strGiftCardEmail + "' is not a valid email address.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
optGiftCard[mGiftCardType].Value = true;
}
}
else
{
optGiftCard[mGiftCardType].Value = true;
}
}
}