using System;
using System.Data;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CMS.EcommerceProvider;
using CMS.GlobalHelper;
public partial class CMSModules_Ecommerce_Controls_PaymentGateways_AuthorizeNetForm : CMSPaymentGatewayForm
{
#region "Private properties"
///
/// Credit card number.
///
private string CreditCardNumber
{
get
{
return txtCardNumber.Text.Trim();
}
set
{
txtCardNumber.Text = value;
}
}
///
/// Credit card CCV (Card Code Verification).
///
private string CreditCardCCV
{
get
{
return txtCCV.Text.Trim();
}
set
{
txtCCV.Text = value;
}
}
///
/// Credit card expiration date.
///
private DateTime CreditCardExpiration
{
get
{
if ((drpMonths.SelectedValue == "") || (drpYears.SelectedValue == ""))
{
return DataHelper.DATETIME_NOT_SELECTED;
}
else
{
DateTime result = DateTime.MinValue;
result = result.AddYears(Convert.ToInt32(drpYears.SelectedValue) - 1);
result = result.AddMonths(Convert.ToInt32(drpMonths.SelectedValue) - 1);
return result;
}
}
set
{
DateTime date = ValidationHelper.GetDateTime(value, DataHelper.DATETIME_NOT_SELECTED);
if (date != DataHelper.DATETIME_NOT_SELECTED)
{
drpMonths.SelectedValue = date.Month.ToString();
drpYears.SelectedValue = date.Year.ToString();
}
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
// Title
lblTitle.Text = ResHelper.GetString("AuthorizeNetForm.Title");
// Labels
lblCardNumber.Text = ResHelper.GetString("AuthorizeNetForm.CardNumber");
lblExpiration.Text = ResHelper.GetString("AuthorizeNetForm.CardExpiration");
lblCCV.Text = ResHelper.GetString("AuthorizeNetForm.CardCCV");
lblCCV.ToolTip = ResHelper.GetString("AuthorizeNetForm.CardCCVTooltip");
lblCCV.Attributes["style"] = "cursor:help;";
// Validators
rfvCardNumber.ErrorMessage = ResHelper.GetString("AuthorizeNetForm.ErrorCreditCardNumber");
rfvCCV.ErrorMessage = ResHelper.GetString("AuthorizeNetForm.ErrorCreditCardCCV");
// Load dropdown lists
if ((drpMonths.Items.Count == 0) || (drpYears.Items.Count == 0))
{
InitializeLists();
}
// Add required fields mark
if (ShoppingCartControl.RequiredFieldsMark != "")
{
string mark = ShoppingCartControl.RequiredFieldsMark;
lblMark1.Text = mark;
lblMark2.Text = mark;
lblMark3.Text = mark;
}
}
///
/// Process customer payment data.
///
public override string ProcessData()
{
ShoppingCartInfoObj.PaymentGatewayCustomData[AuthorizeNetParameters.CARD_NUMBER] = CreditCardNumber;
ShoppingCartInfoObj.PaymentGatewayCustomData[AuthorizeNetParameters.CARD_CCV] = CreditCardCCV;
ShoppingCartInfoObj.PaymentGatewayCustomData[AuthorizeNetParameters.CARD_EXPIRATION] = CreditCardExpiration;
return "";
}
///
/// Loads customer payment data to form controls.
///
public override void LoadData()
{
CreditCardNumber = ValidationHelper.GetString(ShoppingCartInfoObj.PaymentGatewayCustomData[AuthorizeNetParameters.CARD_NUMBER], "");
CreditCardCCV = ValidationHelper.GetString(ShoppingCartInfoObj.PaymentGatewayCustomData[AuthorizeNetParameters.CARD_CCV], "");
CreditCardExpiration = ValidationHelper.GetDateTime(ShoppingCartInfoObj.PaymentGatewayCustomData[AuthorizeNetParameters.CARD_EXPIRATION], DataHelper.DATETIME_NOT_SELECTED);
}
///
/// Validates customer payment data.
///
public override string ValidateData()
{
string errorMessage = "";
if (CreditCardNumber == "")
{
errorMessage = ResHelper.GetString("AuthorizeNetForm.ErrorCreditCardNumber");
}
if ((errorMessage == "") && (CreditCardCCV == ""))
{
errorMessage = ResHelper.GetString("AuthorizeNetForm.ErrorCreditCardCCV");
}
if (errorMessage != "")
{
// Show error message
lblError.Visible = true;
lblError.Text = errorMessage;
}
if (CreditCardExpiration == DataHelper.DATETIME_NOT_SELECTED)
{
lblErrorDate.Text = ResHelper.GetString("AuthorizeNetForm.ErrorCreditCardExpiration");
lblErrorDate.Visible = true;
if (errorMessage == "")
{
errorMessage = lblErrorDate.Text;
}
}
return errorMessage;
}
///
/// Loads data to dropdownlists.
///
private void InitializeLists()
{
// Load years
for (int i = 0; i < 10; i++)
{
string year = Convert.ToString(DateTime.Now.Year + i);
drpYears.Items.Add(new ListItem(year, year));
}
drpYears.Items.Insert(0, new ListItem("-", ""));
// Load months
for (int i = 1; i <= 12; i++)
{
string text = (i < 10) ? "0" + i.ToString() : i.ToString();
drpMonths.Items.Add(new ListItem(text, i.ToString()));
}
drpMonths.Items.Insert(0, new ListItem("-", ""));
}
}