Ejemplo n.º 1
0
        public static LogOrder GetLogOrderEntity(OrderTask orderTask,OperationType operationType,string objectId)
        {
            LogOrder logEntity = new LogOrder();

            string hostname = Dns.GetHostName();
            IPHostEntry localhost = Dns.GetHostEntry(hostname);
            IPAddress localaddr = localhost.AddressList[0];
            logEntity.IP = localaddr.ToString();

            logEntity.UserId = ConsoleClient.Instance.User.UserId;
            logEntity.UserName = ConsoleClient.Instance.User.UserName;
            logEntity.Event = objectId;// "ExecuteOrder";
            logEntity.ExchangeCode = orderTask.ExchangeCode;
            logEntity.OperationType = operationType;
            logEntity.OrderId = orderTask.OrderId;
            logEntity.OrderCode = orderTask.Code;
            logEntity.AccountCode = orderTask.AccountCode;
            logEntity.InstrumentCode = orderTask.InstrumentCode;
            logEntity.IsBuy = orderTask.IsBuy == BuySell.Buy;
            logEntity.IsOpen = orderTask.IsOpen == OpenClose.Open;
            logEntity.Lot = orderTask.Lot.Value;
            logEntity.SetPrice = orderTask.SetPrice;
            logEntity.OrderType = orderTask.OrderType;
            logEntity.OrderRelation = null;
            logEntity.TransactionCode = orderTask.Transaction.Code;

            return logEntity;
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <Order> > CancelOrder(int id)
        {
            var order = await _context.Order.FindAsync(id);

            if (order == null)
            {
                return(NotFound());
            }

            var item = _context.Item.FirstOrDefault(x => x.Sku.ToLower() == order.Sku.ToLower());

            item.StockQuantity += order.Quantity;
            order.Status        = (int)Enumerations.OrderStatus.Canceled;
            order.Quantity      = 0;

            var logOrder = new LogOrder()
            {
                Sku      = order.Sku,
                Modified = DateTime.Now,
                OrderId  = order.Id,
                UserId   = order.UserId,
                Quantity = order.Quantity,
                Status   = order.Status
            };

            _context.LogOrder.Add(logOrder);
            _context.Entry(order).State = EntityState.Modified;
            _context.Entry(item).State  = EntityState.Modified;

            await _context.SaveChangesAsync();

            return(order);
        }
Ejemplo n.º 3
0
 public void AcceptPlace(Transaction tran,LogOrder logEntity,Action<Transaction, TransactionError> EndAcceptPlace)
 {
     this._ServiceProxy.BeginAcceptPlace(tran.Id,logEntity,delegate(IAsyncResult result)
     {
         TransactionError transactionError = this._ServiceProxy.EndAcceptPlace(result);
         EndAcceptPlace(tran, transactionError);
     }, null);
 }
Ejemplo n.º 4
0
        private IOrderedEnumerable <MessageContext> SortMessages(LogOrder logOrder)
        {
            switch (logOrder)
            {
            case LogOrder.ByLevel:
                return(this.Log.SelectMany(p => p.Value).OrderByDescending(c => c.Level));

            default:
                return(this.Log.SelectMany(p => p.Value).OrderBy(c => c.Timestamp));
            }
        }
Ejemplo n.º 5
0
        private string FormattedLog(LogOrder logOrder)
        {
            StringBuilder builder = new StringBuilder();

            foreach (MessageContext context in SortMessages(logOrder))
            {
                builder.AppendFormat(Strings.FormattedLogMessage, context.Timestamp.ToLongTimeString(), context.Level, context.Message);
                builder.AppendLine();
            }

            return(builder.ToString());
        }
Ejemplo n.º 6
0
        public async Task <ActionResult <Order> > PostOrder(Order order)
        {
            var item = _context.Item.FirstOrDefault(x => x.Sku.ToLower() == order.Sku.ToLower());

            if (item == null)
            {
                return(new ConflictResult());
            }

            if (item.StockQuantity < order.Quantity)
            {
                return(new ConflictResult());
            }

            var userExists = _context.User.Any(x => x.Id == order.UserId);

            if (!userExists)
            {
                return(new ForbidResult());
            }

            item.StockQuantity -= order.Quantity;
            order.Modified      = DateTime.Now;
            order.Status        = (int)Enumerations.OrderStatus.Active;

            _context.Entry(item).State = EntityState.Modified;
            _context.Order.Add(order);
            _context.SaveChanges();

            var logOrder = new LogOrder()
            {
                Sku      = order.Sku,
                Modified = DateTime.Now,
                OrderId  = order.Id,
                UserId   = order.UserId,
                Quantity = order.Quantity,
                Status   = order.Status
            };

            _context.LogOrder.Add(logOrder);
            _context.SaveChanges();

            return(CreatedAtAction("GetOrder", new { id = order.Id }, order));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// public enum MsgAlertType
        ///{
        ///    消息,
        ///    错误,
        ///    成功,
        ///   致命错误  会记录到数据库的
        /// }
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="msgOrder"></param>
        /// <param name="modleName"></param>
        /// <param name="funName"></param>
        /// <param name="?"></param>
        /// <param name="?"></param>
        /// <returns></returns>
        public int Write(string msg, LogOrder msgOrder = LogOrder.严重错误, string funName = "", string className = "", string modleName = "", string context = "")
        {
            T_Log log = new T_Log();

            log.ID              = Guid.NewGuid().ToString();
            log.Info            = msg;
            log.msgOrder        = (int)msgOrder;
            log.FunNameSource   = funName;
            log.ClassNameSource = className;
            log.ModleNameSource = modleName;
            log.ContextInfo     = context;
            log.CrateDate       = DateTime.Now;
            if (FrameSession.Session.Instance.CurrenterUser == null)
            {
                log.Createor = "TTS";
            }
            else
            {
                log.Createor = FrameSession.Session.Instance.CurrenterUserName;
            }

            int i = CurrentClient.Write(log);

            if (i < 1)
            {
                string path = Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.Templates), "Gold");
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                string filePath = Path.Combine(path, DateTime.Now.ToString("yyyyMMdd") + ".txt");
                using (FileStream fs = new FileStream(filePath, FileMode.Append))
                {
                    using (StreamWriter sw = new StreamWriter(fs))
                    {
                        //开始写入
                        sw.Write(context + System.Environment.NewLine);
                    }
                }
            }
            return(i);
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> PutOrder(int id, Order order)
        {
            if (id != order.Id)
            {
                return(BadRequest());
            }

            _context.Entry(order).State = EntityState.Modified;

            var logOrder = new LogOrder()
            {
                Sku      = order.Sku,
                Modified = DateTime.Now,
                OrderId  = order.Id,
                UserId   = order.UserId,
                Quantity = order.Quantity,
                Status   = order.Status
            };

            _context.LogOrder.Add(logOrder);

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OrderExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 9
0
 /// <inheritdoc/>
 public string OutputLog(LogOrder logOrder)
 {
     return(FormattedLog(logOrder));
 }
Ejemplo n.º 10
0
 public void Execute(Transaction tran, string buyPrice, string sellPrice, decimal lot, Guid orderId, LogOrder logEntity, Action<Transaction, TransactionResult> EndExecute)
 {
     this._ServiceProxy.BeginExecute(tran.Id, buyPrice, sellPrice, lot, orderId, logEntity, delegate(IAsyncResult result)
     {
         TransactionResult tranResult = this._ServiceProxy.EndExecute(result);
         EndExecute(tran, tranResult);
     }, null);
 }
Ejemplo n.º 11
0
 public void Cancel(Transaction tran, CancelReason cancelReason, LogOrder logEntity, Action<Transaction, TransactionError> EndCancel)
 {
     this._ServiceProxy.BeginCancel(tran.Id, cancelReason, logEntity, delegate(IAsyncResult result)
     {
         TransactionError transactionError = this._ServiceProxy.EndCancel(result);
         EndCancel(tran, transactionError);
     }, null);
 }