using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CY.IDAL;
using System.Data.SqlClient;
using System.Data;
using CY.Infrastructure.Query;
namespace CY.SQLDAL
{
public class OA_CommodityDAL : IOA_CommodityDAL
{
private Database _dataBase = null;
public OA_CommodityDAL()
{
_dataBase = new Database();
}
public OA_CommodityDAL(Database dataBase)
{
_dataBase = dataBase;
}
///
/// 新增
///
///
///
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.OA_Commodity trueModel = model as Model.OA_Commodity;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@FirmId",trueModel.FirmId),
new SqlParameter("@CommodityName",trueModel.CommodityName),
new SqlParameter("@IsPaper",trueModel.IsPaper),
new SqlParameter("@ParentId",trueModel.ParentId),
new SqlParameter("@IsUsed",trueModel.IsUsed),
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
new SqlParameter("@Operator",trueModel.Operator),
new SqlParameter("@Remark",trueModel.Remark)
,new SqlParameter("@OrderNum",trueModel.OrderNum)
};
try
{
_dataBase.Query("sp_OA_Commodity_Insert", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 修改
///
///
///
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.OA_Commodity trueModel = model as Model.OA_Commodity;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid),
new SqlParameter("@FirmId",trueModel.FirmId),
new SqlParameter("@CommodityName",trueModel.CommodityName),
new SqlParameter("@IsPaper",trueModel.IsPaper),
new SqlParameter("@ParentId",trueModel.ParentId),
new SqlParameter("@IsUsed",trueModel.IsUsed),
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
new SqlParameter("@Operator",trueModel.Operator),
new SqlParameter("@Remark",trueModel.Remark)
,new SqlParameter("@OrderNum",trueModel.OrderNum)
};
try
{
_dataBase.Query("sp_OA_Commodity_Update", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 删除
///
///
///
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.OA_Commodity trueModel = model as Model.OA_Commodity;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid)
};
try
{
_dataBase.Query("sp_OA_Commodity_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 分页查询
///
///
///
///
public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination)
{
throw new NotImplementedException();
}
///
/// 返回一个datatable用于上级类别
///
///
public DataTable SelectModelPage(Guid FirmId, string IsPaper, string IsUsed)
{
string selecTarget = " * ";
string condition = " where FirmId='" + FirmId + "' ";
if (!string.IsNullOrEmpty(IsPaper))
{
condition += " and IsPaper='" + IsPaper + "'";
}
if (!string.IsNullOrEmpty(IsUsed))
{
condition += " and IsUsed='" + IsUsed + "'";
}
string fromSorce = " OA_Commodity " + condition;
return _dataBase.SelectModel(selecTarget, fromSorce);
}
///
/// 通过Firmid和CommodityName返回全部的类别
///
///
///
///
///
public IEnumerable SelectModelPage(Pagination pa, Guid FirmId, string CommodityName)
{
string Condition = "where FirmId='" + FirmId + "'";
if (!string.IsNullOrEmpty(CommodityName))
{
Condition += " and CommodityName like '%" + CommodityName + "%'";
}
string selTarget = " a.*,b.CommodityName AS UpCommodeyName";
string fromSource = "(SELECT * FROM OA_Commodity " + Condition + ") AS a LEFT JOIN dbo.OA_Commodity AS b ON a.ParentId = b.Keyid ";
return _dataBase.SelectModelPage(pa, selTarget, fromSource, "a.OrderNum ");
}
///
/// 单个查询
///
///
///
public IEnumerable SelectAllModel(Infrastructure.Query.Query query)
{
throw new NotImplementedException();
}
public Model.OA_Commodity SelectSingleModel(string Keyid)
{
try
{
string selTarget = " a.*,b.CommodityName AS UpCommodeyName";
string fromSource = "(SELECT * FROM OA_Commodity where Keyid=" + Keyid + ") AS a LEFT JOIN dbo.OA_Commodity AS b ON a.ParentId = b.Keyid ";
if (_dataBase.SelectModel(selTarget, fromSource) != null)
{
return _dataBase.SelectModel(selTarget, fromSource)[0];
}
else
return null;
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 得到厂商对应的纸张类别ID
///
///
///
public Model.OA_Commodity getCommodityId(Guid FirmId)
{
string selTarget = " * ";
string fromSource = " OA_Commodity WHERE FirmId ='" + FirmId + "' AND IsPaper='1'";
if (_dataBase.SelectModel(selTarget, fromSource).Count > 0)
{
return _dataBase.SelectModel(selTarget, fromSource)[0];
}
else
{
return null;
}
}
///
/// 得到厂商对应的版材Id
///
///
///
public Model.OA_Commodity getBanCaiId(Guid FirmId)
{
try
{
string selTarget = " * ";
string fromSource = " OA_Commodity WHERE FirmId ='" + FirmId + "' AND IsPaper='2'";
List m_OA_CommodityList = _dataBase.SelectModel(selTarget, fromSource).ToList();
if (m_OA_CommodityList != null && m_OA_CommodityList.Count > 0)
{
return m_OA_CommodityList[0];
}
else
{
return null;
}
}
catch (Exception ex)
{
throw ex;
}
}
}
}