using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CodeCafe.Web;
using System.IO;
using System.Data.SqlClient;
using OfficeOpenXml;
public partial class Admin_Users : System.Web.UI.Page
{
/****************************************************************************************************/
protected void Page_Load(object sender, EventArgs e)
{
}
/****************************************************************************************************/
///
/// Exports the users to Excel.
///
/// The sender.
/// The instance containing the event data.
protected void Export(object sender, EventArgs e)
{
string filename = Server.MapPath("~/DynamicData/User Export.xlsx");
try
{
if (File.Exists(filename))
File.Delete(filename);
FileInfo xlFile = new FileInfo(filename);
FileInfo xlTemplate = new FileInfo(Server.MapPath("~/Templates/User export.xlsx"));
using (ExcelPackage xlPackage = new ExcelPackage(xlFile, xlTemplate))
{
ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["Users"];
InsertData(worksheet);
xlPackage.Workbook.Properties.Title = "BluWave Website Users";
xlPackage.Workbook.Properties.Author = "Code Cafe";
xlPackage.Save();
}
}
catch (Exception err)
{
Logger.Log(err);
}
finally
{
if (File.Exists(filename))
Utils.DownloadFile(filename, "Users.xlsx", Response, DownloadType.attachement, true);
}
}
/****************************************************************************************************/
///
/// Inserts the data into the worksheet.
///
/// The worksheet.
private void InsertData(ExcelWorksheet worksheet)
{
MSSqlTools db = new MSSqlTools();
SqlDataReader rdr = null;
SqlCommand cmd;
try
{
db.DBase.Open();
cmd = new SqlCommand("UserInfo_ListAll", db.DBase);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
int row = 3;
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
worksheet.Cell(row, 1).Value = db.ProcessField(rdr["ui_firstName"], "");
worksheet.Cell(row, 2).Value = db.ProcessField(rdr["ui_surname"], "");
worksheet.Cell(row, 3).Value = db.ProcessField(rdr["ui_jobTitle"], "");
worksheet.Cell(row, 4).Value = "'" + db.ProcessField(rdr["ui_contact"], "");
worksheet.Cell(row, 5).Value = db.ProcessField(rdr["ui_email"], "");
worksheet.Cell(row, 6).Value = db.ProcessField(rdr["ui_company"], "");
worksheet.Cell(row, 7).Value = Global.GetCompanySize(db.ProcessField(rdr["ui_numEmployees"], 1));
worksheet.Cell(row, 8).Value = Global.GetProvince(db.ProcessField(rdr["pv_id"], 1));
row++;
}
rdr.Close();
}
catch (Exception err)
{
Logger.Log(err);
}
finally
{
db.DBase.Close();
}
}
/****************************************************************************************************/
}