/// <summary> /// 根据交易所类型ID返回交易时间 /// </summary> /// <param name="bourseTypeID">交易所类型ID</param> /// <returns></returns> public DataSet GetTradeTimeAndBourseTypeList(int bourseTypeID) { try { CM_TradeTimeDAL cmTradeTimeDAL = new CM_TradeTimeDAL(); return(cmTradeTimeDAL.GetTradeTimeAndBourseTypeList(bourseTypeID)); } catch (Exception ex) { string errCode = "GL-4748"; string errMsg = " 根据交易所类型ID返回交易时间失败!"; VTException exception = new VTException(errCode, errMsg, ex); LogHelper.WriteError(exception.ToString(), exception.InnerException); return(null); } }
/// <summary> /// 根据交易所类型_交易时间表中的交易所类型ID获取交易所类型名称 /// </summary> /// <returns></returns> public DataSet GetBourseTypeNameByBourseTypeID() { try { CM_TradeTimeDAL cMTradeTimeDAL = new CM_TradeTimeDAL(); return(cMTradeTimeDAL.GetBourseTypeNameByBourseTypeID()); } catch (Exception ex) { string errCode = "GL-4744"; string errMsg = " 根据交易所类型_交易时间表中的交易所类型ID获取交易所类型名称失败!"; VTException exception = new VTException(errCode, errMsg, ex); LogHelper.WriteError(exception.ToString(), exception.InnerException); return(null); } }
/// <summary> /// 获取所有交易所类型_交易时间 /// </summary> /// <param name="BourseTypeName">交易所类型名称</param> /// <param name="pageNo">当前页</param> /// <param name="pageSize">显示记录数</param> /// <param name="rowCount">总行数</param> /// <returns></returns> public DataSet GetAllCMTradeTime(string BourseTypeName, int pageNo, int pageSize, out int rowCount) { try { CM_TradeTimeDAL cMTradeTimeDAL = new CM_TradeTimeDAL(); return(cMTradeTimeDAL.GetAllCMTradeTime(BourseTypeName, pageNo, pageSize, out rowCount)); } catch (Exception ex) { rowCount = AppGlobalVariable.INIT_INT; string errCode = "GL-4743"; string errMsg = " 获取所有交易所类型_交易时间失败!"; VTException exception = new VTException(errCode, errMsg, ex); LogHelper.WriteError(exception.ToString(), exception.InnerException); return(null); } }
/// <summary> /// 添加交易所类型和交易时间 /// </summary> /// <param name="cmBourseType">交易所类型实体</param> /// <param name="cmTradeTimeList">交易时间实体集合</param> /// <returns></returns> public int AddCMBourseTypeAndTradeTime(CM_BourseType cmBourseType, List <CM_TradeTime> cmTradeTimeList) { var cmBourseTypeDal = new CM_BourseTypeDAL(); var cmTradeTimeDal = new CM_TradeTimeDAL(); DbConnection Conn = null; Database db = DatabaseFactory.CreateDatabase(); Conn = db.CreateConnection(); if (Conn.State != ConnectionState.Open) { Conn.Open(); } DbTransaction tran = Conn.BeginTransaction(); //交易所类型ID int BourseTypeID = AppGlobalVariable.INIT_INT; //交易时间ID int TradeTimeID = AppGlobalVariable.INIT_INT; try { if (cmBourseType != null && cmTradeTimeList.Count > 0) { BourseTypeID = cmBourseTypeDal.Add(cmBourseType, tran, db); if (BourseTypeID == AppGlobalVariable.INIT_INT) { tran.Rollback(); } foreach (CM_TradeTime _cmTradeTime in cmTradeTimeList) { _cmTradeTime.BourseTypeID = BourseTypeID; TradeTimeID = cmTradeTimeDal.Add(_cmTradeTime, tran, db); if (TradeTimeID == AppGlobalVariable.INIT_INT) { tran.Rollback(); break; } } } //根据交易所类型ID获取并查找最早的交易开始时间和最晚的交易结束时间 List <CM_TradeTime> cmTTimeList = cmTradeTimeDal.GetListArray(string.Format("BourseTypeID={0}", BourseTypeID), tran, db); if (cmTTimeList.Count > 0) { DateTime _tempStartTime = AppGlobalVariable.INIT_DATETIME; DateTime _tempEndTime = AppGlobalVariable.INIT_DATETIME; bool isStartTime = true; //标志开始值是否改变 bool isEndTime = true; //标志结束值是否改变 for (int i = 0; i < cmTTimeList.Count; i++) { if (isStartTime) { _tempStartTime = (DateTime)cmTTimeList[0].StartTime; } if (isEndTime) { _tempEndTime = (DateTime)cmTTimeList[0].EndTime; } if (_tempStartTime > (DateTime)cmTTimeList[i].StartTime) { _tempStartTime = (DateTime)cmTTimeList[i].StartTime; isStartTime = false; } if (_tempEndTime < (DateTime)cmTTimeList[i].EndTime) { _tempEndTime = (DateTime)cmTTimeList[i].EndTime; isEndTime = false; } } bool result = cmBourseTypeDal.Update(BourseTypeID, _tempStartTime, _tempEndTime, tran, db); if (!result) { tran.Rollback(); } tran.Commit(); } return(BourseTypeID); } catch (Exception ex) { tran.Rollback(); string errCode = "GL-4708"; string errMsg = "添加交易所类型和交易时间失败!"; var exception = new VTException(errCode, errMsg, ex); LogHelper.WriteError(exception.ToString(), exception.InnerException); return(AppGlobalVariable.INIT_INT); } finally { if (Conn.State == ConnectionState.Open) { Conn.Close(); } } }
/// <summary> /// 删除交易所类型及相关联的表 /// </summary> /// <param name="BourseTypeID">交易所类型ID</param> public bool DeleteCMBourseTypeAbout(int BourseTypeID) { CM_NotTradeDateDAL cM_NotTradeDateDAL = new CM_NotTradeDateDAL(); CM_TradeTimeDAL cM_TradeTimeDAL = new CM_TradeTimeDAL(); CM_BreedClassDAL cM_BreedClassDAL = new CM_BreedClassDAL(); RC_MatchMachineDAL rC_MatchMachineDAL = new RC_MatchMachineDAL(); RC_TradeCommodityAssignDAL rC_TradeCommodityAssignDAL = new RC_TradeCommodityAssignDAL(); DbConnection Conn = null; Database db = DatabaseFactory.CreateDatabase(); Conn = db.CreateConnection(); if (Conn.State != ConnectionState.Open) { Conn.Open(); } DbTransaction Tran = Conn.BeginTransaction(); try { int NewBourseTypeID = 5;//未分配交易所的ID=5,固定值 //获得撮合机数据列表 List <RC_MatchMachine> rCMatchMachineList = rC_MatchMachineDAL.GetListArray(string.Format("BourseTypeID={0}", BourseTypeID), Tran, db); if (rCMatchMachineList.Count > 0) { foreach (RC_MatchMachine rCMatchMode in rCMatchMachineList) { // List<RC_TradeCommodityAssign> rCTradeCommodityAssignList = //rC_TradeCommodityAssignDAL.GetListArray(string.Format("MatchMachineID={0}", rCMatchMode.MatchMachineID), Tran, db); //删除撮合机代码分配表中同一个撮合机ID的代码 if (!rC_TradeCommodityAssignDAL.DeleteRCTradeCommodityAByMachineID(rCMatchMode.MatchMachineID)) { Tran.Rollback(); return(false); } } //根据交易所类型ID,删除撮合机 if (!rC_MatchMachineDAL.DeleteByBourseTypeID(BourseTypeID, Tran, db)) { Tran.Rollback(); return(false); } } //根据交易所类型删除交易日 if (!cM_TradeTimeDAL.DeleteCMTradeTimeByBourseTypeID(BourseTypeID, Tran, db)) { Tran.Rollback(); return(false); } //根据交易所类型删除非交易日 if (!cM_NotTradeDateDAL.DeleteByBourseTypeID(BourseTypeID, Tran, db)) { Tran.Rollback(); return(false); } //根据交易所类型ID,更新交易商品品种中的交易所类型ID if (!cM_BreedClassDAL.UpdateBourseTypeID(BourseTypeID, NewBourseTypeID, Tran, db)) { Tran.Rollback(); return(false); } if (!cM_BourseTypeDAL.Delete(BourseTypeID, Tran, db)) { Tran.Rollback(); return(false); } Tran.Commit(); return(true); } catch (Exception ex) { Tran.Rollback(); string errCode = "GL-4701"; string errMsg = "删除交易所类型失败!"; var exception = new VTException(errCode, errMsg, ex); LogHelper.WriteError(exception.ToString(), exception.InnerException); return(false); } finally { if (Conn.State == ConnectionState.Open) { Conn.Close(); } } }
/// <summary> /// 根据交易时间ID,删除交易时间 /// </summary> /// <param name="TradeTimeID">交易时间ID</param> /// <returns></returns> public bool DeleteCMTradeTime(int TradeTimeID) { DbConnection Conn = null; Database db = DatabaseFactory.CreateDatabase(); Conn = db.CreateConnection(); if (Conn.State != ConnectionState.Open) { Conn.Open(); } DbTransaction tran = Conn.BeginTransaction(); try { //return cM_TradeTimeDAL.Delete(TradeTimeID); CM_TradeTimeDAL cM_TradeTimeDAL = new CM_TradeTimeDAL(); CM_BourseTypeDAL cM_BourseTypeDAL = new CM_BourseTypeDAL(); CM_TradeTime cMTradeTime = cM_TradeTimeDAL.GetModel(TradeTimeID); if (cMTradeTime != null) { //交易所类型ID int bourseTypeID = AppGlobalVariable.INIT_INT; bourseTypeID = (int)cMTradeTime.BourseTypeID; bool deleTTimeResult = cM_TradeTimeDAL.Delete(TradeTimeID); if (!deleTTimeResult) { tran.Rollback(); return(false); } if (bourseTypeID != AppGlobalVariable.INIT_INT) { //根据交易所类型ID获取并查找最早的交易开始时间和最晚的交易结束时间 List <CM_TradeTime> cmTTimeList = cM_TradeTimeDAL.GetListArray(string.Format("BourseTypeID={0}", bourseTypeID), tran, db); if (cmTTimeList.Count > 0) { CM_TradeTime cmTradeTime = CompareTradeTime(cmTTimeList); if (cmTradeTime != null) { bool result = cM_BourseTypeDAL.Update(bourseTypeID, (DateTime)cmTradeTime.StartTime, (DateTime)cmTradeTime.EndTime, tran, db); if (!result) { tran.Rollback(); return(false); } } tran.Commit(); } } } return(true); } catch (Exception ex) { tran.Rollback(); string errCode = "GL-4741"; string errMsg = " 根据交易时间ID,删除交易时间失败!"; VTException exception = new VTException(errCode, errMsg, ex); LogHelper.WriteError(exception.ToString(), exception.InnerException); return(false); } finally { if (Conn.State == ConnectionState.Open) { Conn.Close(); } } }
/// <summary> /// 添加交易时间 /// </summary> /// <param name="model">交易所类型_交易时间实体</param> /// <returns></returns> public int AddCMTradeTime(ManagementCenter.Model.CM_TradeTime model) { DbConnection Conn = null; Database db = DatabaseFactory.CreateDatabase(); Conn = db.CreateConnection(); if (Conn.State != ConnectionState.Open) { Conn.Open(); } DbTransaction tran = Conn.BeginTransaction(); try { CM_TradeTimeDAL cM_TradeTimeDAL = new CM_TradeTimeDAL(); CM_BourseTypeDAL cM_BourseTypeDAL = new CM_BourseTypeDAL(); //int tradeTimeID = (int)model.TradeTimeID; int addTTimeResult = AppGlobalVariable.INIT_INT; //交易所类型ID int bourseTypeID = AppGlobalVariable.INIT_INT; bourseTypeID = (int)model.BourseTypeID; addTTimeResult = cM_TradeTimeDAL.Add(model, tran, db); if (addTTimeResult == AppGlobalVariable.INIT_INT) { tran.Rollback(); return(AppGlobalVariable.INIT_INT); } if (bourseTypeID != AppGlobalVariable.INIT_INT) { //根据交易所类型ID获取并查找最早的交易开始时间和最晚的交易结束时间 List <CM_TradeTime> cmTTimeList = cM_TradeTimeDAL.GetListArray(string.Format("BourseTypeID={0}", bourseTypeID), tran, db); if (cmTTimeList.Count > 0) { CM_TradeTime cmTradeTime = CompareTradeTime(cmTTimeList); if (cmTradeTime != null) { bool result = cM_BourseTypeDAL.Update(bourseTypeID, (DateTime)cmTradeTime.StartTime, (DateTime)cmTradeTime.EndTime, tran, db); if (!result) { tran.Rollback(); return(AppGlobalVariable.INIT_INT); } } tran.Commit(); } } return(addTTimeResult); } catch (Exception ex) { tran.Rollback(); string errCode = "GL-4740"; string errMsg = "添加交易时间失败!"; VTException exception = new VTException(errCode, errMsg, ex); LogHelper.WriteError(exception.ToString(), exception.InnerException); return(AppGlobalVariable.INIT_INT); } finally { if (Conn.State == ConnectionState.Open) { Conn.Close(); } } }