/**
|
* LF_OrderFileDAL.cs
|
*
|
* 功 能: 卖家文件空间扩展类
|
* 类 名: LF_OrderFileDAL
|
*
|
* Ver 变更日期 负责人 变更内容
|
* ───────────────────────────────────
|
* V0.01 2013-6-17 16:26 吴崎均 初版
|
*
|
*/
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using CY.IDAL;
|
using CY.Model;
|
using System.Data.SqlClient;
|
using System.Data;
|
using System.Transactions;
|
using CY.Infrastructure.Common;
|
using System.IO;
|
using CY.Infrastructure.Query;
|
namespace CY.SQLDAL
|
{
|
public class LF_OrderFilesDAL : ILF_OrderFilesDAL
|
{
|
|
private Database _dataBase = null;
|
|
public LF_OrderFilesDAL()
|
{
|
_dataBase = new Database();
|
}
|
|
/// <summary>
|
/// 新增
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
LF_OrderFile orderFile = model as LF_OrderFile;
|
SqlParameter[] parameters = {
|
//new SqlParameter("@returnValue", SqlDbType.Int,4),
|
new SqlParameter("@OrderId", SqlDbType.Int,4),
|
new SqlParameter("@FileName", SqlDbType.VarChar,250),
|
new SqlParameter("@FilePath", SqlDbType.VarChar,1000),
|
new SqlParameter("@FileSize", SqlDbType.Decimal,5),
|
new SqlParameter("@FileType", SqlDbType.VarChar,10),
|
new SqlParameter("@FileState", SqlDbType.Int,4),
|
new SqlParameter("@UploadTime", SqlDbType.DateTime,8),
|
new SqlParameter("@UploaderId", SqlDbType.UniqueIdentifier,16),
|
new SqlParameter("@SellerId", SqlDbType.UniqueIdentifier,16)};
|
//new SqlParameter("@ClientPath", SqlDbType.VarChar,1000)};
|
parameters[0].Value = orderFile.OrderId;
|
parameters[1].Value = orderFile.FileName;
|
parameters[2].Value = orderFile.FilePath;
|
parameters[3].Value = orderFile.FileSize;
|
parameters[4].Value = orderFile.FileType;
|
parameters[5].Value = orderFile.FileState;
|
parameters[6].Value = orderFile.UploadTime;
|
parameters[7].Value = orderFile.UploaderId;
|
parameters[8].Value = orderFile.SellerId;
|
//parameters[8].Value = orderFile.ClientPath;
|
try
|
{
|
_dataBase.Query("sp_LF_OrderFiles_Insert", CommandType.StoredProcedure, parameters);
|
//return 1.Equals(parameters[0].Value);
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
|
return true;
|
|
}
|
/// <summary>
|
/// 更新一条数据
|
/// </summary>
|
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
LF_OrderFile orderFile = model as LF_OrderFile;
|
SqlParameter[] parameters = {
|
//new SqlParameter("@returnValue", SqlDbType.Int,4),
|
new SqlParameter("@OrderId", SqlDbType.Int,4),
|
new SqlParameter("@FileName", SqlDbType.VarChar,250),
|
new SqlParameter("@FilePath", SqlDbType.VarChar,1000),
|
new SqlParameter("@FileSize", SqlDbType.Decimal,5),
|
new SqlParameter("@FileType", SqlDbType.VarChar,10),
|
new SqlParameter("@FileState", SqlDbType.Int,4),
|
new SqlParameter("@UploadTime", SqlDbType.DateTime,8),
|
new SqlParameter("@UploaderId", SqlDbType.UniqueIdentifier,16),
|
new SqlParameter("@SellerId", SqlDbType.UniqueIdentifier,16)};
|
//new SqlParameter("@ClientPath", SqlDbType.VarChar,1000)};
|
parameters[0].Value = orderFile.OrderId;
|
parameters[1].Value = orderFile.FileName;
|
parameters[2].Value = orderFile.FilePath;
|
parameters[3].Value = orderFile.FileSize;
|
parameters[4].Value = orderFile.FileType;
|
parameters[5].Value = orderFile.FileState;
|
parameters[6].Value = orderFile.UploadTime;
|
parameters[7].Value = orderFile.UploaderId;
|
parameters[8].Value = orderFile.SellerId;
|
//parameters[8].Value = orderFile.ClientPath;
|
try
|
{
|
_dataBase.Query("sp_LF_OrderFiles_Update", CommandType.StoredProcedure, parameters);
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
|
return true;
|
|
}
|
|
/// <summary>
|
/// 删除一条数据
|
/// </summary>
|
public bool DeleteFiles(int OrderId)
|
{
|
|
|
SqlParameter[] parameters = {new SqlParameter("@OrderId", SqlDbType.Int, 4) };
|
parameters[0].Value = OrderId;
|
try
|
{
|
_dataBase.Query("sp_LF_OrderFiles_DeleteRow", CommandType.StoredProcedure, parameters);
|
return true;
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
|
}
|
|
/// <summary>
|
/// 得到一个对象实体
|
/// </summary>
|
public LF_OrderFile GetModel(int OrderId)
|
{
|
if (OrderId == null)
|
return null;//错误数据返会空
|
|
IList<LF_OrderFile> result = _dataBase.SelectModel<LF_OrderFile>("*", "LF_OrderFiles", string.Format(" OrderId='{0}'", OrderId)) as IList<LF_OrderFile>;//执行查询
|
|
return (null == result || result.Count == 0) ? null : result[0];//返回结果
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="m_EC_FirmInfo"></param>
|
/// <param name="m_LF_OrderFile"></param>
|
/// <returns></returns>
|
public bool AddOrderFiles(EC_FirmInfo m_EC_FirmInfo, LF_OrderFile m_LF_OrderFile)
|
{
|
try
|
{
|
bool result = false;
|
EC_FirmInfoDAL eC_FirmInfoDAL = new EC_FirmInfoDAL();
|
LF_OrderFile _lF_OrderFile = GetModel(Convert.ToInt32(m_LF_OrderFile.OrderId));
|
using (TransactionScope t_TransactionScope = new TransactionScope())
|
{
|
if (_lF_OrderFile != null)
|
{
|
result = DeleteFiles(Convert.ToInt32(_lF_OrderFile.OrderId));
|
if(result)
|
{
|
File.Delete(_lF_OrderFile.FilePath);
|
m_EC_FirmInfo.FileSize = m_EC_FirmInfo.FileSize - (Convert.ToInt32(m_LF_OrderFile.FileSize) - Convert.ToInt32(_lF_OrderFile.FileSize));
|
}
|
}
|
result = InserModel(m_LF_OrderFile);
|
if (result)
|
{
|
result = eC_FirmInfoDAL.UpdateModel(m_EC_FirmInfo);
|
if (result)
|
{
|
t_TransactionScope.Complete();
|
}
|
}
|
}
|
return result;
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
|
|
}
|
|
///// <summary>
|
///// 新增
|
///// </summary>
|
///// <param name="model"></param>
|
///// <returns></returns>
|
//public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
|
//{
|
// return false;
|
//}
|
|
///// <summary>
|
///// 修改
|
///// </summary>
|
///// <param name="model"></param>
|
///// <returns></returns>
|
//public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
|
//{
|
|
// return false;
|
|
//}
|
|
/// <summary>
|
/// 删除
|
/// </summary>
|
/// <param name="id"></param>
|
/// <returns></returns>
|
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
|
return false;
|
|
}
|
|
/// <summary>
|
/// 查询符合条件的文件列表
|
/// </summary>
|
/// <param name="MemberId"></param>
|
/// <param name="startTime"></param>
|
/// <param name="endTime"></param>
|
/// <param name="FilesName"></param>
|
/// <param name="FilesStatus"></param>
|
/// <param name="pa"></param>
|
/// <returns></returns>
|
public IList<LF_OrderFile> GetModeListByMy(Guid MemberId, DateTime startTime, DateTime endTime, string FilesName, string CustomerName,int FilesStatus, Pagination pa)
|
{
|
string selectTarget = " a.*,b.FileSize as SurplusFileSize, c.SellerOrderId as Ordernumber,c.BuyerName as SellerName";
|
string fromSouce = " LF_OrderFiles a INNER JOIN dbo.EC_FirmInfo b ON a.SellerId=b.MemberId INNER JOIN dbo.EC_OrderBasic c ON a.OrderId=c.KeyId where a.SellerId='" + MemberId.ToString() + "' ";
|
if (startTime != DateTime.MinValue && endTime == DateTime.MaxValue)
|
{
|
fromSouce += " and a.UploadTime>='" + startTime + "'";
|
}
|
else if (startTime == DateTime.MinValue && endTime != DateTime.MaxValue)
|
{
|
fromSouce += " and a.UploadTime<='" + endTime + "'";
|
}
|
else if (startTime != DateTime.MinValue && endTime != DateTime.MaxValue)
|
{
|
fromSouce += " and a.UploadTime>='" + startTime + "' and a.UploadTime<='" + endTime + "'";
|
}
|
|
if (!string.IsNullOrEmpty(FilesName))
|
{
|
fromSouce += " and a.FileName like '%" + FilesName + "%'";
|
}
|
if (!string.IsNullOrEmpty(CustomerName))
|
{
|
fromSouce += " and c.BuyerName like '%" + CustomerName + "%'";
|
}
|
if (FilesStatus != -1)
|
{
|
fromSouce += " and a.FileState='" + FilesStatus + "'";
|
}
|
return _dataBase.SelectModelPage<Model.LF_OrderFile>(pa, selectTarget, fromSouce, "a.UploadTime desc ", "UploadTime desc ", string.Empty);
|
}
|
|
/// <summary>
|
/// 批量删除记录
|
/// </summary>
|
/// <param name="keyIdList"></param>
|
/// <returns></returns>
|
public bool DeleteModelList(List<int> keyIdList)
|
{
|
if (keyIdList == null || keyIdList.Count == 0)
|
{
|
return true;
|
}
|
EC_FirmInfoDAL eC_FirmInfoDAL = new EC_FirmInfoDAL();
|
EC_FirmInfo _ecFirmInfoModel = null;
|
bool isSuccess = true;
|
using (TransactionScope scope = new TransactionScope())
|
{
|
foreach (int keyId in keyIdList)
|
{
|
LF_OrderFile model = GetModel(keyId);
|
isSuccess = DeleteFiles(Convert.ToInt32(model.OrderId));
|
|
_ecFirmInfoModel = eC_FirmInfoDAL.GetModelByMemberId(model.SellerId);
|
if (isSuccess)
|
{
|
if (File.Exists(model.FilePath))
|
{
|
File.Delete(model.FilePath);
|
}
|
_ecFirmInfoModel.FileSize = _ecFirmInfoModel.FileSize + Convert.ToInt32(model.FileSize);
|
eC_FirmInfoDAL.UpdateModel(_ecFirmInfoModel);
|
}
|
else
|
{
|
break;
|
}
|
}
|
if (isSuccess)
|
scope.Complete();
|
}
|
return isSuccess;
|
}
|
|
|
}
|
}
|