Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 public static ExecutionReport Map(this execution_reports source)
 {
     return(Mapper.Map <execution_reports, ExecutionReport>(source));
 }
Exemplo n.º 3
0
        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();
            }
        }