Compare commits

..

No commits in common. "devqc" and "dev_shamim" have entirely different histories.

13 changed files with 358 additions and 1182 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -12,7 +12,7 @@ using ClosedXML.Excel;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Collections;
//using DocumentFormat.OpenXml.Spreadsheet;
using DocumentFormat.OpenXml.Spreadsheet;
namespace Payroll.BO
{

View File

@ -49,8 +49,7 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="BouncyCastle.Crypto, Version=1.7.4114.6375, Culture=neutral, PublicKeyToken=0e99375e54769942">
<SpecificVersion>False</SpecificVersion>
<Reference Include="BouncyCastle.Crypto">
<HintPath>..\Library\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="ClosedXML">

View File

@ -3067,11 +3067,7 @@ namespace Payroll.BO
enc = (PgpEncryptedDataList)pgpObjF.NextPgpObject();
}
// Replace the following line:
// var akp = new Org.BouncyCastle.Crypto.AsymmetricKeyParameter(true);
// With the following corrected code:
Org.BouncyCastle.Crypto.AsymmetricKeyParameter akp = new Org.BouncyCastle.Crypto.Parameters.RsaKeyParameters(true, null, null);
var akp = new Org.BouncyCastle.Crypto.AsymmetricKeyParameter(true);

View File

@ -3395,286 +3395,6 @@ namespace Payroll.Report
}
form.ShowDlgForPaySlipOverAllSummary(_selectedParameter.ReportItem, PayslipData);
}
public byte[] MailReportWithAccountNoMask(DateTime salaryMonth2, string sEmpID2)
{
DataSet dataSet = null;
DataSet dataSet2 = new DataSet();
_oGratuityParams = ESBDefinition.Get();
Employee employee = null;
ObjectsTemplate<Employee> val = new ObjectsTemplate<Employee>();
val = Employee.Get();
List<Designation> source = (List<Designation>)(object)Designation.Get(EnumStatus.Regardless);
DataRow dataRow = null;
fReportViewer fReportViewer2 = new fReportViewer();
DateTime dateTime = salaryMonth2;
ObjectsTemplate<SalaryProcess> val2 = new ObjectsTemplate<SalaryProcess>();
val2 = SalaryProcess.Get(GlobalFunctions.LastDateOfMonth(dateTime));
dataSet = Employee.GetEmpBasicInfoForPSlipNew(sEmpID2, GlobalFunctions.LastDateOfMonth(dateTime));
if (dataSet != null && dataSet.Tables.Count > 0)
{
DataTable dataTable = dataSet.Tables[0];
foreach (DataRow row2 in dataTable.Rows)
{
string text = row2["AccountNo"].ToString().Trim();
if (text.Length >= 6)
{
string text2 = text.Substring(0, 3);
string text3 = text.Substring(text.Length - 3);
row2["AccountNo"] = text2 + "******" + text3;
}
else
{
row2["AccountNo"] = text;
}
}
}
//PayrollDataSet.PayrollDataSet.PayslipDataTable PayslipData = new Payroll.Report.PayrollDataSet.PayrollDataSet.PayslipDataTable();
//PayrollDataSet.PayrollDataSet.LoanDataDataTable loanDT = new Payroll.Report.PayrollDataSet.PayrollDataSet.LoanDataDataTable();
////bool IsApproved = oSaProcess.GetBySMonth(GlobalFunctions.LastDateOfMonth(salaryMonth));
//DataTable basicInfo = new PayrollDataSet.PayrollDataSet.PayslipBasicInfoDataTable();
DataSet empPaySlipGrossForOthers = SalaryMonthly.GetEmpPaySlipGrossForOthers(GlobalFunctions.LastDateOfMonth(dateTime), sEmpID2);
DataSet empPaySlipDeductForOthers = SalaryMonthly.GetEmpPaySlipDeductForOthers(GlobalFunctions.LastDateOfMonth(dateTime), sEmpID2);
PayrollDataSet.PayrollDataSet.PayslipDataTable payslipDataTable = new PayrollDataSet.PayrollDataSet.PayslipDataTable();
PayrollDataSet.PayrollDataSet.LoanDataDataTable loanDataDataTable = new PayrollDataSet.PayrollDataSet.LoanDataDataTable();
DataTable dataTable2 = new PayrollDataSet.PayrollDataSet.PayslipBasicInfoDataTable();
_dSalaryMonth = GlobalFunctions.LastDateOfMonth(dateTime);
if (val2 != null && ((List<SalaryProcess>)(object)val2).Count > 0 && empPaySlipGrossForOthers.Tables[0].Rows.Count > 0)
{
if (((List<SalaryProcess>)(object)val2)[0].PaymentDate != DateTime.MinValue)
{
_dMonthEndDate = Convert.ToDateTime(((List<SalaryProcess>)(object)val2)[0].PaymentDate);
}
else
{
_dMonthEndDate = DateTime.MinValue;
}
}
foreach (DataRow row3 in empPaySlipGrossForOthers.Tables[0].Rows)
{
double num = Convert.ToDouble(row3["CHANGEDAMOUNT"].ToString());
if (num == 0.0)
{
continue;
}
dataRow = ((Convert.ToInt32(row3["ItemCode"]) != -103) ? GetItem(payslipDataTable, Convert.ToString(row3["EMPLOYEENO"]), (EnumSalaryGroup)Convert.ToInt32(row3["ITEMGROUP"]), (EnumSalaryItemCode)Convert.ToInt32(row3["ItemCode"]), Convert.ToInt32(row3["ItemID"])) : GetItem2(payslipDataTable, Convert.ToString(row3["EMPLOYEENO"]), (EnumSalaryGroup)Convert.ToInt32(row3["ITEMGROUP"]), (EnumSalaryItemCode)Convert.ToInt32(row3["ItemCode"]), Convert.ToInt32(row3["ItemID"]), row3["Description"].ToString().Trim()));
if (dataRow == null)
{
dataRow = payslipDataTable.NewRow();
dataRow = GrossMerge(dataRow, row3);
payslipDataTable.Rows.Add(dataRow);
}
if (Convert.ToInt32(row3["ItemCode"]) == -103)
{
DataRow item = GetItem2(empPaySlipGrossForOthers.Tables[1], Convert.ToString(row3["EMPLOYEENO"]), EnumSalaryGroup.Miscellaneous, EnumSalaryItemCode.Over_Time_Hours, Convert.ToInt32(row3["ItemID"]), row3["Description"].ToString().Replace(" hour", "").Trim());
if (item != null && dataRow["Description"].ToString().IndexOf('[') < 0)
{
DataRow dataRow4 = dataRow;
dataRow4["Description"] = dataRow4["Description"]?.ToString() + " [" + Convert.ToDouble(item["CHANGEDAMOUNT"]).ToString("#") + " Hours]";
}
}
if (Convert.ToInt32(row3["ITEMGROUP"]) == 1)
{
if (dataRow["Earning"].ToString() != "" && Convert.ToInt32(row3["ItemCode"]) != -103)
{
dataRow["Earning"] = Convert.ToDouble(dataRow["Earning"]) + Convert.ToDouble(row3["CHANGEDAMOUNT"]);
}
else
{
dataRow["Earning"] = row3["CHANGEDAMOUNT"];
}
}
if (Convert.ToInt32(row3["ITEMGROUP"]) == 3 && Convert.ToInt32(row3["ITEMID"]) == -128)
{
if (dataRow["Earning"].ToString() != "")
{
dataRow["Earning"] = Convert.ToDouble(dataRow["Earning"]) + Convert.ToDouble(row3["CHANGEDAMOUNT"]);
dataRow["Description"] = "Company PF Contribution";
}
else
{
dataRow["Earning"] = Convert.ToDouble(row3["CHANGEDAMOUNT"]);
dataRow["Description"] = "Company PF Contribution";
}
}
else if (Convert.ToInt32(row3["ITEMGROUP"]) == 8)
{
double num2 = Convert.ToDouble(row3["CHANGEDAMOUNT"].ToString());
dataRow["Arrear"] = num2;
}
else if (Convert.ToInt32(row3["ITEMGROUP"]) == 2)
{
dataRow["unAuthLeave"] = row3["CHANGEDAMOUNT"];
}
}
int num3 = 0;
string text4 = "";
DataRow[] array = null;
if (empPaySlipDeductForOthers.Tables[0].Rows.Count > 0)
{
text4 = empPaySlipDeductForOthers.Tables[0].Rows[0]["EMPLOYEENO"].ToString();
array = payslipDataTable.Select(" EmployeeNo='" + empPaySlipDeductForOthers.Tables[0].Rows[0]["EMPLOYEENO"].ToString() + "'");
}
double num4 = 0.0;
double num5 = 0.0;
string text5 = "";
double num6 = 0.0;
foreach (DataRow odRow in empPaySlipDeductForOthers.Tables[0].Rows)
{
double num7 = Convert.ToDouble(odRow["CHANGEDAMOUNT"].ToString());
if (num7 == 0.0)
{
continue;
}
dataRow = null;
if (text4 != odRow["EMPLOYEENO"].ToString())
{
array = payslipDataTable.Select(" EmployeeNo='" + odRow["EMPLOYEENO"].ToString() + "'");
num3 = 0;
}
if (array.Length <= num3)
{
dataRow = payslipDataTable.NewRow();
dataRow = GrossMerge(dataRow, odRow);
payslipDataTable.Rows.Add(dataRow);
}
else
{
dataRow = array[num3];
}
dataRow["DeducDescription"] = odRow["Description"];
if (Convert.ToInt32(odRow["ITEMGROUP"]) == 3)
{
if (dataRow["DeducDescription"].ToString().ToLower() == "pf contribution")
{
dataRow["DeducAmount"] = Convert.ToDouble(odRow["CHANGEDAMOUNT"]) * 2.0;
}
else
{
dataRow["DeducAmount"] = odRow["CHANGEDAMOUNT"];
}
}
dataRow["DeducDescription"] = odRow["Description"];
if (text5 == "" || text5 != odRow["EMPLOYEENO"].ToString())
{
num6 = 0.0;
num5 = 0.0;
employee = ((List<Employee>)(object)val).Find((Predicate<Employee>)((Employee oEmpItem) => oEmpItem.EmployeeNo == odRow["EMPLOYEENO"].ToString().Trim()));
DataRow[] array2 = empPaySlipDeductForOthers.Tables[0].Select(" ItemCode='" + -128 + "' AND EMPLOYEENO='" + odRow["EMPLOYEENO"].ToString() + "'");
if (array2.Length != 0)
{
DataRow dataRow5 = array2[0];
num6 = Convert.ToDouble(dataRow5["CHANGEDAMOUNT"]) * 2.0;
}
if ((ObjectTemplate)(object)employee != (ObjectTemplate)null)
{
num4 = ((((List<ESBDefinition>)(object)_oGratuityParams).Count <= 0 || _oGratuityParams == null) ? 0.0 : GetGratuityAmount(_oGratuityParams, employee, dateTime));
num5 = GetPFAmount(employee, dateTime);
}
}
dataRow["Gratuity"] = num4;
double num8 = 0.0;
if ((ObjectTemplate)(object)employee != (ObjectTemplate)null)
{
num8 = ServiceYears(GlobalFunctions.LastDateOfMonth(dateTime), employee);
}
if (num8 > 5.0)
{
dataRow["PF"] = num5 + num6;
}
else
{
dataRow["PF"] = num5 + num6;
}
num3++;
text4 = odRow["EMPLOYEENO"].ToString();
text5 = odRow["EMPLOYEENO"].ToString();
}
num3 = 0;
DataSet empPaySlipIncomeTaxAmountForOthers = SalaryMonthly.GetEmpPaySlipIncomeTaxAmountForOthers(GlobalFunctions.LastDateOfMonth(dateTime), sEmpID2);
string text6 = "";
DataRow[] array3 = null;
if (empPaySlipIncomeTaxAmountForOthers.Tables[0].Rows.Count > 0)
{
text6 = empPaySlipIncomeTaxAmountForOthers.Tables[0].Rows[0]["EMPLOYEENO"].ToString();
array3 = payslipDataTable.Select(" EmployeeNo='" + empPaySlipIncomeTaxAmountForOthers.Tables[0].Rows[0]["EMPLOYEENO"].ToString() + "'");
}
foreach (DataRow row4 in empPaySlipIncomeTaxAmountForOthers.Tables[0].Rows)
{
dataRow = null;
if (text6 != row4["EMPLOYEENO"].ToString())
{
array3 = payslipDataTable.Select(" EmployeeNo='" + row4["EMPLOYEENO"].ToString() + "'");
num3 = 0;
}
if (array3.Length > num3)
{
dataRow = array3[num3];
if (Convert.ToInt32(row4["ITEMGROUP"]) == 5 && Convert.ToInt32(row4["ItemCode"]) == -129)
{
dataRow["IncomTaxAmount"] = row4["CHANGEDAMOUNT"];
}
num3++;
text6 = row4["EMPLOYEENO"].ToString();
}
}
num3 = 0;
DataSet empPaySlipDeductForLR = SalaryMonthly.GetEmpPaySlipDeductForLR(GlobalFunctions.LastDateOfMonth(dateTime), sEmpID2);
string text7 = "";
DataRow[] array4 = null;
if (empPaySlipDeductForLR.Tables[0].Rows.Count > 0)
{
text7 = empPaySlipDeductForLR.Tables[0].Rows[0]["EMPLOYEENO"].ToString();
array4 = payslipDataTable.Select(" EmployeeNo='" + empPaySlipDeductForLR.Tables[0].Rows[0]["EMPLOYEENO"].ToString() + "'");
}
foreach (DataRow row5 in empPaySlipDeductForLR.Tables[0].Rows)
{
dataRow = null;
if (text7 != row5["EMPLOYEENO"].ToString())
{
array4 = payslipDataTable.Select(" EmployeeNo='" + row5["EMPLOYEENO"].ToString() + "'");
num3 = 0;
}
if (array4.Length > num3)
{
dataRow = array4[num3];
if (Convert.ToInt32(row5["ITEMGROUP"]) == 4 && Convert.ToInt32(row5["ItemCode"]) == -126)
{
dataRow["LoanDescription"] = row5["Description"];
dataRow["LoanAmount"] = row5["CHANGEDAMOUNT"];
}
num3++;
text7 = row5["EMPLOYEENO"].ToString();
}
}
bool boolValue = ConfigurationManager.GetBoolValue("designation", "desigfromdescriptiontext", EnumConfigurationType.Logic);
foreach (DataRow row in payslipDataTable.Rows)
{
Employee oEmp = ((IEnumerable<Employee>)val).Where((Employee o) => o.EmployeeNo.ToUpper().Trim() == row["EMPLOYEENO"].ToString().ToUpper().Trim()).SingleOrDefault();
if (!((ObjectTemplate)(object)oEmp != (ObjectTemplate)null))
{
continue;
}
if (boolValue)
{
row["Designation"] = oEmp.DescriptionText;
continue;
}
Designation designation = source.Where((Designation o) => ((ObjectTemplate)o).ID == oEmp.DesignationID).SingleOrDefault();
if ((ObjectTemplate)(object)designation != (ObjectTemplate)null)
{
row["Designation"] = designation.Name;
}
}
dataTable2 = dataSet.Tables[0];
dataTable2.TableName = "BasicInfo";
DataSet dataSet3 = new DataSet();
payslipDataTable.TableName = "SalaryMonthlysGross";
dataSet3.Tables.Add(payslipDataTable);
return fReportViewer2.MailNewPaySlip(null, dataTable2, dataSet3, dateTime.ToString("MMMM yyyy"));
}
}
}

