You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
214 lines
7.7 KiB
214 lines
7.7 KiB
using Swift.DAL.Common;
|
|
using Swift.DAL.SwiftDAL;
|
|
using Swift.DAL.VoucherReport;
|
|
using Swift.web.Library;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Text.RegularExpressions;
|
|
using System.Web;
|
|
|
|
namespace Swift.web.BillVoucher.VoucherEntryWithTax
|
|
{
|
|
public partial class VoucherEntry : System.Web.UI.Page
|
|
{
|
|
private const string ViewFunctionId = "20302400";
|
|
private const string DateFunctionId = "20302410";
|
|
private readonly RemittanceLibrary _sdd = new RemittanceLibrary();
|
|
private readonly VoucherReportDAO _vrd = new VoucherReportDAO();
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
Authenticate();
|
|
|
|
string methodName = Request.Form["MethodName"];
|
|
if (methodName == "SaveTemp")
|
|
SaveTempData();
|
|
if (methodName == "PopulateTempData")
|
|
ShowTempVoucher();
|
|
if (methodName == "DeleteTemp")
|
|
DeleteTemp();
|
|
if (methodName == "SaveMainData")
|
|
SaveMainData();
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
Misc.MakeAmountTextBox(ref amt);
|
|
transactionDate.Text = DateTime.Today.ToString("yyyy-MM-dd");
|
|
PopulateDDL();
|
|
}
|
|
}
|
|
|
|
private void Authenticate()
|
|
{
|
|
_sdd.CheckAuthentication(ViewFunctionId);
|
|
}
|
|
|
|
private void PopulateDDL()
|
|
{
|
|
_sdd.SetDDL(ref voucherType, "EXEC Proc_dropdown_remit @FLAG='voucherDDL'", "value", "functionName", "", "");
|
|
_sdd.SetDDL(ref Department, "EXEC Proc_dropdown_remit @FLAG='Department'", "RowId", "DepartmentName", "", "Select Department");
|
|
_sdd.SetDDL(ref Branch, "EXEC Proc_dropdown_remit @FLAG='Branch'", "agentId", "agentName", "", "Select Branch");
|
|
}
|
|
|
|
protected void SaveTempData()
|
|
{
|
|
DbResult _dbRes = new DbResult();
|
|
string amount = Request.Form["amt"];
|
|
string acInfo = Request.Form["acInfo"];
|
|
string dropDownDrCr = Request.Form["dropDownDrCr"];
|
|
string Department = Request.Form["Department"];
|
|
string Branch = Request.Form["Branch"];
|
|
string EmpName = Request.Form["EmpName"];
|
|
string Field1 = Request.Form["Field1"];
|
|
string percent = Request.Form["Percent"];
|
|
|
|
|
|
if (GetStatic.ParseDouble(amount) <= 0)
|
|
{
|
|
_dbRes.SetError("1", "Please enter valid Amount!", null);
|
|
GetStatic.JsonResponse(_dbRes, this);
|
|
return;
|
|
}
|
|
|
|
_dbRes = _vrd.InsertTempVoucherEntryDetailsNew(GetStatic.GetSessionId(), GetStatic.GetUser(), acInfo, dropDownDrCr, amount, Department, Branch, EmpName, Field1, "", percent);
|
|
|
|
GetStatic.JsonResponse(_dbRes, this);
|
|
}
|
|
|
|
protected bool AllowChangeDate()
|
|
{
|
|
return _sdd.HasRight(DateFunctionId);
|
|
}
|
|
|
|
protected void DeleteTemp()
|
|
{
|
|
string rowId = Request.Form["RowId"];
|
|
var res = _vrd.DeleteRecordVoucherEntryDetails(rowId);
|
|
|
|
GetStatic.JsonResponse(res, this);
|
|
}
|
|
|
|
protected void Unsave()
|
|
{
|
|
ShowTempVoucher();
|
|
}
|
|
|
|
protected void SaveMainData()
|
|
{
|
|
DbResult _dbRes = new DbResult();
|
|
string fileName = "";
|
|
string filePath = "";
|
|
var VoucherImage = Request.Files["vImage"];
|
|
var date = Request.Form["transactionDate"];
|
|
var narration = Request.Form["narrationField"];
|
|
var vType = Request.Form["voucherType"];
|
|
var chequeNumber = Request.Form["chequeNo"];
|
|
|
|
if (null != VoucherImage)
|
|
{
|
|
// Get the file extension
|
|
string fileExtension = System.IO.Path.GetExtension(VoucherImage.FileName);
|
|
|
|
if (!IsImage(VoucherImage))
|
|
{
|
|
_dbRes.SetError("1", "File types other than image are not acceptable.", null);
|
|
GetStatic.JsonResponse(_dbRes, this);
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
// Get the file size
|
|
int fileSize = VoucherImage.ContentLength;
|
|
// If file size is greater than 2 MB
|
|
if (fileSize > Convert.ToInt32(GetStatic.GetUploadFileSize()))
|
|
{
|
|
_dbRes.SetError("1", "File size cannot be greater than 2 MB", null);
|
|
GetStatic.JsonResponse(_dbRes, this);
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
// Upload the file
|
|
fileName = "UploadedVoucher-" + GetTimestamp(DateTime.Now) + fileExtension;
|
|
string path = GetStatic.ReadWebConfig("filePath") + "VoucherDoc\\";
|
|
if (!Directory.Exists(path))
|
|
Directory.CreateDirectory(path);
|
|
filePath = path + fileName;
|
|
VoucherImage.SaveAs(filePath);
|
|
}
|
|
}
|
|
}
|
|
_dbRes = _vrd.SaveTempTransaction(GetStatic.GetSessionId(), date, narration, vType, chequeNumber, GetStatic.GetUser(), fileName);
|
|
|
|
if (!string.IsNullOrEmpty(filePath) && _dbRes.ErrorCode != "0")
|
|
{
|
|
File.Delete(filePath);
|
|
}
|
|
GetStatic.JsonResponse(_dbRes, this);
|
|
}
|
|
|
|
private void ShowTempVoucher()
|
|
{
|
|
IList<VoucherTempData> _voucherData = new List<VoucherTempData>();
|
|
_voucherData = _vrd.GetTempVoucherEntryDataDetailsList(GetStatic.GetSessionId());
|
|
|
|
GetStatic.JsonResponse(_voucherData, this);
|
|
}
|
|
|
|
public static bool IsImage(HttpPostedFile fileUpload)
|
|
{
|
|
if (Path.GetExtension(fileUpload.FileName).ToLower() != ".jpg"
|
|
&& Path.GetExtension(fileUpload.FileName).ToLower() != ".png"
|
|
&& Path.GetExtension(fileUpload.FileName).ToLower() != ".gif"
|
|
&& Path.GetExtension(fileUpload.FileName).ToLower() != ".jpeg")
|
|
{
|
|
return false;
|
|
}
|
|
|
|
if (fileUpload.ContentType.ToLower() != "image/jpg" &&
|
|
fileUpload.ContentType.ToLower() != "image/jpeg" &&
|
|
fileUpload.ContentType.ToLower() != "image/pjpeg" &&
|
|
fileUpload.ContentType.ToLower() != "image/gif" &&
|
|
fileUpload.ContentType.ToLower() != "image/x-png" &&
|
|
fileUpload.ContentType.ToLower() != "image/png")
|
|
{
|
|
return false;
|
|
}
|
|
|
|
try
|
|
{
|
|
byte[] buffer = new byte[512];
|
|
fileUpload.InputStream.Read(buffer, 0, 512);
|
|
string content = Encoding.UTF8.GetString(buffer);
|
|
if (Regex.IsMatch(content, @"<script|<html|<head|<title|<body|<pre|<table|<a\s+href|<img|<plaintext|<cross\-domain\-policy|<?php",
|
|
RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Multiline))
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
try
|
|
{
|
|
using (var bitmap = new System.Drawing.Bitmap(fileUpload.InputStream))
|
|
{
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
public static string GetTimestamp(DateTime value)
|
|
{
|
|
return value.ToString("yyyyMMddHHmmssffff");
|
|
}
|
|
}
|
|
}
|