public void AddSendOrder(int groupID, List <SendOrderAddDTO> list) { List <TransModel> models = new List <TransModel>(); DateTime thisTime = DateTime.Now; int id = BSend.GetMaxId(); foreach (SendOrderAddDTO dto in list) { SendOrder send = new SendOrder(); send.GroupID = groupID; send.SendOrderID = id; send.OrderDetailID = dto.OrderDetailID; send.BuildAddr = ""; send.Price = 0; send.RealArea = 0; send.RealPrice = 0; send.Remark = ""; send.SendType = 0; send.SendArea = dto.SendNum; send.AddTime = thisTime; models.Add(BSend.CreateAddSql(send)); id++; } DataService.DbHelperSQL.ExecuteSqlTran(models); }
public IActionResult OrderSend(SendOrder sendorder) { if (ModelState.IsValid) { _orderRepository.CreateOrder(sendorder); return(RedirectToAction("SendOrderoutComplete")); } return(View(sendorder)); }
public bool SendOrder(SendOrder sendOrder) { if (_sendOrder.IsSendOrderExists(sendOrder)) { return(_sendOrder.UpdateSendOrder(sendOrder) > 0); } else { return(_sendOrder.SendOrder(sendOrder) > 0); } }
public ActionResult SendOrder(SendOrder sendOrder) { sendOrder.EmpId = Session["EmpId"].ToString(); try { ViewBag.Message = _sendOrder.SendOrder(sendOrder) ? "Request send Successfully" : "Request send Failed"; } catch (Exception exception) { ViewBag.Message = exception.Message; } return(View()); }
public SendOrder CreateJson(Customer customer) { var res = new SendOrder(); res.goods = new List <Good>(); foreach (var item in goods) { res.goods.Add(new Good() { id = item.id, quantity = item.quantity }); } res.customer = customer.id; return(res); }
public async Task <IActionResult> Submit(string id) { try { var sendOrder = new SendOrder { OrderId = id, OrderDate = DateTime.Now, OrderAmount = 1 }; _logger.LogInformation("sending data: {@1}", sendOrder); await _bus.Send(sendOrder); return(Accepted(id)); } catch (RequestTimeoutException ex) { _logger.LogError(ex, "Bus Request timeout"); throw; } }
internal void SendOrder(SendOrder o) => request.RequestTrData(new Task(() => SendErrorMessage(axAPI.SendOrder(o.RQName, o.ScreenNo, o.AccNo, o.OrderType, o.Code, o.Qty, o.Price, o.HogaGb, o.OrgOrderNo))));
internal override void OnReceiveRealData(_DKHOpenAPIEvents_OnReceiveRealDataEvent e) { var param = base.OnReceiveRealData(e, fid); int arg = int.MinValue; if (int.TryParse(param[1].Substring(0, 2), out int conclusion)) { switch (param[0]) { case "0": if (param[1].Equals(reservation)) { arg = (int)Operation.장시작전; Delay.Milliseconds = 0xE7; } break; case "3": foreach (var holding in Connect.HoldingStock) { holding.Value.WaitOrder = true; } arg = (int)Operation.장시작; DeadLine = true; Delay.Milliseconds = 0xC9; break; case "e" when DeadLine: arg = (int)Operation.옵_장마감전_동시호가_종료; DeadLine = false; Delay.Milliseconds = 0xE17; break; case "8": arg = (int)Operation.장마감; DeadLine = false; Delay.Milliseconds = 0xE11; break; case "d": arg = (int)Operation.시간외_단일가_매매종료; break; case "2": if (param[1].Equals(quote)) { var connect = Connect.GetInstance(API); Delay.Milliseconds = 0xCF; foreach (var kv in Connect.HoldingStock) { switch (kv.Value.FindStrategics) { case TrendsInValuation tv: foreach (var order in kv.Value.OrderNumber) { var send = new SendOrder { RQName = API.GetMasterCodeName(tv.Code), ScreenNo = connect.LookupScreenNo, AccNo = Account, OrderType = (int)(kv.Value.Current > order.Value ? OpenOrderType.매수취소 : OpenOrderType.매도취소), Code = tv.Code, Qty = kv.Value.Current > order.Value ? tv.ReservationAddtionalQuantity : tv.ReservationSubtractionalQuantity, Price = order.Value, HogaGb = ((int)HogaGb.지정가).ToString("D2"), OrgOrderNo = order.Key }; connect.SendOrder(send); Connect.Cash += (send.OrderType == 3 ? send.Price : 0); } int bPrice, sPrice, quantity = kv.Value.Quantity, price = int.TryParse(API.GetMasterLastPrice(tv.Code), out int before) ? before : 0, upper = (int)(price * 1.3), lower = (int)(price * 0.7); var stock = API.KOA_Functions(info, tv.Code).Split(';')[0].Contains(market); if (tv.ReservationSubtractionalQuantity > 0) { sPrice = kv.Value.GetStartingPrice((int)((kv.Value.Purchase ?? 0D) * (1 + tv.Subtraction)), stock); sPrice = sPrice < lower ? lower + kv.Value.GetQuoteUnit(sPrice, stock) : sPrice; while (sPrice < upper && quantity-- > 0) { SendMessage(sPrice.ToString("C0")); connect.SendOrder(new SendOrder { RQName = API.GetMasterCodeName(tv.Code), ScreenNo = connect.LookupScreenNo, AccNo = Account, OrderType = (int)OpenOrderType.신규매도, Code = tv.Code, Qty = tv.ReservationSubtractionalQuantity, Price = sPrice, HogaGb = ((int)HogaGb.지정가).ToString("D2"), OrgOrderNo = string.Empty }); for (int i = 0; i < tv.SubtractionalUnit; i++) { sPrice += kv.Value.GetQuoteUnit(sPrice, stock); } } } if (tv.ReservationAddtionalQuantity > 0) { bPrice = kv.Value.GetStartingPrice((int)((kv.Value.Purchase ?? 0D) * (1 - tv.Addition)), stock); while (bPrice > lower && Connect.Cash > bPrice * (1.5e-4 + 1)) { connect.SendOrder(new SendOrder { RQName = API.GetMasterCodeName(tv.Code), ScreenNo = connect.LookupScreenNo, AccNo = Account, OrderType = (int)OpenOrderType.신규매수, Code = tv.Code, Qty = tv.ReservationAddtionalQuantity, Price = bPrice, HogaGb = ((int)HogaGb.지정가).ToString("D2"), OrgOrderNo = string.Empty }); for (int i = 0; i < tv.AdditionalUnit; i++) { bPrice -= kv.Value.GetQuoteUnit(bPrice, stock); } Connect.Cash -= (long)(bPrice * (1.5e-4 + 1)); SendMessage(Connect.Cash.ToString("C0")); } } break; } } } return; } if (arg > int.MinValue) { Send?.Invoke(this, new SendSecuritiesAPI(arg, conclusion)); } } SendMessage(string.Concat(DeadLine, '_', param[0], '_', param[1], '_', param[2])); }