View File

@ -7,8 +7,7 @@
<section name="InformationForReportTool" type="Ease.SearchTools.Objects.InformationForReportToolConfigHandler, Ease.SearchTools.Objects"/>
</configSections>
<dbSettings>
<!--<connection name="conn" provider="sql" connectionString="server=cel80;Database=CELPayroll;User ID=CELPayroll;password=4B06094270245E4D5B63" sqlSyntax="SQL"/>-->
<connection name="conn" provider="sql" connectionString="server=103.197.204.164,1718;Database=CELPayrol;User ID=Easeuser;Password=EaSeuSeR2025" sqlSyntax="SQL"/>
<connection name="conn" provider="sql" connectionString="server=;Database=;User ID=;Password=" sqlSyntax="SQL"/>
<!--<connection name="conn" provider="sql" connectionString="server=WIN-D48IJC70V70;Database=GPPayroll;integrated security=yes;" sqlSyntax="SQL"/>-->
</dbSettings>
@ -20,20 +19,7 @@
<add key="GratuityParam" value="Grade"/>
<add key="GratuityParam" value="Grade"/>
<!--<add key="FSSLeaveOnlyBasic" value="no"/>-->
<add key="EERS" value="123456"/>
<add key="WebAddress" value="http://www.celimited.com"/>
<add key="EmailServer" value="celimited.com"/>
<add key="FromAddress" value="fkanak@celimited.com"/>
<add key="UserID" value="fkanak@celimited.com"/>
<add key="Password" value="492E2C40010F5C295D6750"/>
<add key="mailGateway" value="SMTP"/>
<add key="SendMethod" value="SMTP"/>
<add key="EnableSSL" value="No"/>
<add key="PortNumber" value="587"/>
<add key="handleAuditTrail" value="No"/>
<!--<add key="EERS" value="123456"/>
<add key="WebAddress" value="http://www.celimited.com"/>
<add key="mailGateway" value="SMTP" />
<add key="SendMethod" value="SMTP" />
@ -43,7 +29,7 @@
<add key="Password" value="4823074F2F0506582E704159" />
<add key="EnableSSL" value="No" />
<add key="PortNumber" value="25" />
<add key="handleAuditTrail" value="No"/>-->
<add key="handleAuditTrail" value="No"/>
<add key="reportServiceHandler" value="mode=Local;assembly=Ease.SearchTools.Services"/>
<add key="connectionHandler" value="Data Source=CEL60;database=CEL_Huge;integrated security=yes~Ease.Core.DataAccess.SQL.SqlFactory, Ease.Core, Version=1.0.0, Culture=neutral, PublicKeyToken=null~Ease.Core.DataAccess.SQL.SqlHelper, Ease.Core, Version=1.0.0, Culture=neutral, PublicKeyToken=null"/>
<add key="reportConnectionHandler" value="Data Source=CEL60;database=CEL_Huge;integrated security=yes~Ease.Core.DataAccess.SQL.SqlFactory, Ease.Core, Version=1.0.0, Culture=neutral, PublicKeyToken=null~Ease.Core.DataAccess.SQL.SqlHelper, Ease.Core, Version=1.0.0, Culture=neutral, PublicKeyToken=null"/>

