protected void Map(ExecutionReport report, execution_reports reportsDB) { reportsDB.exec_id = report.ExecID; reportsDB.transact_time = report.TransactTime; reportsDB.exec_type = Convert.ToChar(report.ExecType).ToString(); reportsDB.ord_status = Convert.ToChar(report.OrdStatus).ToString(); reportsDB.ord_rej_reason = report.OrdRejReason != null ? (int?)Convert.ToInt32(report.OrdRejReason) : null; reportsDB.last_qty = report.LastQty; reportsDB.last_px = report.LastPx; reportsDB.last_mkt = report.LastMkt; reportsDB.leaves_qty = report.LeavesQty; reportsDB.cum_qty = report.CumQty; reportsDB.avg_px = report.AvgPx; reportsDB.commission = report.Commission; reportsDB.text = report.Text; }
public static ExecutionReport Map(this execution_reports source) { return(Mapper.Map <execution_reports, ExecutionReport>(source)); }
public void Insert(ExecutionSummary summary) { execution_summaries execSummaryDB = GetById(summary.Id); if (execSummaryDB == null) { execution_summaries summaries = new execution_summaries(); Map(summary, summaries); summaries.positions = new positions(); Map(summary.Position, summaries.positions); foreach (Order order in summary.Position.Orders) { orders orderBD = new orders(); Map(order, orderBD); summaries.positions.orders.Add(orderBD); } foreach (ExecutionReport report in summary.Position.ExecutionReports) { execution_reports reportsDB = new execution_reports(); Map(report, reportsDB); summaries.positions.execution_reports.Add(reportsDB); } ctx.execution_summaries.AddObject(summaries); ctx.SaveChanges(); summary.Id = summaries.id; int i = 0; foreach (orders orderDB in summaries.positions.orders) { summary.Position.Orders[i].Id = orderDB.id; i++; } } else { Map(summary, execSummaryDB); Map(summary.Position, execSummaryDB.positions); foreach (Order order in summary.Position.Orders) { if (!execSummaryDB.positions.orders.Any(x => x.id == order.Id)) { orders orderBD = new orders(); Map(order, orderBD); execSummaryDB.positions.orders.Add(orderBD); } } foreach (ExecutionReport report in summary.Position.ExecutionReports) { if (report.TransactTime.HasValue && !execSummaryDB.positions.execution_reports.Any(x => x.transact_time.HasValue && DateTime.Compare(x.transact_time.Value, report.TransactTime.Value) == 0)) { execution_reports reportsDB = new execution_reports(); Map(report, reportsDB); execSummaryDB.positions.execution_reports.Add(reportsDB); } } ctx.SaveChanges(); } }