/** * 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(); } /// /// 新增 /// /// /// 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; } /// /// 更新一条数据 /// 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; } /// /// 删除一条数据 /// 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; } } /// /// 得到一个对象实体 /// public LF_OrderFile GetModel(int OrderId) { if (OrderId == null) return null;//错误数据返会空 IList result = _dataBase.SelectModel("*", "LF_OrderFiles", string.Format(" OrderId='{0}'", OrderId)) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } /// /// /// /// /// /// 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; } } ///// ///// 新增 ///// ///// ///// //public bool InserModel(Infrastructure.Domain.IAggregateRoot model) //{ // return false; //} ///// ///// 修改 ///// ///// ///// //public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) //{ // return false; //} /// /// 删除 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { return false; } /// /// 查询符合条件的文件列表 /// /// /// /// /// /// /// /// public IList 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(pa, selectTarget, fromSouce, "a.UploadTime desc ", "UploadTime desc ", string.Empty); } /// /// 批量删除记录 /// /// /// public bool DeleteModelList(List 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; } } }