View File

@ -64,10 +64,6 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="BouncyCastle.Crypto, Version=1.7.4114.6375, Culture=neutral, PublicKeyToken=0e99375e54769942">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Library\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="ClosedXML, Version=0.76.0.0, Culture=neutral, PublicKeyToken=fd1eb21b62ae805b, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Library\ClosedXML.dll</HintPath>
@ -117,9 +113,6 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Library\ExtendedRichTextBox.dll</HintPath>
</Reference>
<Reference Include="itextsharp">
<HintPath>..\..\Library\itextsharp.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Exchange.WebServices, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Exchange.WebServices.2.2\lib\40\Microsoft.Exchange.WebServices.dll</HintPath>
<Private>True</Private>
@ -160,8 +153,6 @@
</Reference>
<Reference Include="System.Design" />
<Reference Include="System.DirectoryServices" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.Web.Extensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
@ -3506,7 +3497,6 @@
<Content Include="Resource\GStat.png" />
<Content Include="Resource\HeadBack.jpg" />
<Content Include="Resource\Help_48x48.png" />
<Content Include="Resource\home_pano.jpg" />
<Content Include="Resource\Huge.gif" />
<Content Include="Resource\Huge.ico" />
<Content Include="Resource\icon_people.jpg" />

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -32,11 +32,14 @@ namespace Payroll.UI
this.btnSearch = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.ctlDesignation = new Payroll.Controls.ctlCustomControl();
this.ctlCostCenter = new Payroll.Controls.ctlCustomControl();
this.lblCostCenters = new System.Windows.Forms.Label();
this.lblDesignation = new System.Windows.Forms.Label();
this.cboBranch = new System.Windows.Forms.ComboBox();
this.cboBank = new System.Windows.Forms.ComboBox();
this.label19 = new System.Windows.Forms.Label();
this.ctlEmployee = new Payroll.Controls.CustomControls.ctlEmployee();
this.label12 = new System.Windows.Forms.Label();
this.dtpfromDate = new System.Windows.Forms.DateTimePicker();
this.lblFromDate = new System.Windows.Forms.Label();
@ -44,36 +47,31 @@ namespace Payroll.UI
this.label22 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.ctlGrade = new Payroll.Controls.ctlCustomControl();
this.cboGender = new System.Windows.Forms.ComboBox();
this.ctlLocation = new Payroll.Controls.ctlCustomControl();
this.ctlReligion = new Payroll.Controls.ctlCustomControl();
this.ctlCategory = new Payroll.Controls.ctlCustomControl();
this.label9 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.ctlDepartment = new Payroll.Controls.ctlCustomControl();
this.lblSelected = new System.Windows.Forms.Label();
this.lblTotal = new System.Windows.Forms.Label();
this.label14 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.lsvEmployee = new System.Windows.Forms.ListView();
this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colEmpNo = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colEmpEmail = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colName = new System.Windows.Forms.ColumnHeader();
this.colEmpNo = new System.Windows.Forms.ColumnHeader();
this.colEmpEmail = new System.Windows.Forms.ColumnHeader();
this.btnSelectAll = new System.Windows.Forms.Button();
this.btnCLose = new System.Windows.Forms.Button();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.lblEmployee = new System.Windows.Forms.Label();
this.btnSendMail = new System.Windows.Forms.Button();
this.btnGenerate = new System.Windows.Forms.Button();
this.ctlDesignation = new Payroll.Controls.ctlCustomControl();
this.ctlCostCenter = new Payroll.Controls.ctlCustomControl();
this.ctlEmployee = new Payroll.Controls.CustomControls.ctlEmployee();
this.ctlGrade = new Payroll.Controls.ctlCustomControl();
this.ctlLocation = new Payroll.Controls.ctlCustomControl();
this.ctlReligion = new Payroll.Controls.ctlCustomControl();
this.ctlCategory = new Payroll.Controls.ctlCustomControl();
this.ctlDepartment = new Payroll.Controls.ctlCustomControl();
this.btnDownload = new System.Windows.Forms.Button();
this.lblEmployee = new System.Windows.Forms.Label();
this.panel1.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout();
@ -93,7 +91,6 @@ namespace Payroll.UI
//
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel1.Controls.Add(this.groupBox1);
this.panel1.Controls.Add(this.lblEmployee);
this.panel1.Controls.Add(this.lblSelected);
this.panel1.Controls.Add(this.lblTotal);
this.panel1.Controls.Add(this.label14);
@ -142,6 +139,42 @@ namespace Payroll.UI
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Search Condition";
//
// ctlDesignation
//
this.ctlDesignation.BackColor = System.Drawing.Color.Transparent;
this.ctlDesignation.ChildPropertyName = null;
this.ctlDesignation.ControlType = Payroll.BO.EnumCustomBasicControlType.ListView;
this.ctlDesignation.CustomSearchString = null;
this.ctlDesignation.LastLevel = -1;
this.ctlDesignation.Location = new System.Drawing.Point(101, 221);
this.ctlDesignation.MHTire = 0;
this.ctlDesignation.MultipleSelection = true;
this.ctlDesignation.Name = "ctlDesignation";
this.ctlDesignation.OutputType = Payroll.BO.EnumCustomBasicControl.Designation;
this.ctlDesignation.PickerCaption = "Designation";
this.ctlDesignation.PickerHeadLine = "";
this.ctlDesignation.SelectedIDs = null;
this.ctlDesignation.Size = new System.Drawing.Size(229, 24);
this.ctlDesignation.TabIndex = 46;
//
// ctlCostCenter
//
this.ctlCostCenter.BackColor = System.Drawing.Color.Transparent;
this.ctlCostCenter.ChildPropertyName = "PickerChilds";
this.ctlCostCenter.ControlType = Payroll.BO.EnumCustomBasicControlType.TreeView;
this.ctlCostCenter.CustomSearchString = null;
this.ctlCostCenter.LastLevel = -1;
this.ctlCostCenter.Location = new System.Drawing.Point(402, 221);
this.ctlCostCenter.MHTire = 0;
this.ctlCostCenter.MultipleSelection = true;
this.ctlCostCenter.Name = "ctlCostCenter";
this.ctlCostCenter.OutputType = Payroll.BO.EnumCustomBasicControl.CostCenter;
this.ctlCostCenter.PickerCaption = "Cost-Center";
this.ctlCostCenter.PickerHeadLine = "";
this.ctlCostCenter.SelectedIDs = null;
this.ctlCostCenter.Size = new System.Drawing.Size(211, 24);
this.ctlCostCenter.TabIndex = 45;
//
// lblCostCenters
//
this.lblCostCenters.AutoSize = true;
@ -196,6 +229,16 @@ namespace Payroll.UI
this.label19.TabIndex = 30;
this.label19.Text = "Employee";
//
// ctlEmployee
//
this.ctlEmployee.EmployeeNo = "";
this.ctlEmployee.Grades = null;
this.ctlEmployee.Location = new System.Drawing.Point(101, 264);
this.ctlEmployee.Name = "ctlEmployee";
this.ctlEmployee.SelectedEmployee = null;
this.ctlEmployee.Size = new System.Drawing.Size(507, 27);
this.ctlEmployee.TabIndex = 28;
//
// label12
//
this.label12.AutoSize = true;
@ -204,7 +247,7 @@ namespace Payroll.UI
this.label12.Size = new System.Drawing.Size(595, 13);
this.label12.TabIndex = 27;
this.label12.Text = "_________________________________________________________________________________" +
"_________________";
"_________________";
//
// dtpfromDate
//
@ -259,251 +302,7 @@ namespace Payroll.UI
this.label11.Size = new System.Drawing.Size(595, 13);
this.label11.TabIndex = 21;
this.label11.Text = "_________________________________________________________________________________" +
"_________________";
//
// cboGender
//
this.cboGender.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cboGender.FormattingEnabled = true;
this.cboGender.Items.AddRange(new object[] {
"Regardless",
"Male",
"Female"});
this.cboGender.Location = new System.Drawing.Point(101, 192);
this.cboGender.Name = "cboGender";
this.cboGender.Size = new System.Drawing.Size(229, 21);
this.cboGender.TabIndex = 18;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(12, 107);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(49, 13);
this.label9.TabIndex = 10;
this.label9.Text = "Category";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(339, 163);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(48, 13);
this.label8.TabIndex = 9;
this.label8.Text = "Location";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(339, 195);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(36, 13);
this.label6.TabIndex = 7;
this.label6.Text = "Grade";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(12, 195);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(42, 13);
this.label5.TabIndex = 6;
this.label5.Text = "Gender";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(12, 158);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(45, 13);
this.label4.TabIndex = 5;
this.label4.Text = "Religion";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 135);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(62, 13);
this.label1.TabIndex = 2;
this.label1.Text = "Department";
//
// lblSelected
//
this.lblSelected.AutoSize = true;
this.lblSelected.Location = new System.Drawing.Point(886, 411);
this.lblSelected.Name = "lblSelected";
this.lblSelected.Size = new System.Drawing.Size(13, 13);
this.lblSelected.TabIndex = 8;
this.lblSelected.Text = "0";
this.lblSelected.Visible = false;
//
// lblTotal
//
this.lblTotal.AutoSize = true;
this.lblTotal.Location = new System.Drawing.Point(786, 411);
this.lblTotal.Name = "lblTotal";
this.lblTotal.Size = new System.Drawing.Size(13, 13);
this.lblTotal.TabIndex = 8;
this.lblTotal.Text = "0";
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(831, 411);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(49, 13);
this.label14.TabIndex = 7;
this.label14.Text = "Selected";
this.label14.Visible = false;
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(749, 411);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(31, 13);
this.label13.TabIndex = 7;
this.label13.Text = "Total";
//
// lsvEmployee
//
this.lsvEmployee.CheckBoxes = true;
this.lsvEmployee.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colName,
this.colEmpNo,
this.colEmpEmail});
this.lsvEmployee.FullRowSelect = true;
this.lsvEmployee.GridLines = true;
this.lsvEmployee.HideSelection = false;
this.lsvEmployee.Location = new System.Drawing.Point(661, 3);
this.lsvEmployee.Name = "lsvEmployee";
this.lsvEmployee.Size = new System.Drawing.Size(245, 391);
this.lsvEmployee.TabIndex = 6;
this.lsvEmployee.UseCompatibleStateImageBehavior = false;
this.lsvEmployee.View = System.Windows.Forms.View.Details;
//
// colName
//
this.colName.Text = "Name";
this.colName.Width = 114;
//
// colEmpNo
//
this.colEmpNo.Text = "Emp No";
this.colEmpNo.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
//
// colEmpEmail
//
this.colEmpEmail.Text = "Email";
this.colEmpEmail.Width = 100;
//
// btnSelectAll
//
this.btnSelectAll.Location = new System.Drawing.Point(664, 404);
this.btnSelectAll.Name = "btnSelectAll";
this.btnSelectAll.Size = new System.Drawing.Size(75, 27);
this.btnSelectAll.TabIndex = 3;
this.btnSelectAll.Text = "&Select All";
this.btnSelectAll.UseVisualStyleBackColor = true;
this.btnSelectAll.Click += new System.EventHandler(this.btnSelectAll_Click);
//
// btnCLose
//
this.btnCLose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCLose.Location = new System.Drawing.Point(815, 14);
this.btnCLose.Name = "btnCLose";
this.btnCLose.Size = new System.Drawing.Size(75, 27);
this.btnCLose.TabIndex = 9;
this.btnCLose.Text = "&Close";
this.btnCLose.UseVisualStyleBackColor = true;
//
// groupBox3
//
this.groupBox3.Controls.Add(this.btnDownload);
this.groupBox3.Controls.Add(this.btnGenerate);
this.groupBox3.Controls.Add(this.btnCLose);
this.groupBox3.Controls.Add(this.btnSendMail);
this.groupBox3.Location = new System.Drawing.Point(9, 457);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(910, 48);
this.groupBox3.TabIndex = 28;
this.groupBox3.TabStop = false;
//
// lblEmployee
//
this.lblEmployee.AutoSize = true;
this.lblEmployee.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblEmployee.Location = new System.Drawing.Point(18, 411);
this.lblEmployee.Name = "lblEmployee";
this.lblEmployee.Size = new System.Drawing.Size(0, 13);
this.lblEmployee.TabIndex = 11;
//
// btnSendMail
//
this.btnSendMail.Location = new System.Drawing.Point(15, 14);
this.btnSendMail.Name = "btnSendMail";
this.btnSendMail.Size = new System.Drawing.Size(75, 27);
this.btnSendMail.TabIndex = 10;
this.btnSendMail.Text = "Send Mail";
this.btnSendMail.UseVisualStyleBackColor = true;
this.btnSendMail.Click += new System.EventHandler(this.btnSendMail_Click);
//
// btnGenerate
//
this.btnGenerate.Location = new System.Drawing.Point(96, 14);
this.btnGenerate.Name = "btnGenerate";
this.btnGenerate.Size = new System.Drawing.Size(75, 27);
this.btnGenerate.TabIndex = 12;
this.btnGenerate.Text = "Generate";
this.btnGenerate.UseVisualStyleBackColor = true;
this.btnGenerate.Click += new System.EventHandler(this.btnGenerate_Click);
//
// ctlDesignation
//
this.ctlDesignation.BackColor = System.Drawing.Color.Transparent;
this.ctlDesignation.ChildPropertyName = null;
this.ctlDesignation.ControlType = Payroll.BO.EnumCustomBasicControlType.ListView;
this.ctlDesignation.CustomSearchString = null;
this.ctlDesignation.LastLevel = -1;
this.ctlDesignation.Location = new System.Drawing.Point(101, 221);
this.ctlDesignation.MHTire = 0;
this.ctlDesignation.MultipleSelection = true;
this.ctlDesignation.Name = "ctlDesignation";
this.ctlDesignation.OutputType = Payroll.BO.EnumCustomBasicControl.Designation;
this.ctlDesignation.PickerCaption = "Designation";
this.ctlDesignation.PickerHeadLine = "";
this.ctlDesignation.SelectedIDs = null;
this.ctlDesignation.Size = new System.Drawing.Size(229, 24);
this.ctlDesignation.TabIndex = 46;
//
// ctlCostCenter
//
this.ctlCostCenter.BackColor = System.Drawing.Color.Transparent;
this.ctlCostCenter.ChildPropertyName = "PickerChilds";
this.ctlCostCenter.ControlType = Payroll.BO.EnumCustomBasicControlType.TreeView;
this.ctlCostCenter.CustomSearchString = null;
this.ctlCostCenter.LastLevel = -1;
this.ctlCostCenter.Location = new System.Drawing.Point(402, 221);
this.ctlCostCenter.MHTire = 0;
this.ctlCostCenter.MultipleSelection = true;
this.ctlCostCenter.Name = "ctlCostCenter";
this.ctlCostCenter.OutputType = Payroll.BO.EnumCustomBasicControl.CostCenter;
this.ctlCostCenter.PickerCaption = "Cost-Center";
this.ctlCostCenter.PickerHeadLine = "";
this.ctlCostCenter.SelectedIDs = null;
this.ctlCostCenter.Size = new System.Drawing.Size(211, 24);
this.ctlCostCenter.TabIndex = 45;
//
// ctlEmployee
//
this.ctlEmployee.EmployeeNo = "";
this.ctlEmployee.Grades = null;
this.ctlEmployee.Location = new System.Drawing.Point(101, 264);
this.ctlEmployee.Name = "ctlEmployee";
this.ctlEmployee.SelectedEmployee = null;
this.ctlEmployee.Size = new System.Drawing.Size(507, 27);
this.ctlEmployee.TabIndex = 28;
"_________________";
//
// ctlGrade
//
@ -523,6 +322,19 @@ namespace Payroll.UI
this.ctlGrade.Size = new System.Drawing.Size(211, 24);
this.ctlGrade.TabIndex = 19;
//
// cboGender
//
this.cboGender.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cboGender.FormattingEnabled = true;
this.cboGender.Items.AddRange(new object[] {
"Regardless",
"Male",
"Female"});
this.cboGender.Location = new System.Drawing.Point(101, 192);
this.cboGender.Name = "cboGender";
this.cboGender.Size = new System.Drawing.Size(229, 21);
this.cboGender.TabIndex = 18;
//
// ctlLocation
//
this.ctlLocation.BackColor = System.Drawing.Color.Transparent;
@ -577,6 +389,60 @@ namespace Payroll.UI
this.ctlCategory.Size = new System.Drawing.Size(229, 22);
this.ctlCategory.TabIndex = 11;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(12, 107);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(49, 13);
this.label9.TabIndex = 10;
this.label9.Text = "Category";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(339, 163);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(48, 13);
this.label8.TabIndex = 9;
this.label8.Text = "Location";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(339, 195);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(36, 13);
this.label6.TabIndex = 7;
this.label6.Text = "Grade";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(12, 195);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(42, 13);
this.label5.TabIndex = 6;
this.label5.Text = "Gender";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(12, 158);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(45, 13);
this.label4.TabIndex = 5;
this.label4.Text = "Religion";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 135);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(62, 13);
this.label1.TabIndex = 2;
this.label1.Text = "Department";
//
// ctlDepartment
//
this.ctlDepartment.BackColor = System.Drawing.Color.Transparent;
@ -595,16 +461,124 @@ namespace Payroll.UI
this.ctlDepartment.Size = new System.Drawing.Size(229, 22);
this.ctlDepartment.TabIndex = 0;
//
// btnDownload
// lblSelected
//
this.btnDownload.Location = new System.Drawing.Point(177, 14);
this.btnDownload.Name = "btnDownload";
this.btnDownload.Size = new System.Drawing.Size(75, 27);
this.btnDownload.TabIndex = 13;
this.btnDownload.Text = "Download";
this.btnDownload.UseVisualStyleBackColor = true;
this.btnDownload.Visible = false;
this.btnDownload.Click += new System.EventHandler(this.btnDownload_Click);
this.lblSelected.AutoSize = true;
this.lblSelected.Location = new System.Drawing.Point(886, 411);
this.lblSelected.Name = "lblSelected";
this.lblSelected.Size = new System.Drawing.Size(13, 13);
this.lblSelected.TabIndex = 8;
this.lblSelected.Text = "0";
this.lblSelected.Visible = false;
//
// lblTotal
//
this.lblTotal.AutoSize = true;
this.lblTotal.Location = new System.Drawing.Point(786, 411);
this.lblTotal.Name = "lblTotal";
this.lblTotal.Size = new System.Drawing.Size(13, 13);
this.lblTotal.TabIndex = 8;
this.lblTotal.Text = "0";
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(831, 411);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(49, 13);
this.label14.TabIndex = 7;
this.label14.Text = "Selected";
this.label14.Visible = false;
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(749, 411);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(31, 13);
this.label13.TabIndex = 7;
this.label13.Text = "Total";
//
// lsvEmployee
//
this.lsvEmployee.CheckBoxes = true;
this.lsvEmployee.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colName,
this.colEmpNo,
this.colEmpEmail});
this.lsvEmployee.FullRowSelect = true;
this.lsvEmployee.GridLines = true;
this.lsvEmployee.Location = new System.Drawing.Point(661, 3);
this.lsvEmployee.Name = "lsvEmployee";
this.lsvEmployee.Size = new System.Drawing.Size(245, 391);
this.lsvEmployee.TabIndex = 6;
this.lsvEmployee.UseCompatibleStateImageBehavior = false;
this.lsvEmployee.View = System.Windows.Forms.View.Details;
//
// colName
//
this.colName.Text = "Name";
this.colName.Width = 114;
//
// colEmpNo
//
this.colEmpNo.Text = "Emp No";
this.colEmpNo.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
//
// colEmpEmail
//
this.colEmpEmail.Text = "Email";
this.colEmpEmail.Width = 100;
//
// btnSelectAll
//
this.btnSelectAll.Location = new System.Drawing.Point(664, 404);
this.btnSelectAll.Name = "btnSelectAll";
this.btnSelectAll.Size = new System.Drawing.Size(75, 27);
this.btnSelectAll.TabIndex = 3;
this.btnSelectAll.Text = "&Select All";
this.btnSelectAll.UseVisualStyleBackColor = true;
this.btnSelectAll.Click += new System.EventHandler(this.btnSelectAll_Click);
//
// btnCLose
//
this.btnCLose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCLose.Location = new System.Drawing.Point(815, 14);
this.btnCLose.Name = "btnCLose";
this.btnCLose.Size = new System.Drawing.Size(75, 27);
this.btnCLose.TabIndex = 9;
this.btnCLose.Text = "&Close";
this.btnCLose.UseVisualStyleBackColor = true;
//
// groupBox3
//
this.groupBox3.Controls.Add(this.lblEmployee);
this.groupBox3.Controls.Add(this.btnCLose);
this.groupBox3.Controls.Add(this.btnSendMail);
this.groupBox3.Location = new System.Drawing.Point(9, 457);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(910, 48);
this.groupBox3.TabIndex = 28;
this.groupBox3.TabStop = false;
//
// btnSendMail
//
this.btnSendMail.Location = new System.Drawing.Point(15, 14);
this.btnSendMail.Name = "btnSendMail";
this.btnSendMail.Size = new System.Drawing.Size(75, 27);
this.btnSendMail.TabIndex = 10;
this.btnSendMail.Text = "Send Mail";
this.btnSendMail.UseVisualStyleBackColor = true;
this.btnSendMail.Click += new System.EventHandler(this.btnSendMail_Click);
//
// lblEmployee
//
this.lblEmployee.AutoSize = true;
this.lblEmployee.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblEmployee.Location = new System.Drawing.Point(125, 21);
this.lblEmployee.Name = "lblEmployee";
this.lblEmployee.Size = new System.Drawing.Size(0, 13);
this.lblEmployee.TabIndex = 11;
//
// fPayslipSendMail
//
@ -627,6 +601,7 @@ namespace Payroll.UI
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.ResumeLayout(false);
}
@ -676,7 +651,6 @@ namespace Payroll.UI
private System.Windows.Forms.Button btnSendMail;
private System.Windows.Forms.ColumnHeader colEmpEmail;
private System.Windows.Forms.Label lblEmployee;
private System.Windows.Forms.Button btnGenerate;
private System.Windows.Forms.Button btnDownload;
}
}

