private void LoadCommandSummary(CommandManagementItem cmdMngItem) { //var user = _userBLL.GetById(tradeCommand.SubmitPerson); this.tbCommandId.Text = string.Format("{0}", cmdMngItem.CommandId); this.tbFundName.Text = cmdMngItem.FundDisplay; this.tbPortName.Text = cmdMngItem.PortfolioDisplay;// string.Format("{0}--{1}", tradeCommand.PortfolioCode, tradeCommand.PortfolioName); this.tbSecuName.Text = "N/A"; this.tbPriceMode.Text = "N/A"; this.tbCommandPrice.Text = "N/A"; //this.tbCommandAmount.Text = string.Format("{0}", tradeCommand.CommandNum); //TODO:get the deal amount this.tbDealAmount.Text = "0"; this.tbAveragePrice.Text = "N/A"; this.tbSubmitDate.Text = cmdMngItem.CommandSubmitDate; this.tbSubmitTime.Text = cmdMngItem.CommandSubmitTime; this.tbStartDate.Text = cmdMngItem.StartDate; this.tbStartTime.Text = cmdMngItem.StartTime; this.tbEndDate.Text = cmdMngItem.EndDate; this.tbEndTime.Text = cmdMngItem.EndTime; this.tbCommandStatus.Text = cmdMngItem.CommandStatus; this.tbEntrustStatus.Text = cmdMngItem.EntrustExecuteStatus;// CommandStatusHelper.GetEntrustName(tradeCommand.EEntrustStatus); this.tbDealStatus.Text = CommandStatusHelper.GetDealName(cmdMngItem.EDealStatus); this.tbSubmitPerson.Text = cmdMngItem.CommandSubmitPerson; this.tbModifyPerson.Text = cmdMngItem.ModifyOperator; this.tbCancelPerson.Text = cmdMngItem.ModifyOperator; this.tbModifyTime.Text = DateFormat.Format(cmdMngItem.DModifiedDate, ConstVariable.TimeFormat); this.tbCancelTime.Text = DateFormat.Format(cmdMngItem.DCancelDate, ConstVariable.TimeFormat); this.tbNotes.Text = cmdMngItem.Notes; this.tbModifyCause.Text = cmdMngItem.ModifiedCause; this.tbCancelCause.Text = cmdMngItem.CancelCause; }
private void LoadCommandSecurities(CommandManagementItem cmdMngItem) { ClearCommandDetailData(); LoadSecurityItems(cmdMngItem); LoadEntrustItems(cmdMngItem); LoadDealItems(cmdMngItem); }
private void LoadCommandDetail(CommandManagementItem cmdMngItem) { LoadCommandSummary(cmdMngItem); //TODO: load the security/entrust/deal information LoadCommandSecurities(cmdMngItem); }
private void GridView_Command_UpdateRelatedDataGridHandler(UpdateDirection direction, int rowIndex, int columnIndex) { if (rowIndex < 0 || rowIndex >= _dataSource.Count) { return; } CommandManagementItem cmdMngItem = _dataSource[rowIndex]; switch (direction) { case UpdateDirection.Select: { LoadCommandSecurities(cmdMngItem); var firstCmdItem = _dataSource.First(p => p.Selection); if (firstCmdItem != null) { LoadCommandSummary(firstCmdItem); } } break; case UpdateDirection.UnSelect: { var secuItems = _secuDataSource.Where(p => p.CommandId == cmdMngItem.CommandId).ToList(); foreach (var secuItem in secuItems) { _secuDataSource.Remove(secuItem); } var entrustItems = _entrustDataSource.Where(p => p.CommandId == cmdMngItem.CommandId).ToList(); foreach (var entrustItem in entrustItems) { _entrustDataSource.Remove(entrustItem); } var dealItems = _dealDataSource.Where(p => p.CommandId == cmdMngItem.CommandId).ToList(); foreach (var dealItem in dealItems) { _dealDataSource.Remove(dealItem); } var selectedItems = _dataSource.Where(p => p.Selection).ToList(); if (selectedItems != null && selectedItems.Count > 0) { LoadCommandSummary(selectedItems[0]); } else { LoadCommandSummary(_dataSource[0]); } } break; default: break; } }
private void LoadDealItems(CommandManagementItem cmdMngItem) { var dealItems = _commandManagementBLL.GetDealItems(cmdMngItem); if (dealItems != null) { dealItems.ForEach(p => _dealDataSource.Add(p)); } }
private void LoadEntrustItems(CommandManagementItem cmdMngItem) { var entrustItems = _commandManagementBLL.GetEntrustItems(cmdMngItem); if (entrustItems != null) { entrustItems.ForEach(p => _entrustDataSource.Add(p)); } }
private void LoadSecurityItems(CommandManagementItem cmdMngItem) { var secuItems = _commandManagementBLL.GetSecurityItems(cmdMngItem); if (secuItems != null) { secuItems.ForEach(p => _secuDataSource.Add(p)); } }
private void FillEdit(CommandManagementItem cmdMngItem) { this.tbBasisPoint.Text = "0"; this.tbTemplate.Text = string.Format("{0}--{1}", cmdMngItem.TemplateId, cmdMngItem.TemplateName); //TODO: submit person this.tbFutures.Text = cmdMngItem.BearContract; this.tbStartDate.Text = DateFormat.Format(cmdMngItem.DStartDate, ConstVariable.DateFormat1); this.tbEndDate.Text = DateFormat.Format(cmdMngItem.DEndDate, ConstVariable.DateFormat1); this.tbStartTime.Text = DateFormat.Format(cmdMngItem.DStartDate, ConstVariable.TimeFormat1); this.tbEndTime.Text = DateFormat.Format(cmdMngItem.DEndDate, ConstVariable.TimeFormat1); this.tbAdjProportion.Text = "100"; //TODO: operation level this.tbNotes.Text = cmdMngItem.Notes; }
public List <CommandManagementEntrustItem> GetEntrustItems(CommandManagementItem cmdMngItem) { var entrustItems = new List <CommandManagementEntrustItem>(); var entrustSecuItems = _entrustSecurityBLL.GetByCommandId(cmdMngItem.CommandId); if (entrustSecuItems != null && entrustSecuItems.Count > 0) { var validItems = entrustSecuItems.Where(p => p.EntrustAmount > 0).ToList(); if (validItems.Count > 0) { foreach (var validItem in validItems) { var entrustItem = new CommandManagementEntrustItem { SecuCode = validItem.SecuCode, SecuType = validItem.SecuType, EntrustNo = validItem.EntrustNo, EDirection = validItem.EntrustDirection, EntrustPrice = validItem.EntrustPrice, EEntrustPriceType = validItem.EntrustPriceType, EEntrustStatus = validItem.EntrustStatus, TodayDealAmount = validItem.TotalDealAmount, TodayDealMoney = validItem.TotalDealBalance, DEntrustDate = validItem.CreatedDate, FundName = cmdMngItem.FundName, PortfolioName = cmdMngItem.PortfolioName, CommandId = cmdMngItem.CommandId, }; if (entrustItem.EntrustAmount > 0) { entrustItem.DealPercent = entrustItem.TodayDealAmount / entrustItem.EntrustAmount; } var secuItem = SecurityInfoManager.Instance.Get(entrustItem.SecuCode, entrustItem.SecuType); if (secuItem != null) { entrustItem.SecuName = secuItem.SecuName; } entrustItems.Add(entrustItem); } } } return(entrustItems); }
private void FillSummary(CommandManagementItem cmdMngItem) { if (cmdMngItem == null) { return; } this.tbCommandId.Text = string.Format("{0}", cmdMngItem.CommandId); this.tbFundName.Text = string.Format("{0}--{1}", cmdMngItem.FundCode, cmdMngItem.FundName); this.tbPortfolioName.Text = string.Format("{0}--{1}", cmdMngItem.PortfolioCode, cmdMngItem.PortfolioName); this.tbCommandType.Text = string.Empty; this.tbArbType.Text = string.Empty; this.tbExecuteStage.Text = string.Empty; this.tbInstNo.Text = string.Format("{0}", cmdMngItem.InstanceId); this.tbInstCode.Text = string.Format("{0}", cmdMngItem.InstanceCode); this.tbSubmitDate.Text = DateFormat.Format(cmdMngItem.DDate, ConstVariable.DateFormat); this.tbSubmitTime.Text = DateFormat.Format(cmdMngItem.DDate, ConstVariable.TimeFormat); }
public List <CommandManagementDealItem> GetDealItems(CommandManagementItem cmdMngItem) { var dealItems = new List <CommandManagementDealItem>(); var entrustSecuItems = _entrustSecurityBLL.GetByCommandId(cmdMngItem.CommandId); if (entrustSecuItems != null && entrustSecuItems.Count > 0) { var validItems = entrustSecuItems.Where(p => p.TotalDealAmount > 0).ToList(); if (validItems.Count > 0) { foreach (var validItem in validItems) { var dealItem = new CommandManagementDealItem { SecuCode = validItem.SecuCode, SecuType = validItem.SecuType, EDirection = validItem.EntrustDirection, DealAmount = validItem.TotalDealAmount, DealMoney = validItem.TotalDealBalance, //PriceType = validItem.EntrustPriceType, FundName = cmdMngItem.FundName, PortfolioName = cmdMngItem.PortfolioName, CommandId = cmdMngItem.CommandId, }; if (dealItem.DealAmount > 0) { dealItem.DealPrice = dealItem.DealMoney / dealItem.DealAmount; } var secuItem = SecurityInfoManager.Instance.Get(dealItem.SecuCode, dealItem.SecuType); if (secuItem != null) { dealItem.SecuName = secuItem.SecuName; } dealItems.Add(dealItem); } } } return(dealItems); }
public int Update(CommandManagementItem cmdMngItem) { DateTime startDate = DateUtil.GetStartDate(cmdMngItem.DStartDate); DateTime endDate = DateUtil.GetEndDate(cmdMngItem.DEndDate, startDate); Model.Database.TradeCommand cmdItem = new Model.Database.TradeCommand { CommandId = cmdMngItem.CommandId, ECommandStatus = Model.EnumType.CommandStatus.Canceled, ModifiedDate = DateTime.Now, DStartDate = startDate, DEndDate = endDate, Notes = cmdMngItem.Notes ?? string.Empty, ModifiedCause = cmdMngItem.ModifiedCause, CancelCause = cmdMngItem.CancelCause, }; return(_tradeCommandBLL.Update(cmdItem)); }
private bool Form_LoadData(object sender, object data) { if (data == null || !(data is CommandManagementItem)) { return(false); } _cmdMgnItem = data as CommandManagementItem; //Load the child top panel FillSummary(_cmdMgnItem); //load the bottom panel FillEdit(_cmdMgnItem); //load the grid view FillGridView(_cmdMgnItem); return(true); }
public List <CommandManagementItem> GetCommandItems() { var commandItems = new List <CommandManagementItem>(); var tradeCommandItems = _tradeCommandBLL.GetAll(); foreach (var item in tradeCommandItems) { CommandManagementItem cmdItem = new CommandManagementItem { DDate = item.CreatedDate, CommandId = item.CommandId, ECommandStatus = item.ECommandStatus, ArbitrageCopies = item.CommandNum, DStartDate = item.DStartDate, DEndDate = item.DEndDate, EExecutype = item.EExecuteType, EDealStatus = item.EDealStatus, EEntrustStatus = item.EEntrustStatus, CommandModifiedTimes = item.ModifiedTimes, //DDispatchDate = item.d InstanceId = item.InstanceId, InstanceCode = item.InstanceCode, PortfolioId = item.PortfolioId, PortfolioCode = item.PortfolioCode, PortfolioName = item.PortfolioName, TemplateId = item.TemplateId, TemplateName = item.TemplateName, BearContract = item.BearContract, FundCode = item.AccountCode, FundName = item.AccountName, Notes = item.Notes, ModifiedCause = item.ModifiedCause, CancelCause = item.CancelCause, }; commandItems.Add(cmdItem); } return(commandItems); }
private void FillGridView(CommandManagementItem cmdMngItem) { //TODO: query the trading instance security to get the position amount and available amount var securities = _tradeCommandSecurityBLL.GetTradeCommandSecurities(cmdMngItem.CommandId); var instSecuItems = _tradeInstanceSecurityBLL.Get(cmdMngItem.InstanceId); foreach (var security in securities) { var item = new ModifySecurityItem { Selection = true, SecuCode = security.SecuCode, SecuType = security.SecuType, Fund = cmdMngItem.FundName, Portfolio = cmdMngItem.PortfolioDisplay, OriginCommandAmount = security.CommandAmount, EDirection = security.EDirection, OriginCommandPrice = security.CommandPrice, EntrustDirection = string.Format("{0}", (int)security.EDirection), NewCommandAmount = security.CommandAmount, }; if (instSecuItems != null) { var findItem = instSecuItems.Find(p => p.SecuCode.Equals(item.SecuCode) && p.SecuType == item.SecuType); if (findItem != null) { item.AvailableAmount = findItem.AvailableAmount; } } _dataSource.Add(item); } QueryQuote(); this.gridView.Invalidate(); }
private int UpdateItem(CommandManagementItem cmdMngItem, List <ModifySecurityItem> modifiedSecuItems, DateTime startDate, DateTime endDate, string notes) { //var oldInstance = _tradeInstanceBLL.GetInstance(cmdMngItem.InstanceId); //if (oldInstance == null || oldInstance.InstanceId != cmdMngItem.InstanceId) //{ // return -1; //} //TODO: add the StartDate, EndDate TradeCommand cmdItem = new TradeCommand { CommandId = cmdMngItem.CommandId, ECommandStatus = Model.EnumType.CommandStatus.Modified, DStartDate = startDate, DEndDate = endDate, ModifiedDate = DateTime.Now, Notes = !string.IsNullOrEmpty(notes)?notes: cmdMngItem.Notes, }; List <TradeCommandSecurity> tradeModifiedSecuItems = new List <TradeCommandSecurity>(); List <TradeCommandSecurity> tradeCancelSecuItems = new List <TradeCommandSecurity>(); var selectedModifiedSecuItems = modifiedSecuItems.Where(p => p.Selection).ToList(); foreach (var secuItem in selectedModifiedSecuItems) { TradeCommandSecurity tradeSecuItem = new TradeCommandSecurity { CommandId = cmdItem.CommandId, SecuCode = secuItem.SecuCode, SecuType = secuItem.SecuType, EDirection = secuItem.EDirection, CommandAmount = secuItem.NewCommandAmount, CommandPrice = secuItem.NewCommandPrice, CurrentPrice = secuItem.LastPrice, }; if (secuItem.Selection) { tradeModifiedSecuItems.Add(tradeSecuItem); } else { tradeCancelSecuItems.Add(tradeSecuItem); } } int result = _tradeCommandBLL.Update(cmdItem, tradeModifiedSecuItems, tradeCancelSecuItems); if (result > 0) { //TODO: add more parameters TradeInstance tradeInstance = new TradeInstance { InstanceId = cmdMngItem.InstanceId, InstanceCode = cmdMngItem.InstanceCode, FuturesContract = cmdMngItem.BearContract, //MonitorUnitId = oldInstance.MonitorUnitId, //StockDirection = oldInstance.StockDirection, //FuturesDirection = oldInstance.FuturesDirection, //FuturesPriceType = oldInstance.FuturesPriceType, }; List <TradeInstanceSecurity> modifiedInstSecuItems = new List <TradeInstanceSecurity>(); List <TradeInstanceSecurity> cancelInstSecuItems = new List <TradeInstanceSecurity>(); foreach (var secuItem in selectedModifiedSecuItems) { int modifiedAmount = secuItem.NewCommandAmount - secuItem.OriginCommandAmount; TradeInstanceSecurity tradeInstSecuItem = new TradeInstanceSecurity { SecuCode = secuItem.SecuCode, SecuType = secuItem.SecuType, InstructionPreBuy = 0, InstructionPreSell = 0, }; //TODO::::::how to handle the case??? switch (secuItem.EDirection) { case Model.EnumType.EntrustDirection.BuySpot: { tradeInstSecuItem.InstructionPreBuy = modifiedAmount; } break; case Model.EnumType.EntrustDirection.SellSpot: { tradeInstSecuItem.InstructionPreSell = modifiedAmount; } break; case Model.EnumType.EntrustDirection.SellOpen: { tradeInstSecuItem.InstructionPreSell = modifiedAmount; } break; case Model.EnumType.EntrustDirection.BuyClose: { tradeInstSecuItem.InstructionPreBuy = modifiedAmount; } break; } if (secuItem.Selection) { modifiedInstSecuItems.Add(tradeInstSecuItem); } else { cancelInstSecuItems.Add(tradeInstSecuItem); } } result = _tradeInstanceBLL.Update(tradeInstance, modifiedInstSecuItems, cancelInstSecuItems); } return(result); }
public List <CommandManagementSecurityItem> GetSecurityItems(CommandManagementItem cmdMngItem) { var cmdMngSecuItems = new List <CommandManagementSecurityItem>(); var cmdSecuItems = _tradeCommandSecurityBLL.GetTradeCommandSecurities(cmdMngItem.CommandId); var entrustSecuItems = _entrustSecurityBLL.GetByCommandId(cmdMngItem.CommandId); foreach (var secuItem in cmdSecuItems) { var cmdMngSecuItem = new CommandManagementSecurityItem { SecuCode = secuItem.SecuCode, SecuType = secuItem.SecuType, CommandAmount = secuItem.CommandAmount, EDirection = secuItem.EDirection, FundName = cmdMngItem.FundName, PortfolioName = cmdMngItem.PortfolioName, CommandId = cmdMngItem.CommandId, }; //计算累积委托数量和金额 var entrustedItems = entrustSecuItems.Where(p => p.SecuCode.Equals(secuItem.SecuCode) && p.SecuType == secuItem.SecuType && p.EntrustStatus == Model.EnumType.EntrustStatus.Completed) .ToList(); if (entrustedItems.Count > 0) { cmdMngSecuItem.TotalEntrustAmount = entrustedItems.Sum(p => p.EntrustAmount); cmdMngSecuItem.TotalEntrustMoney = entrustedItems.Sum(p => p.EntrustAmount * p.EntrustPrice); } //计算累积成交数量和金额 var dealItems = entrustSecuItems.Where(p => p.SecuCode.Equals(secuItem.SecuCode) && p.SecuType == secuItem.SecuType && (p.DealStatus == Model.EnumType.DealStatus.PartDeal || p.DealStatus == Model.EnumType.DealStatus.Completed)) .ToList(); if (dealItems.Count > 0) { cmdMngSecuItem.TotalDealAmount = dealItems.Sum(p => p.TotalDealAmount); cmdMngSecuItem.TotalDealMoney = dealItems.Sum(p => p.TotalDealBalance); } cmdMngSecuItem.UnentrustAmount = cmdMngSecuItem.CommandAmount - cmdMngSecuItem.TotalEntrustAmount; cmdMngSecuItem.UndealAmount = cmdMngSecuItem.TotalEntrustAmount - cmdMngSecuItem.TotalDealAmount; if (cmdMngSecuItem.UnentrustAmount == 0) { cmdMngSecuItem.EEntrustStatus = Model.EnumType.EntrustStatus.Completed; } else if (cmdMngSecuItem.TotalEntrustAmount > 0) { cmdMngSecuItem.EEntrustStatus = Model.EnumType.EntrustStatus.PartExecuted; } else { cmdMngSecuItem.EEntrustStatus = Model.EnumType.EntrustStatus.NoExecuted; } if (cmdMngSecuItem.UndealAmount == 0 && cmdMngSecuItem.EEntrustStatus == Model.EnumType.EntrustStatus.Completed) { cmdMngSecuItem.EDealStatus = Model.EnumType.DealStatus.Completed; } else if (cmdMngSecuItem.TotalDealAmount > 0) { cmdMngSecuItem.EDealStatus = Model.EnumType.DealStatus.PartDeal; } else { cmdMngSecuItem.EDealStatus = Model.EnumType.DealStatus.NoDeal; } var findItem = SecurityInfoManager.Instance.Get(secuItem.SecuCode, secuItem.SecuType); if (findItem != null) { cmdMngSecuItem.SecuName = findItem.SecuName; } cmdMngSecuItems.Add(cmdMngSecuItem); } return(cmdMngSecuItems); }