narsil/Tanshu.Accounts.Repository/DbValues.cs
unknown 964d0a78bf Added Basecode to Product
Added Voucher Type During Printing
Added Discount Report
Fixed Void bill table not getting cleared error
Added PAX to table
Removed Itital Setup button in MainForm as it was not doing anything
2011-12-05 15:11:02 +05:30

78 lines
3.1 KiB
C#

using System;
using Tanshu.Accounts.Entities;
namespace Tanshu.Accounts.Repository
{
public static class DbValues
{
public static DateTime Date
{
get
{
using (var session = SessionManager.Session)
{
var query = session.CreateSQLQuery("SELECT Getdate();");
return (DateTime)query.UniqueResult();
}
}
}
public static string KotID
{
get
{
using (var session = SessionManager.Session)
{
const string query = @"SELECT ISNULL('K-' + CAST(MAX(CAST(SUBSTRING(KotID, 3,8) AS int)) + 1 AS nvarchar(8)), 'K-1') FROM Entities_Vouchers";
var sqlQuery = session.CreateSQLQuery(query);
return (string)sqlQuery.UniqueResult();
}
}
}
public static string KotCode
{
get
{
using (var session = SessionManager.Session)
{
const string query = @"SELECT ISNULL('S-' + CAST(MAX(CAST(SUBSTRING(Code, 3,8) AS int)) + 1 AS nvarchar(8)), 'S-1') FROM Entities_Kots";
var sqlQuery = session.CreateSQLQuery(query);
return (string)sqlQuery.UniqueResult();
}
}
}
public static string BillID(VoucherType voucherType)
{
using (var session = SessionManager.Session)
{
var query = "";
switch (voucherType)
{
case VoucherType.Regular:
case VoucherType.TakeAway:
query = @"
DECLARE @BillID nvarchar(10)
SELECT @BillID = ISNULL(CAST(MAX(CAST(REPLACE(BillID, '-', '') AS int)) + 1 AS nvarchar(9)), '010001') FROM Entities_Vouchers WHERE BillID LIKE '__-____'
AND BillID NOT LIKE 'NC-%' AND BillID NOT LIKE 'ST-%'
IF LEN(@BillID) = 5
SET @BillID = '0' + @BillID
SET @BillID = SUBSTRING(@BillID, 1, 2) + '-' + SUBSTRING(@BillID, 3, 7)
IF SUBSTRING(@BillID,3,7) = '-0000'
SET @BillID = SUBSTRING(@BillID, 1, 2) + '-0001'
SELECT @BillID";
break;
case VoucherType.NoCharge:
query = @"SELECT ISNULL('NC-' + CAST(MAX(CAST(SUBSTRING(BillID, 4,9) AS int)) + 1 AS nvarchar(9)), 'NC-1') FROM Entities_Vouchers WHERE BillID LIKE 'NC-%'";
break;
case VoucherType.Staff:
query = @"SELECT ISNULL('ST-' + CAST(MAX(CAST(SUBSTRING(BillID, 4,9) AS int)) + 1 AS nvarchar(9)), 'ST-1') FROM Entities_Vouchers WHERE BillID LIKE 'ST-%'";
break;
default:
throw new ArgumentOutOfRangeException("voucherType");
}
var sqlQuery = session.CreateSQLQuery(query);
return (string)sqlQuery.UniqueResult();
}
}
}
}