265 lines
5.7 KiB
C#
265 lines
5.7 KiB
C#
|
using System;
|
||
|
using System.Data;
|
||
|
using System.IO;
|
||
|
using System.Drawing;
|
||
|
|
||
|
namespace Payroll.BO
|
||
|
{
|
||
|
#region Null Handler
|
||
|
public class NullHandler
|
||
|
{
|
||
|
private IDataReader _reader;
|
||
|
|
||
|
public NullHandler()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
public static object GetNullValue(int Value)
|
||
|
{
|
||
|
if(Value<=0)
|
||
|
{
|
||
|
return null;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return Value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static object GetNullValue(DateTime Value)
|
||
|
{
|
||
|
if(DateTime.MinValue==Value)
|
||
|
{
|
||
|
return null;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return Value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static object GetNullValue(string Value)
|
||
|
{
|
||
|
if(Value.Length<=0)
|
||
|
{
|
||
|
return null;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return Value;
|
||
|
}
|
||
|
}
|
||
|
public NullHandler(IDataReader reader)
|
||
|
{
|
||
|
_reader = reader;
|
||
|
}
|
||
|
|
||
|
public IDataReader Reader
|
||
|
{
|
||
|
get{return _reader;}
|
||
|
}
|
||
|
|
||
|
public bool IsNull(int index)
|
||
|
{
|
||
|
return _reader.IsDBNull(index);
|
||
|
}
|
||
|
|
||
|
#region Default Null Values
|
||
|
public int GetInt32(int i)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? 0 : _reader.GetInt32(i);
|
||
|
}
|
||
|
|
||
|
public byte GetByte(int i)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? (byte)0 : _reader.GetByte(i);
|
||
|
}
|
||
|
|
||
|
public decimal GetDecimal(int i)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? 0 : _reader.GetDecimal(i);
|
||
|
}
|
||
|
public decimal GetDecimal(string sFieldName)
|
||
|
{
|
||
|
return (_reader[sFieldName]==DBNull.Value)? (decimal) 0 :Convert.ToDecimal(_reader[sFieldName]);
|
||
|
}
|
||
|
|
||
|
public long GetInt64(int i)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? (long) 0 : _reader.GetInt64(i);
|
||
|
}
|
||
|
|
||
|
public double GetDouble(int i)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? 0 : _reader.GetDouble(i);
|
||
|
}
|
||
|
|
||
|
public bool GetBoolean(int i)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? false : _reader.GetBoolean(i);
|
||
|
}
|
||
|
|
||
|
public Guid GetGuid(int i)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? Guid.Empty : _reader.GetGuid(i);
|
||
|
}
|
||
|
|
||
|
public DateTime GetDateTime(int i)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? DateTime.MinValue : _reader.GetDateTime(i);
|
||
|
}
|
||
|
|
||
|
public float GetFloat(int i)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? 0 : _reader.GetFloat(i);
|
||
|
}
|
||
|
|
||
|
public string GetString(int i)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? null : _reader.GetString(i);
|
||
|
}
|
||
|
|
||
|
public char GetChar(int i)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? '\0' : _reader.GetChar(i);
|
||
|
}
|
||
|
|
||
|
public short GetInt16(String sFieldName)
|
||
|
{
|
||
|
return (_reader[sFieldName]==DBNull.Value)? (Int16) 0 :Convert.ToInt16(_reader[sFieldName]);
|
||
|
}
|
||
|
|
||
|
public int GetInt32(String sFieldName)
|
||
|
{
|
||
|
return (_reader[sFieldName]==DBNull.Value)? (Int32) 0 :Convert.ToInt32(_reader[sFieldName]);
|
||
|
}
|
||
|
|
||
|
public byte GetByte(String sFieldName)
|
||
|
{
|
||
|
return _reader[sFieldName]==DBNull.Value? (byte)0 : Convert.ToByte(_reader[sFieldName]);
|
||
|
}
|
||
|
|
||
|
public long GetInt64(String sFieldName)
|
||
|
{
|
||
|
return (_reader[sFieldName]==DBNull.Value)? (Int64) 0 :Convert.ToInt64(_reader[sFieldName]);
|
||
|
}
|
||
|
|
||
|
public Double GetDouble(String sFieldName)
|
||
|
{
|
||
|
return (_reader[sFieldName]==DBNull.Value)? (Double) 0 :Convert.ToDouble(_reader[sFieldName]);
|
||
|
}
|
||
|
public bool GetBoolean(String sFieldName)
|
||
|
{
|
||
|
return (_reader[sFieldName]==DBNull.Value)? false :Convert.ToBoolean(_reader[sFieldName]);
|
||
|
}
|
||
|
public DateTime GetDateTime(String sFieldName)
|
||
|
{
|
||
|
return (_reader[sFieldName]==DBNull.Value)? DateTime.MinValue :Convert.ToDateTime(_reader[sFieldName]);
|
||
|
}
|
||
|
|
||
|
public char GetChar(String sFieldName)
|
||
|
{
|
||
|
return (_reader[sFieldName]==DBNull.Value)? '\0' : Convert.ToChar(_reader[sFieldName]);
|
||
|
}
|
||
|
|
||
|
public string GetString(String sFieldName)
|
||
|
{
|
||
|
return (_reader[sFieldName]==DBNull.Value)? (string) "" :Convert.ToString(_reader[sFieldName]);
|
||
|
}
|
||
|
|
||
|
public Image GetImage(String sFieldName)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
byte[] imageData = null;
|
||
|
long byteSize =0;
|
||
|
byteSize = _reader.GetBytes(_reader.GetOrdinal(sFieldName), 0, null, 0, 0);
|
||
|
|
||
|
imageData = new byte[byteSize];
|
||
|
long bytesread = 0;
|
||
|
int curpos = 0, chunkSize=500;
|
||
|
while (bytesread < byteSize)
|
||
|
{
|
||
|
// chunkSize is an arbitrary application defined value
|
||
|
bytesread += _reader.GetBytes(_reader.GetOrdinal(sFieldName), curpos, imageData, curpos, chunkSize);
|
||
|
curpos += chunkSize;
|
||
|
}
|
||
|
|
||
|
byte[] imgData =imageData;
|
||
|
|
||
|
MemoryStream ms = new MemoryStream(imgData);
|
||
|
Image oImage=Image.FromStream((Stream)ms);
|
||
|
return oImage;
|
||
|
}
|
||
|
catch(Exception ex)
|
||
|
{
|
||
|
throw new Exception("Failed to get Image: " + ex.Message);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region Parameterized Null Value
|
||
|
public int GetInt32(int i, int valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetInt32(i);
|
||
|
}
|
||
|
|
||
|
public byte GetByte(int i, byte valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetByte(i);
|
||
|
}
|
||
|
|
||
|
public decimal GetDecimal(int i, decimal valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetDecimal(i);
|
||
|
}
|
||
|
|
||
|
public long GetInt64(int i, long valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetInt64(i);
|
||
|
}
|
||
|
|
||
|
public double GetDouble(int i, double valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetDouble(i);
|
||
|
}
|
||
|
|
||
|
public bool GetBoolean(int i, bool valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetBoolean(i);
|
||
|
}
|
||
|
|
||
|
public Guid GetGuid(int i, Guid valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetGuid(i);
|
||
|
}
|
||
|
|
||
|
public DateTime GetDateTime(int i, DateTime valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetDateTime(i);
|
||
|
}
|
||
|
|
||
|
public float GetFloat(int i, float valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetFloat(i);
|
||
|
}
|
||
|
|
||
|
public string GetString(int i, string valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetString(i);
|
||
|
}
|
||
|
|
||
|
public char GetChar(int i, char valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetChar(i);
|
||
|
}
|
||
|
|
||
|
public short GetInt16(int i, short valueIfNull)
|
||
|
{
|
||
|
return _reader.IsDBNull(i)? valueIfNull : _reader.GetInt16(i);
|
||
|
}
|
||
|
#endregion
|
||
|
}
|
||
|
#endregion
|
||
|
}
|