namespace DBG.MODEL
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using DBG.MODEL;
using System.Configuration;
using System.Net;
using System.IO;
using System.Web;
using DS.Core.Data;
public class ExportToDatabase
{
#region Properties
public String Options { get; set; }
public String MemberID { get; set; }
public String First { get; set; }
public String Last { get; set; }
public String Middle { get; set; }
public String Address1 { get; set; }
public String Address2 { get; set; }
public String City { get; set; }
public String State { get; set; }
public String Zip { get; set; }
public String Expiration { get; set; }
public String GroupId { get; set; }
public String Effective { get; set; }
public String MemberPay { get; set; }
public String GroupPay { get; set; }
public String ExtMemberID { get; set; }
public String WorkPhone { get; set; }
public String HomePhone { get; set; }
public String Gender { get; set; }
public String BirthDate { get; set; }
public String Language { get; set; }
public String CardPrintDate { get; set; }
public String CardShipDate { get; set; }
public String ActiveStatus { get; set; }
public String Email { get; set; }
public String Affiliate { get; set; }
public String PaymentMethod { get; set; }
public Boolean BillingInfo { get; set; }
public String full_name { get; set; }
public String Expr1000 { get; set; }
public String CardNumber { get; set; }
public String ExpMonth { get; set; }
public String ExpYear { get; set; }
public String SecurityCode { get; set; }
public String NameOnAccount { get; set; }
public String BankName { get; set; }
public String BankRouting { get; set; }
public String BankAccount { get; set; }
public String PaymentDate { get; set; }
public String AnniversaryDate { get; set; }
public String BillingFrequency { get; set; }
public String FailReason { get; set; }
public Int32 MonthName { get; set; }
public String ResponseText { get; set; }
public Int32 CustomerId { get; set; }
public DateTime FirstPaymentDate { get; set; }
#endregion
#region Index values
public Int32 OptionsIndex = 0;
public Int32 MemberIDIndex = 1;
public Int32 FirstIndex = 2;
public Int32 LastIndex = 3;
public Int32 MiddleIndex = 4;
public Int32 Address1Index = 5;
public Int32 Address2Index = 6;
public Int32 CityIndex = 7;
public Int32 StateIndex = 8;
public Int32 ZipIndex = 9;
public Int32 ExpirationIndex = 10;
public Int32 GroupIdIndex = 11;
public Int32 EffectiveIndex = 12;
public Int32 MemberPayIndex = 13;
public Int32 GroupPayIndex = 14;
public Int32 ExtMemberIDIndex = 15;
public Int32 WorkPhoneIndex = 16;
public Int32 HomePhoneIndex = 17;
public Int32 GenderIndex = 18;
public Int32 BirthDateIndex = 19;
public Int32 LanguageIndex = 20;
public Int32 CardPrintDateIndex = 21;
public Int32 CardShipDateIndex = 22;
public Int32 ActiveStatusIndex = 23;
public Int32 EmailIndex = 24;
public Int32 AffiliateIndex = 25;
public Int32 PaymentMethodIndex = 26;
#endregion
---------------------------------------------------------------------
public void GenerateListFromExcel(String filePath)
{
try
{
List
ExportToDatabase objExportData = new ExportToDatabase();
List
String ProviderExcel = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=";
String ExtendedPropertiesExcel = "Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
String connString = ProviderExcel + filePath + ";" + ExtendedPropertiesExcel;
System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(connString);
try
{
cn.Open();
DataTable schemaTable = cn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
string SheetName = schemaTable.Rows[0][2].ToString();
StringBuilder SelectStatement = new StringBuilder();
SelectStatement.Append("SELECT * FROM [").Append(SheetName).Append("]");
System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(SelectStatement.ToString(), cn);
DataTable objDataTable = new DataTable();
da.Fill(objDataTable);
foreach (DataRow item in objDataTable.Rows)
{
ExportToDatabase objExcel = new ExportToDatabase();
objExcel.BillingInfo = true;
if (item[0] != null) { objExcel.Options = Convert.ToString(item[0]).Trim(); }
if (item[1] != null) { objExcel.MemberID = Convert.ToString(item[1]).Trim(); }
if (item[2] != null) { objExcel.First = Convert.ToString(item[2]).Trim(); }
if (item[3] != null) { objExcel.Last = Convert.ToString(item[3]).Trim(); }
if (item[4] != null) { objExcel.Middle = Convert.ToString(item[4]).Trim(); }
if (item[5] != null) { objExcel.Address1 = Convert.ToString(item[5]).Trim(); }
if (item[6] != null) { objExcel.Address2 = Convert.ToString(item[6]).Trim(); }
if (item[7] != null) { objExcel.City = Convert.ToString(item[7]).Trim(); }
if (item[8] != null) { objExcel.State = Convert.ToString(item[8]).Trim(); }
if (item[9] != null) { objExcel.Zip = Convert.ToString(item[9]).Trim(); }
//if (item[10] != null) { objExcel.Expiration = Convert.ToString(item[10]).Trim(); }
//if (item[11] != null) { objExcel.GroupId = Convert.ToString(item[11]).Trim(); }
//if (item[12] != null) { objExcel.Effective = Convert.ToString(item[12]).Trim(); }
//if (item[13] != null) { objExcel.MemberPay = Convert.ToString(item[13]).Trim(); }
//if (item[14] != null) { objExcel.GroupPay = Convert.ToString(item[14]).Trim(); }
//if (item[15] != null) { objExcel.ExtMemberID = Convert.ToString(item[15]).Trim(); }
if (item[10] != null) { objExcel.WorkPhone = Convert.ToString(item[10]).Trim(); }
//if (item[17] != null) { objExcel.HomePhone = Convert.ToString(item[17]).Trim(); }
if (item[11] != null) { objExcel.Gender = Convert.ToString(item[11]).Trim(); }
if (item[12] != null) { objExcel.BirthDate = Convert.ToString(item[12]).Trim(); }
if (item[13] != null) { objExcel.Language = Convert.ToString(item[13]).Trim(); }
//if (item[21] != null) { objExcel.CardPrintDate = Convert.ToString(item[21]).Trim(); }
//if (item[22] != null) { objExcel.CardShipDate = Convert.ToString(item[22]).Trim(); }
//if (item[23] != null) { objExcel.ActiveStatus = Convert.ToString(item[23]).Trim(); }
//if (item[24] != null) { objExcel.Email = Convert.ToString(item[24]).Trim(); }
//if (item[25] != null) { objExcel.Affiliate = Convert.ToString(item[25]).Trim(); }
//if (item[27] != null) { objExcel.full_name = Convert.ToString(item[26]).Trim(); }
//if (item[26] != null) { objExcel.PaymentMethod = Convert.ToString(item[27]).Trim(); }
//if (item[28] != null) { objExcel.Expr1000 = Convert.ToString(item[28]).Trim(); }
//if (item[29] != null) { objExcel.CardNumber = Convert.ToString(item[29]).Trim(); }
//if (item[30] != null) { objExcel.ExpMonth = Convert.ToString(item[30]).Trim(); }
//if (item[31] != null) { objExcel.ExpYear = Convert.ToString(item[31]).Trim(); }
//if (item[32] != null) { objExcel.SecurityCode = Convert.ToString(item[32]).Trim(); }
//if (item[33] != null) { objExcel.NameOnAccount = Convert.ToString(item[33]).Trim(); }
//if (item[34] != null) { objExcel.BankName = Convert.ToString(item[34]).Trim(); }
//if (item[35] != null) { objExcel.BankRouting = Convert.ToString(item[35]).Trim(); }
//if (item[36] != null) { objExcel.BankAccount = Convert.ToString(item[36]).Trim(); }
//if (item[37] != null) { objExcel.PaymentDate = Convert.ToString(item[37]).Trim(); }
//if (item[38] != null) { objExcel.AnniversaryDate = Convert.ToString(item[38]).Trim(); }
//if (item[39] != null) { objExcel.BillingFrequency = Convert.ToString(item[39]).Trim(); }
objExcelData.Add(objExcel);
}
cn.Close();
objExportData.LoadNewDatabase(objExcelData, out failedRecords);
if (failedRecords.Count() > 0)
{
StringBuilder csvBuilder = new StringBuilder();
foreach (ExportToDatabase item in failedRecords)
{
String[] failedRecord = GetFailedRecord(item);
String line = String.Join(",", failedRecord);
csvBuilder.AppendLine(line);
}
GenerateExcelFailedRecords(csvBuilder);
}
}
catch (Exception)
{
if (failedRecords.Count() > 0)
{
StringBuilder csvBuilder = new StringBuilder();
foreach (ExportToDatabase item in failedRecords)
{
String[] failedRecord = GetFailedRecord(item);
String line = String.Join(",", failedRecord);
csvBuilder.AppendLine(line);
}
GenerateExcelFailedRecords(csvBuilder);
}
}
finally
{
cn.Close();
}
}
catch (Exception ex)
{
ErrorLog.InsertError(ex.Message.ToString(), ex.Source.ToString(), ex.StackTrace.ToString(), ex.TargetSite.ToString());
throw ex;
}
}