View File

@ -1,19 +1,19 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Ease.CoreV35.Model;
using iTextSharp.text.pdf;
//using Ease.CoreV35.Utility;
using Payroll.BO;
using Ease.CoreV35.Model;
using Payroll.Controls;
using Payroll.Controls.CustomControls;
using Payroll.Report;
using System.Reflection;
using System.Net.Mail;
using System.IO.Compression;
using System.IO;
namespace Payroll.UI
{
@ -95,241 +95,118 @@ namespace Payroll.UI
}
return true;
}
private void PrepareReport()
{
MailSender mailSender = new MailSender();
MailSender oMailSender = new MailSender();
_ToSendEmps = new ObjectsTemplate<SearchEmployee>();
lblEmployee.Text = "";
lblEmployee.Refresh();
PaySlip paySlip = new PaySlip();
if ((ObjectTemplate)(object)ctlEmployee.SelectedEmployee != (ObjectTemplate)null)
PaySlip _payslip = new PaySlip();
if (ctlEmployee.SelectedEmployee != null)
{
((List<SearchEmployee>)(object)_ToSendEmps).Add(ctlEmployee.SelectedEmployee);
_ToSendEmps.Add((SearchEmployee)ctlEmployee.SelectedEmployee);
}
else if (lsvEmployee.CheckedItems.Count > 0)
{
int num = 0;
foreach (ListViewItem checkedItem in lsvEmployee.CheckedItems)
int index = 0;
foreach (ListViewItem item in lsvEmployee.CheckedItems)
{
((List<SearchEmployee>)(object)_ToSendEmps).Add((SearchEmployee)lsvEmployee.CheckedItems[num++].Tag);
_ToSendEmps.Add((SearchEmployee)lsvEmployee.CheckedItems[index++].Tag);
}
}
if (((List<SearchEmployee>)(object)_ToSendEmps).Count <= 0)
if (_ToSendEmps.Count > 0)
{
return;
}
string empty = string.Empty;
string empty2 = string.Empty;
byte[] array = null;
int num2 = 0;
try
{
Cursor = Cursors.WaitCursor;
EnumSendMail enumSendMail = EnumSendMail.None;
foreach (SearchEmployee item in (List<SearchEmployee>)(object)_ToSendEmps)
string path = string.Empty;
string filename = string.Empty;
byte[] filetoSendBytes = null;
int count = 0;
try
{
if (string.IsNullOrWhiteSpace(item.Employee.MobileNo))
this.Cursor = Cursors.WaitCursor;
EnumSendMail sendMail = EnumSendMail.None;
foreach (SearchEmployee item in _ToSendEmps)
{
MessageBox.Show($"{item.Employee.Name} ({item.Employee.EmployeeNo}) does not have a phone number. Email sending was skipped.");
continue;
}
Label label = lblEmployee;
int num3 = ++num2;
label.Text = "Sending Mail :" + num3 + "/" + ((List<SearchEmployee>)(object)_ToSendEmps).Count;
lblEmployee.Refresh();
array = ((_Type != 1) ? paySlip.SKFExpencesPaySlip1(dtpfromDate.Value, item.EmployeeID.Integer.ToString()) : paySlip.MailReportWithAccountNoMask(dtpfromDate.Value, item.EmployeeID.Integer.ToString()));
if (array == null)
{
continue;
}
if (!Directory.Exists(Application.StartupPath + "\\Report"))
{
DirectoryInfo directoryInfo = new DirectoryInfo(Application.StartupPath + "\\Report");
directoryInfo.Create();
}
empty = string.Concat(str2: (_Type != 1) ? ("Expense_" + item.EmployeeNo + "-" + dtpfromDate.Value.Month + "-" + dtpfromDate.Value.Year + "_" + DateTime.Now.ToString("hh_mm_ss") + ".pdf") : ("Payslip_" + item.EmployeeNo + "-" + dtpfromDate.Value.Month + "-" + dtpfromDate.Value.Year + "_" + DateTime.Now.ToString("hh_mm_ss") + ".pdf"), str0: Application.StartupPath, str1: "\\Report\\");
using (FileStream fileStream = new FileStream(empty, FileMode.Create))
{
fileStream.Write(array, 0, array.Length);
fileStream.Dispose();
}
lblEmployee.Text = "Sending Mail :" + (++count).ToString() + "/" + _ToSendEmps.Count;
lblEmployee.Refresh();
if(_Type==1)
filetoSendBytes = _payslip.MailReport(dtpfromDate.Value, item.EmployeeID.Integer.ToString());
else
filetoSendBytes = _payslip.SKFExpencesPaySlip1(dtpfromDate.Value, item.EmployeeID.Integer.ToString());
//string employeeNo = item.Employee.EmployeeNo;
//string text = ((employeeNo.Length >= 3) ? employeeNo.Substring(employeeNo.Length - 3) : employeeNo.PadLeft(3, '0'));
//Encrypt PDF with last 4 digit of mobile no
string phoneNo = item.Employee.MobileNo;
string text = ((phoneNo.Length >= 4) ? phoneNo.Substring(phoneNo.Length - 4) : phoneNo.PadLeft(4, '0'));
using (MemoryStream memoryStream = new MemoryStream(array))
{
PdfReader val = new PdfReader((Stream)memoryStream);
try
if (filetoSendBytes != null)
{
// Replace the following line:
//using FileStream fileStream2 = new FileStream(empty, FileMode.Create);
using (FileStream fileStream2 = new FileStream(empty, FileMode.Create))
if (!Directory.Exists(Application.StartupPath + @"\Report"))
{
PdfEncryptor.Encrypt(val, (Stream)fileStream2, 2, text, (string)null, 2052);
DirectoryInfo dirInfo = new DirectoryInfo(Application.StartupPath + @"\Report");
dirInfo.Create();
}
//PdfEncryptor.Encrypt(val, (Stream)fileStream2, 2, text, (string)null, 2052);
}
finally
{
((IDisposable)val)?.Dispose();
}
}
item.Email = item.Employee.EmailAddress;
enumSendMail = SendMail(item, empty, _Type);
switch (enumSendMail)
{
case EnumSendMail.ToMissing:
MessageBox.Show("Employee mail address is missing", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Hand);
break;
case EnumSendMail.FromMissing:
MessageBox.Show("Missing from address", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Hand);
break;
case EnumSendMail.BodyMissing:
MessageBox.Show("Missing mail body", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Hand);
break;
case EnumSendMail.SubjectMissing:
MessageBox.Show("Mail subject is missing", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Hand);
break;
case EnumSendMail.ServerNotFound:
MessageBox.Show("Server not found", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Hand);
break;
case EnumSendMail.SendError:
MessageBox.Show("Sending Mail Error", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Hand);
break;
}
}
if (enumSendMail == EnumSendMail.SuccessFullySend)
{
lblEmployee.Text = string.Empty;
lblEmployee.Refresh();
MessageBox.Show("Mail Sent Successfully", "Payslip", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
Cursor = Cursors.Default;
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message, "Error Sending Mail", MessageBoxButtons.OK, MessageBoxIcon.Hand);
lblEmployee.Text = string.Empty;
lblEmployee.Refresh();
Cursor = Cursors.Default;
}
}
//private void PrepareReport()
//{
// MailSender oMailSender = new MailSender();
// _ToSendEmps = new ObjectsTemplate<SearchEmployee>();
if (_Type == 1)
filename = "Payslip_"+item.EmployeeNo + "-" + dtpfromDate.Value.Month + "-" + dtpfromDate.Value.Year+"_"+DateTime.Now.ToString("hh_mm_ss") + ".pdf";
else
filename = "Expense_" + item.EmployeeNo + "-" + dtpfromDate.Value.Month + "-" + dtpfromDate.Value.Year + "_" + DateTime.Now.ToString("hh_mm_ss") + ".pdf";
path = Application.StartupPath + @"\Report\" + filename;
// lblEmployee.Text = "";
// lblEmployee.Refresh();
// PaySlip _payslip = new PaySlip();
// if (ctlEmployee.SelectedEmployee != null)
// {
// _ToSendEmps.Add((SearchEmployee)ctlEmployee.SelectedEmployee);
// }
// else if (lsvEmployee.CheckedItems.Count > 0)
// {
// int index = 0;
// foreach (ListViewItem item in lsvEmployee.CheckedItems)
// {
// _ToSendEmps.Add((SearchEmployee)lsvEmployee.CheckedItems[index++].Tag);
// }
// }
using (FileStream fs = new FileStream(path, FileMode.Create))
{
fs.Write(filetoSendBytes, 0, filetoSendBytes.Length);
fs.Dispose();
}
item.Email = item.Employee.EmailAddress;
sendMail = SendMail(item, path,_Type);
// if (_ToSendEmps.Count > 0)
// {
// string path = string.Empty;
// string filename = string.Empty;
// byte[] filetoSendBytes = null;
// int count = 0;
// try
// {
// this.Cursor = Cursors.WaitCursor;
// EnumSendMail sendMail = EnumSendMail.None;
// foreach (SearchEmployee item in _ToSendEmps)
// {
// lblEmployee.Text = "Sending Mail :" + (++count).ToString() + "/" + _ToSendEmps.Count;
// lblEmployee.Refresh();
// if(_Type==1)
// filetoSendBytes = _payslip.MailReport(dtpfromDate.Value, item.EmployeeID.Integer.ToString());
// else
// filetoSendBytes = _payslip.SKFExpencesPaySlip1(dtpfromDate.Value, item.EmployeeID.Integer.ToString());
switch (sendMail)
{
case EnumSendMail.ToMissing:
MessageBox.Show("Employee mail address is missing", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
case EnumSendMail.FromMissing:
MessageBox.Show("Missing from address", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
case EnumSendMail.BodyMissing:
MessageBox.Show("Missing mail body", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
case EnumSendMail.SubjectMissing:
MessageBox.Show("Mail subject is missing", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
case EnumSendMail.ServerNotFound:
MessageBox.Show("Server not found", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
case EnumSendMail.SendError:
MessageBox.Show("Sending Mail Error", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
// if (filetoSendBytes != null)
// {
// if (!Directory.Exists(Application.StartupPath + @"\Report"))
// {
// DirectoryInfo dirInfo = new DirectoryInfo(Application.StartupPath + @"\Report");
// dirInfo.Create();
// }
// if (_Type == 1)
// filename = "Payslip_"+item.EmployeeNo + "-" + dtpfromDate.Value.Month + "-" + dtpfromDate.Value.Year+"_"+DateTime.Now.ToString("hh_mm_ss") + ".pdf";
// else
// filename = "Expense_" + item.EmployeeNo + "-" + dtpfromDate.Value.Month + "-" + dtpfromDate.Value.Year + "_" + DateTime.Now.ToString("hh_mm_ss") + ".pdf";
// path = Application.StartupPath + @"\Report\" + filename;
// using (FileStream fs = new FileStream(path, FileMode.Create))
// {
// fs.Write(filetoSendBytes, 0, filetoSendBytes.Length);
// fs.Dispose();
// }
// item.Email = item.Employee.EmailAddress;
// sendMail = SendMail(item, path,_Type);
// switch (sendMail)
// {
// case EnumSendMail.ToMissing:
// MessageBox.Show("Employee mail address is missing", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
// break;
// case EnumSendMail.FromMissing:
// MessageBox.Show("Missing from address", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
// break;
// case EnumSendMail.BodyMissing:
// MessageBox.Show("Missing mail body", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
// break;
// case EnumSendMail.SubjectMissing:
// MessageBox.Show("Mail subject is missing", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
// break;
// case EnumSendMail.ServerNotFound:
// MessageBox.Show("Server not found", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
// break;
// case EnumSendMail.SendError:
// MessageBox.Show("Sending Mail Error", item.EmployeeNo, MessageBoxButtons.OK, MessageBoxIcon.Error);
// break;
// default:
// break;
// }
default:
break;
}
// }
// }
}
}
// if (sendMail == EnumSendMail.SuccessFullySend)
// {
// lblEmployee.Text = string.Empty;
// lblEmployee.Refresh();
// MessageBox.Show("Mail Sent Successfully", "Payslip", MessageBoxButtons.OK, MessageBoxIcon.Information);
if (sendMail == EnumSendMail.SuccessFullySend)
{
lblEmployee.Text = string.Empty;
lblEmployee.Refresh();
MessageBox.Show("Mail Sent Successfully", "Payslip", MessageBoxButtons.OK, MessageBoxIcon.Information);
// }
// this.Cursor = Cursors.Default;
// }
// catch (Exception ex)
// {
// MessageBox.Show(this, ex.Message, "Error Sending Mail", MessageBoxButtons.OK, MessageBoxIcon.Error);
// lblEmployee.Text = string.Empty;
// lblEmployee.Refresh();
// this.Cursor = Cursors.Default;
// }
}
this.Cursor = Cursors.Default;
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message, "Error Sending Mail", MessageBoxButtons.OK, MessageBoxIcon.Error);
lblEmployee.Text = string.Empty;
lblEmployee.Refresh();
this.Cursor = Cursors.Default;
}
// }
//}
}
}
private EnumSendMail SendMail(SearchEmployee item, string sPath,int nType)
{
@ -355,8 +232,7 @@ namespace Payroll.UI
sb.AppendLine("Dear " + item.Name + "<br/><br/>");
sb.AppendLine("Attached your pay slip of " + dtpfromDate.Value.ToString("MMMM yyyy") + "." + "<br/><br/>");
sb.AppendLine("If you have any query, please contact :" + "<br/><br/>");
sb.AppendLine("Md. Showkat Hossain, Mobile-01711679640, email: fkanak@celimited.com" + "<br/><br/>");
sb.AppendLine("<b>Note:</b><br/><b>***Please use the last four digits of your mobile number, that you have shared with us, as the password to open the pay-slip</b>" + "<br/>");
sb.AppendLine("Md. Showkat Hossain, Mobile-01711679640, email: fkanak@celimited.com" + "<br/>");
MS.Body = sb.ToString();
}
//else if (nType == 2)
@ -388,7 +264,7 @@ namespace Payroll.UI
return MS.SendMail();
}
#endregion
#region Events
@ -486,407 +362,42 @@ namespace Payroll.UI
lblSelected.Text = "0";
}
//private void btnSendMail_Click(object sender, EventArgs e)
//{
// DirectoryInfo dirInfo = null;
// try
// {
// dirInfo = new DirectoryInfo(Application.StartupPath + @"\Report");
// if (!Directory.Exists(Application.StartupPath + @"\Report"))
// {
// dirInfo.Create();
// }
// else // For Fail Safe Check. Do not remove this 'else' block
// {
// dirInfo.Delete(true);
// dirInfo.Create();
// }
// if (Validation())
// {
// PrepareReport();
// }
// }
// catch (Exception exp)
// {
// throw new Exception(exp.Message);
// }
// finally
// {
// if (dirInfo != null)
// dirInfo.Delete(true);
// }
//}
private void btnSendMail_Click(object sender, EventArgs e)
{
DirectoryInfo dirInfo = null;
string reportPath = Application.StartupPath + @"\Report";
try
{
dirInfo = new DirectoryInfo(reportPath);
if (!dirInfo.Exists)
dirInfo = new DirectoryInfo(Application.StartupPath + @"\Report");
if (!Directory.Exists(Application.StartupPath + @"\Report"))
{
dirInfo.Create();
}
else
else // For Fail Safe Check. Do not remove this 'else' block
{
// Clean contents, not directory
foreach (FileInfo file in dirInfo.GetFiles()) file.Delete();
foreach (DirectoryInfo subDir in dirInfo.GetDirectories()) subDir.Delete(true);
dirInfo.Delete(true);
dirInfo.Create();
}
if (Validation())
{
PrepareReport(); // <-- Generate PDF and Send Mail
PrepareReport();
}
// IMPORTANT: Delete only after everything is closed
foreach (FileInfo file in dirInfo.GetFiles()) file.Delete();
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}
}
#endregion
private void btnGenerate_Click(object sender, EventArgs e)
{
try
{
using (FolderBrowserDialog folderDialog = new FolderBrowserDialog())
{
folderDialog.Description = "Select folder to generate payslips";
folderDialog.ShowNewFolderButton = true;
if (folderDialog.ShowDialog() != DialogResult.OK)
return;
Cursor = Cursors.WaitCursor;
string basePath = folderDialog.SelectedPath;
int year = dtpfromDate.Value.Year;
int month = dtpfromDate.Value.Month;
PaySlip paySlip = new PaySlip();
List<SearchEmployee> employees = new List<SearchEmployee>();
if ((ObjectTemplate)(object)ctlEmployee.SelectedEmployee != null)
{
employees.Add(ctlEmployee.SelectedEmployee);
}
else if (lsvEmployee.CheckedItems.Count > 0)
{
foreach (ListViewItem item in lsvEmployee.CheckedItems)
{
employees.Add((SearchEmployee)item.Tag);
}
}
if (employees.Count == 0)
{
MessageBox.Show("No employee selected.", "Generate Payslip",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int count = 0;
foreach (SearchEmployee emp in employees)
{
lblEmployee.Text = $"Generating Payslip : {++count}/{employees.Count}";
lblEmployee.Refresh();
byte[] pdfBytes = (_Type != 1)
? paySlip.SKFExpencesPaySlip1(dtpfromDate.Value, emp.EmployeeID.Integer.ToString())
: paySlip.MailReportWithAccountNoMask(dtpfromDate.Value, emp.EmployeeID.Integer.ToString());
if (pdfBytes == null)
continue;
// ✅ FILE NAME: ID-Year-Month.pdf
string fileName = string.Format(
"{0}-{1}-{2}.pdf",
emp.Employee.EmployeeNo,
year,
month.ToString("00")
);
string filePath = Path.Combine(basePath, fileName);
string phoneNo = emp.Employee.MobileNo ?? "";
string password = phoneNo.Length >= 4
? phoneNo.Substring(phoneNo.Length - 4)
: phoneNo.PadLeft(4, '0');
using (MemoryStream ms = new MemoryStream(pdfBytes))
using (PdfReader reader = new PdfReader(ms))
using (FileStream fs = new FileStream(filePath, FileMode.Create))
{
PdfEncryptor.Encrypt(
reader,
fs,
true,
password,
null,
2052
);
}
}
lblEmployee.Text = string.Empty;
MessageBox.Show("Payslips generated successfully.", "Payslip",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error Generating Payslip",
MessageBoxButtons.OK, MessageBoxIcon.Error);
throw new Exception(exp.Message);
}
finally
{
Cursor = Cursors.Default;
if (dirInfo != null)
dirInfo.Delete(true);
}
//try
//{
// Cursor = Cursors.WaitCursor;
// // Salary month/year from date picker
// int year = dtpfromDate.Value.Year;
// int month = dtpfromDate.Value.Month;
// // Base report path
// string basePath = Path.Combine(Application.StartupPath, "PaySlipReport");
// string yearPath = Path.Combine(basePath, year.ToString());
// string monthPath = Path.Combine(yearPath, month.ToString("00"));
// // Create directories if not exists
// Directory.CreateDirectory(monthPath);
// PaySlip paySlip = new PaySlip();
// List<SearchEmployee> employees = new List<SearchEmployee>();
// // Selected employee
// if ((ObjectTemplate)(object)ctlEmployee.SelectedEmployee != null)
// {
// employees.Add(ctlEmployee.SelectedEmployee);
// }
// // Checked employees
// else if (lsvEmployee.CheckedItems.Count > 0)
// {
// foreach (ListViewItem item in lsvEmployee.CheckedItems)
// {
// employees.Add((SearchEmployee)item.Tag);
// }
// }
// if (employees.Count == 0)
// {
// MessageBox.Show("No employee selected.", "Generate Payslip",
// MessageBoxButtons.OK, MessageBoxIcon.Warning);
// return;
// }
// int count = 0;
// foreach (SearchEmployee emp in employees)
// {
// lblEmployee.Text = $"Generating Payslip : {++count}/{employees.Count}";
// lblEmployee.Refresh();
// byte[] pdfBytes = (_Type != 1)
// ? paySlip.SKFExpencesPaySlip1(dtpfromDate.Value, emp.EmployeeID.Integer.ToString())
// : paySlip.MailReportWithAccountNoMask(dtpfromDate.Value, emp.EmployeeID.Integer.ToString());
// if (pdfBytes == null)
// continue;
// string filePath = Path.Combine(
// monthPath,
// emp.Employee.EmployeeNo + ".pdf"
// );
// // Encrypt PDF using last 4 digits of mobile
// string phoneNo = emp.Employee.MobileNo ?? "";
// string password = phoneNo.Length >= 4
// ? phoneNo.Substring(phoneNo.Length - 4)
// : phoneNo.PadLeft(4, '0');
// using (MemoryStream ms = new MemoryStream(pdfBytes))
// using (PdfReader reader = new PdfReader(ms))
// using (FileStream fs = new FileStream(filePath, FileMode.Create))
// {
// PdfEncryptor.Encrypt(
// reader,
// fs,
// true,
// password,
// null,
// 2052
// );
// }
// }
// lblEmployee.Text = string.Empty;
// MessageBox.Show("Payslips generated successfully.", "Payslip",
// MessageBoxButtons.OK, MessageBoxIcon.Information);
//}
//catch (Exception ex)
//{
// MessageBox.Show(ex.Message, "Error Generating Payslip",
// MessageBoxButtons.OK, MessageBoxIcon.Error);
//}
//finally
//{
// Cursor = Cursors.Default;
//}
}
//private void btnDownload_Click(object sender, EventArgs e)
//{
// try
// {
// // 1⃣ Select source folder
// using (FolderBrowserDialog folderDialog = new FolderBrowserDialog())
// {
// folderDialog.Description = "Select folder where payslips are stored";
// folderDialog.ShowNewFolderButton = false;
#endregion
// if (folderDialog.ShowDialog() != DialogResult.OK)
// return;
// string sourceFolder = folderDialog.SelectedPath;
// // 2⃣ Select files from source folder
// using (OpenFileDialog fileDialog = new OpenFileDialog())
// {
// fileDialog.InitialDirectory = sourceFolder;
// fileDialog.Filter = "PDF files (*.pdf)|*.pdf";
// fileDialog.Multiselect = true;
// fileDialog.Title = "Select payslip(s) to download";
// if (fileDialog.ShowDialog() != DialogResult.OK)
// return;
// string[] selectedFiles = fileDialog.FileNames;
// // 3⃣ Select destination folder
// using (FolderBrowserDialog destDialog = new FolderBrowserDialog())
// {
// destDialog.Description = "Select destination folder to download files";
// destDialog.ShowNewFolderButton = true;
// if (destDialog.ShowDialog() != DialogResult.OK)
// return;
// string destFolder = destDialog.SelectedPath;
// // 4⃣ Copy selected files to destination
// foreach (string file in selectedFiles)
// {
// string fileName = Path.GetFileName(file);
// string destPath = Path.Combine(destFolder, fileName);
// // Overwrite if exists
// File.Copy(file, destPath, true);
// }
// MessageBox.Show("Selected files downloaded successfully!",
// "Download Complete", MessageBoxButtons.OK, MessageBoxIcon.Information);
// }
// }
// }
// }
// catch (Exception ex)
// {
// MessageBox.Show(ex.Message, "Error Downloading Files",
// MessageBoxButtons.OK, MessageBoxIcon.Error);
// }
//}
private void btnDownload_Click(object sender, EventArgs e)
{
try
{
// 1⃣ Select source folder
using (FolderBrowserDialog folderDialog = new FolderBrowserDialog())
{
folderDialog.Description = "Select folder where payslips are stored";
folderDialog.ShowNewFolderButton = false;
if (folderDialog.ShowDialog() != DialogResult.OK)
return;
string sourceFolder = folderDialog.SelectedPath;
// 2⃣ Select files from source folder
using (OpenFileDialog fileDialog = new OpenFileDialog())
{
fileDialog.InitialDirectory = sourceFolder;
fileDialog.Filter = "PDF files (*.pdf)|*.pdf";
fileDialog.Multiselect = true;
fileDialog.Title = "Select payslip(s) to download";
if (fileDialog.ShowDialog() != DialogResult.OK)
return;
string[] selectedFiles = fileDialog.FileNames;
if (selectedFiles.Length == 0)
{
MessageBox.Show("No files selected.", "Download", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
// 3⃣ Select destination folder for ZIP
using (FolderBrowserDialog destDialog = new FolderBrowserDialog())
{
destDialog.Description = "Select destination folder to save ZIP";
destDialog.ShowNewFolderButton = true;
if (destDialog.ShowDialog() != DialogResult.OK)
return;
string destFolder = destDialog.SelectedPath;
// 4⃣ Create ZIP file
string zipFileName = "SelectedPayslips_" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".zip";
string zipFilePath = Path.Combine(destFolder, zipFileName);
if (File.Exists(zipFilePath))
File.Delete(zipFilePath); // overwrite if exists
// 5⃣ Add selected files to ZIP
using (ZipArchive zip = ZipFile.Open(zipFilePath, ZipArchiveMode.Create))
{
foreach (string filePath in selectedFiles)
{
string fileName = Path.GetFileName(filePath);
zip.CreateEntryFromFile(filePath, fileName, CompressionLevel.Optimal);
}
}
MessageBox.Show($"Selected files have been zipped successfully!\n\nSaved as:\n{zipFilePath}",
"Download Complete", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error Downloading Files", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
#endregion
}

View File

@ -112,9 +112,9 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>