/// <summary> /// 同步下载 /// </summary> /// <param name="id"></param> /// <returns></returns> public IHttpActionResult GetMyStocks() { var user_id = this.User.Identity.Name; var list = service.GetMyStock(user_id); //IList<string> codeList = list.Select(p => p.).ToList(); var query = from t in list select new Stock { code = t.stock_code, symbol = t.stock.symbol, name = t.stock.name, sort = t.sort, inhand = t.inhand ?? true }; decimal version = versionService.GetUserDataVersion(user_id, dm.DataVersionCode.my_stock.ToString()); var myStock = new MyStock() { user_id = user_id, stocks = query.ToList(), version = version }; return(Ok <MyStock>(myStock)); }
/* * Method used to show Sell options on tap; created for TappedCommand * * @arg * argument */ private async void TappedStock(object arg) { IList <Stock> stocks = new List <Stock>(); MyStock myStock = (MyStock)arg; // Change IsVisible property based on the last tapped item if (myStock == LastTappedStock) { LastTappedStock.IsVisible = !LastTappedStock.IsVisible; } else { myStock.IsVisible = true; LastTappedStock.IsVisible = false; LastTappedStock = myStock; } if (LastTappedStock.IsVisible) { // Show current price when stock is tapped stocks = await FirestoreDatabase.RetrieveStock(LastTappedStock.ShortName); NowPrice = stocks[0].NowPrice; } OnPropertyChanged("IsVisible"); OnPropertyChanged("NowPrice"); UpdateList(); }
// Method used to notify the app that the response from the server was received and how to handle the response public void OnComplete(Android.Gms.Tasks.Task task) { if (task.IsSuccessful) { var documents = (QuerySnapshot)task.Result; MyStocks.Clear(); foreach (var doc in documents.Documents) { MyStock stock = new MyStock() { MyStockId = doc.Id, ShortName = (string)doc.Get("shortname"), LongName = (string)doc.Get("longname"), BuyPrice = (double)doc.Get("buyprice"), Quantity = (int)doc.Get("quantity"), RonRate = (double)doc.Get("ronrate"), ImageUri = ImageSource.FromUri(new Uri((string)doc.Get("imageuri"))) }; // Convert the BuyPrice to the rate at which the stock was bought if (CrossMultilingual.Current.CurrentCultureInfo.TwoLetterISOLanguageName.Equals("ro")) { stock.BuyPrice = stock.BuyPrice * stock.RonRate; } MyStocks.Add(stock); } } else { MyStocks.Clear(); } hasReadStocks = true; }
//나의 주식함수를 불러서 내가 소유중인 주식 스크립트 배열을 사용한다 //기본적인 초기화 실시 void Start() { mystockOnOff = FindObjectOfType <MyStock>(); sellStockCountPanel.text = "0"; buyStockCountPanel.text = "0"; theStat = FindObjectOfType <PlayerStatManager>(); }
/* * Method used to delete a stock owned by a user * @mystock * The stock to be deleted */ public bool DeleteMyStock(MyStock mystock) { try { var collection = Firebase.Firestore.FirebaseFirestore.Instance.Collection("mystocks"); collection.Document(mystock.MyStockId).Delete(); return(true); } catch (Exception) { return(false); } }
/* * Method used to update the quantity of a stock owned, after selling * @mystock * The stock to be updated * @quantity * The quantity with which the owned stock's quantity will be updated */ public bool UpdateMyStock(MyStock mystock, int quantity) { try { var collection = Firebase.Firestore.FirebaseFirestore.Instance.Collection("mystocks"); collection.Document(mystock.MyStockId).Update("quantity", mystock.Quantity + quantity); return(true); } catch (Exception) { return(false); } }
private void BindData() { MyStock stock1 = new MyStock { Product_Id = 1, Stock = "Stock 1" }; MyStock stock2 = new MyStock { Product_Id = 2, Stock = "Stock 2" }; dListProduct.DataSource = new List <MyStock> { stock1, stock2 }; dListProduct.DataBind(); }
private static void Time_Tick(object source, System.Timers.ElapsedEventArgs e) { if (DataChangedEvent.GetInvocationList().Count() <= 0) { return; } RefreshStockPriceFromWeb(MyStock.Where(r => !r.IsSilver).ToList()); RefreshSilverPrice(MyStock.Where(r => r.IsSilver).FirstOrDefault()); OnDataChanged(new DataEventArgs() { Stocks = MyStock }); }
public ActionResult Remove_Order(int?id) { if (id == null) { return(HttpNotFound()); } MyStock mt = db.MyStocks.Find(id); db.MyStocks.Remove(mt); int r = db.SaveChanges(); if (r > 0) { return(RedirectToAction("PurchaseItems")); } return(RedirectToAction("PurchaseItems")); }
public IHttpActionResult PostMyStocks(MyStock myStock) { IList <dm.stock_user_map> list = (from t in myStock.stocks select new dm.stock_user_map { group_name = "default", user_id = myStock.user_id, stock_code = t.code, inhand = t.inhand, sort = t.sort }).ToList(); service.SyncMyStock(myStock.user_id, list); versionService.UpdateUserDataVersion(myStock.user_id, dm.DataVersionCode.my_stock.ToString(), myStock.version); return(Ok <Message>(new Message { success = true })); }
/* * Method used to insert a stock into the user's portofolio (buying operation) * @mystock * The stock to be inserted */ public async Task <bool> InsertMyStock(Stock mystock, string UserId, int quantity) { try { // If budget does not allow, user cannot buy the stock bool canBuy = App.myUser.UpdateBudget(UserId, quantity, mystock.NowPrice); if (!canBuy) { return(false); } var collection = Firebase.Firestore.FirebaseFirestore.Instance.Collection("mystocks"); // Verify that the stock is already owned or not MyQuery myQuery = new MyQuery(); MyStock UpdateStock = await myQuery.UpdateQuery(mystock, UserId); if (UpdateStock != null) { UpdateMyStock(UpdateStock, quantity); return(true); } var stock = new Dictionary <string, Java.Lang.Object> { { "userid", UserId }, { "shortname", mystock.ShortName }, { "longname", mystock.LongName }, { "quantity", quantity }, // has Uri: in front of the actual Uri { "imageuri", mystock.ImageUri.ToString().Remove(0, 5) }, { "ronrate", (double)App.Current.Properties["rate"] }, { "buyprice", Math.Round(CrossMultilingual.Current.CurrentCultureInfo.TwoLetterISOLanguageName.Equals("ro") ? mystock.NowPrice / (double)App.Current.Properties["rate"] : mystock.NowPrice, 2) } }; collection.Add(stock); return(true); } catch (Exception) { return(false); } }
public ActionResult Delete_Item(int id, int invoice, int quantity, int item_id_in_sell) { //MyStock mm = db.MyStocks.Find(id); //db.MyStocks.Remove(mm); //db.SaveChanges(); ViewBag.preQuantity = from TotalItemsQuantity in db.TotalItemsQuantitys.Where(z => z.id == id) select TotalItemsQuantity; foreach (var mm in ViewBag.preQuantity) { ViewBag.c = mm.quantity; } int pp = Convert.ToInt32(ViewBag.c); int total = pp - quantity; var itemid = db.TotalItemsQuantitys.Where(x => x.id == id).ToList(); foreach (var vm in itemid) { vm.quantity = total; db.SaveChanges(); } MyStock mdd = db.MyStocks.Find(item_id_in_sell); db.MyStocks.Remove(mdd); //db.SaveChanges(); //here i am deleting order item if user dont want to confirm that order //MyStock md = db.MyStocks.Find(item_id_in_sell); //db.MyStocks.Remove(md); int res = db.SaveChanges(); if (res > 0) { var query = from v in db.MyStocks.Where(x => x.invoice == invoice) select v; return(View(query)); } return(RedirectToAction("Item_Stock")); }
// Method used to notify the app that the response from the server was received and how to handle the response public void OnComplete(Android.Gms.Tasks.Task task) { if (task.IsSuccessful) { var document = (QuerySnapshot)task.Result; foreach (var doc in document.Documents) { myStock = new MyStock { MyStockId = doc.Id, ShortName = (string)doc.Get("shortname"), LongName = (string)doc.Get("longname"), BuyPrice = (double)doc.Get("buyprice"), Quantity = (int)doc.Get("quantity"), ImageUri = (string)doc.Get("imageuri"), }; } hasFoundDoc = true; } }
// Deletes a stock owned by the user public static bool DeleteMyStock(MyStock mystock) { return(Myfirestore.DeleteMyStock(mystock)); }
public override void ReceivedData(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, AxKHOpenAPILib._DKHOpenAPIEvents_OnReceiveTrDataEvent e) { FileLog.PrintF("ReceivedData OPT10085"); //try { /* * sScrNo – 화면번호 * sRQName – 사용자구분 명 * sTrCode – Tran 명 * sRecordName – Record 명 * sPreNext – 연속조회 유무 */ String 계좌번호 = "XXXXXXXXXX"; int nCnt = axKHOpenAPI.GetRepeatCnt(e.sTrCode, e.sRQName); String keyStockCodeLayout = "sRQName:{0}|sTrCode:{1}|sScreenNo:{2}"; String keyStockCode = String.Format(keyStockCodeLayout , e.sRQName , e.sTrCode , e.sScrNo ); 계좌번호 = AppLib.getClass1Instance().getStockCode(keyStockCode); String keyLayout = "sRQName:{0}|sTrCode:{1}|sScreenNo:{2}|accountNum:{3}"; String key = String.Format(keyLayout , e.sRQName , e.sTrCode , e.sScrNo , 계좌번호 ); List <OPT10085_Data> opt10085_DataList = new List <OPT10085_Data>(); if (nCnt > 0) { for (int i = 0; i < nCnt; i++) { FileLog.PrintF("OPT10085 ReceivedData 구매일자 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "일자").Trim()); //[0] FileLog.PrintF("OPT10085 ReceivedData 종목코드 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "종목코드").Trim()); //[1] FileLog.PrintF("OPT10085 ReceivedData 종목명 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "종목명").Trim()); //[2] FileLog.PrintF("OPT10085 ReceivedData 현재가 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "현재가").Trim()); //[3] FileLog.PrintF("OPT10085 ReceivedData 매입가 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "매입가").Trim()); //[4] FileLog.PrintF("OPT10085 ReceivedData 매입금액 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "매입금액").Trim()); //[5] FileLog.PrintF("OPT10085 ReceivedData 보유수량 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "보유수량").Trim()); //[6] FileLog.PrintF("OPT10085 ReceivedData 당일매도손익 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "당일매도손익").Trim()); //[7] FileLog.PrintF("OPT10085 ReceivedData 당일매매수수료 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "당일매매수수료").Trim()); //[8] FileLog.PrintF("OPT10085 ReceivedData 당일매매세금 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "당일매매세금").Trim()); //[9] FileLog.PrintF("OPT10085 ReceivedData 신용구분 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "신용구분").Trim()); //[10] FileLog.PrintF("OPT10085 ReceivedData 대출일 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "대출일").Trim()); //[11] FileLog.PrintF("OPT10085 ReceivedData 결제잔고 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "결제잔고").Trim()); //[12] FileLog.PrintF("OPT10085 ReceivedData 청산가능수량 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "청산가능수량").Trim()); //[13] FileLog.PrintF("OPT10085 ReceivedData 신용금액 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "신용금액").Trim()); //[14] FileLog.PrintF("OPT10085 ReceivedData 신용이자 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "신용이자").Trim()); //[15] FileLog.PrintF("OPT10085 ReceivedData 만기일 =>" + axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "만기일").Trim()); //[16] OPT10085_Data opt10085_Data = new OPT10085_Data(); opt10085_Data.구매일자 = axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "일자").Trim(); //[0] opt10085_Data.종목코드 = axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "종목코드").Trim(); //[1] opt10085_Data.종목명 = axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "종목명").Trim(); //[2] int 현재가 = Int32.Parse(axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "현재가").Trim()); //[3] opt10085_Data.현재가 = 현재가; opt10085_Data.매입가 = Int32.Parse(axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "매입가").Trim()); //[4] int 매입금액 = Int32.Parse(axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "매입금액").Trim()); //[5] opt10085_Data.매입금액 = 매입금액; int 보유수량 = Int32.Parse(axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "보유수량").Trim()); //[6] opt10085_Data.보유수량 = 보유수량; opt10085_Data.당일매도손익 = Int32.Parse(axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "당일매도손익").Trim()); //[7] String str당일매매수수료 = axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "당일매매수수료"); opt10085_Data.당일매매수수료 = 0; if (isNotNull(str당일매매수수료) == true) { opt10085_Data.당일매매수수료 = Int32.Parse(str당일매매수수료.Trim()); //[8] } opt10085_Data.당일매매세금 = Int32.Parse(axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "당일매매세금").Trim()); //[9] opt10085_Data.신용구분 = axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "신용구분").Trim(); //[10] opt10085_Data.대출일 = axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "대출일").Trim(); //[11] opt10085_Data.결제잔고 = Int32.Parse(axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "결제잔고").Trim()); //[12] opt10085_Data.청산가능수량 = Int32.Parse(axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "청산가능수량").Trim()); //[13] opt10085_Data.신용금액 = Int32.Parse(axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "신용금액").Trim()); //[14] opt10085_Data.신용이자 = Int32.Parse(axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "신용이자").Trim()); //[15] opt10085_Data.만기일 = axKHOpenAPI.CommGetData(e.sTrCode, "", e.sRQName, i, "만기일").Trim(); //[16] /*내가 만들 데이터*/ /*매입가에는 수수료가 포함안되어있다. 매입당시 수수료가 통장에서 빠져나가지만 내가 얼마나 수익이 났는지 확인하기 위해 * 매입수수료와 매도 수수료를 합쳐서 수수료로 표시해준다. * 수수료는 10원 미만 절삭 86원이면 80원임 */ //System.Math.Truncate() int 평가금액 = Math.Abs(현재가) * 보유수량; int 매입수수료 = Commission.GetKiwoomCommissionBuy(매입금액); int 매도수수료 = Commission.GetKiwoomCommissionSell(평가금액); int 수수료 = 매입수수료 + 매도수수료; int 매도세금 = Commission.GetTaxSell(평가금액); int 손익분기매입가 = 0; if (보유수량 != 0) //이게 0일경우가 있다 매도를 한상태일경우 보유수량이 0으로 리스트에 계속 존재한다. { 손익분기매입가 = (매입수수료 + 매도수수료 + 매도세금 + 매입금액) / 보유수량; // 무조건오림 } int 평가손익 = 평가금액 - (매입금액 + 수수료 + 매도세금); // float 수익률 = (평가손익 / 매입금액) * 100; //int끼리 나눠서... 소수점을 버리는구나.. 이런.. float 수익률 = 0; if (매입금액 != 0) { 수익률 = ((float)평가손익 / (float)매입금액) * 100; } int 손익금액 = (평가금액 - 매입금액); float 손익율 = 0; if (매입금액 != 0) { 손익율 = ((float)손익금액 / (float)매입금액) * 100; } opt10085_Data.평가금액 = 평가금액; opt10085_Data.매입수수료 = 매입수수료; opt10085_Data.매도수수료 = 매도수수료; opt10085_Data.수수료 = 수수료; opt10085_Data.매도세금 = 매도세금; opt10085_Data.손익분기매입가 = 손익분기매입가; opt10085_Data.평가손익 = 평가손익; opt10085_Data.수익률 = 수익률; opt10085_Data.손익금액 = 손익금액; opt10085_Data.손익율 = 손익율; opt10085_Data.계좌번호 = 계좌번호; FileLog.PrintF("OPT10085 ReceivedData 평가손익=>" + 평가손익); FileLog.PrintF("OPT10085 ReceivedData 손익금액=>" + 손익금액); FileLog.PrintF("OPT10085 ReceivedData 매입금액=>" + 매입금액); FileLog.PrintF("OPT10085 ReceivedData 평가손익=>" + 평가손익); FileLog.PrintF("OPT10085 ReceivedData 수익률=>" + 수익률); FileLog.PrintF("OPT10085 ReceivedData 손익율=>" + 손익율); //(8025-8089)/8089*100 //24005=23775+160+70 //24005-24575=-570 //24805 opt10085_DataList.Add(opt10085_Data); } } //axKHOpenAPI.DisconnectRealData(e.sScrNo); 계좌 수익률 정보는 실시간 데이터간 데이터로 들어온다면... 실시간으로 처리하는것이 이익이다.. //화면번호도 고정이면 좋을것 같다... FileLog.PrintF("ReceivedData OPT10085 opt10085_DataList.Count()=>" + opt10085_DataList.Count()); AppLib.getClass1Instance().removeStockCodeDictionary(keyStockCode); AppLib.getClass1Instance().removeSpellDictionary(key); MyStock.getClass1Instance().reLoad(opt10085_DataList); //보내는처리 무엇이든. //} //catch(Exception ex) //{ // FileLog.PrintF("[ALERT-ReceivedData-OPT10085]Exception ex=" + ex.Message); //} }
public override void ReceivedData(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, AxKHOpenAPILib._DKHOpenAPIEvents_OnReceiveRealDataEvent e) { /* * * [20] = 체결시간 //(0) * [10] = 현재가 //(1) * [11] = 전일대비 //(2) * [12] = 등락율 //(3) * [27] = (최우선)매도호가 //(4) * [28] = (최우선)매수호가 //(5) * [15] = 거래량 //(6) * [13] = 누적거래량 //(7) * [14] = 누적거래대금 //(8) * [16] = 시가 //(9) * [17] = 고가 //(10) * [18] = 저가 //(11) * [25] = 전일대비기호 //(12) * [26] = 전일거래량대비(계약,주) //(13) * [29] = 거래대금증감 //(14) * [30] = 전일거래량대비(비율) //(15) * [31] = 거래회전율 //(16) * [32] = 거래비용 //(17) * [228] = 체결강도 //(18) * [311] = 시가총액(억) //(19) * [290] = 장구분 //(20) * [691] = KO접근도 //(21) * [567] = 상한가발생시간 //(22) * [568] = 하한가발생시간 //(23) * */ /* * FileLog.PrintF(String.Format("체결시간=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 20).Trim())); //[0] * FileLog.PrintF(String.Format("현재가=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 10).Trim())); //[1] * FileLog.PrintF(String.Format("전일대비=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 11).Trim())); //[2] * FileLog.PrintF(String.Format("등락율=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 12).Trim())); //[3] * FileLog.PrintF(String.Format("(최우선)매도호가=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 27).Trim())); //[4] * FileLog.PrintF(String.Format("(최우선)매수호가=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 28).Trim())); //[5] * FileLog.PrintF(String.Format("거래량=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 15).Trim())); //[6] * FileLog.PrintF(String.Format("누적거래량=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 13).Trim())); //[7] * FileLog.PrintF(String.Format("누적거래대금=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 14).Trim())); //[8] * FileLog.PrintF(String.Format("시가=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 16).Trim())); //[9] * FileLog.PrintF(String.Format("고가=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 17).Trim())); //[10] * FileLog.PrintF(String.Format("저가=>{0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 18).Trim())); //[11] * FileLog.PrintF(String.Format("전일대비기호=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 25).Trim())); //[12] * FileLog.PrintF(String.Format("전일거래량대비_계약_주=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 26).Trim())); //[13] * FileLog.PrintF(String.Format("거래대금증감=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 29).Trim())); //[14] * FileLog.PrintF(String.Format("전일거래량대비_비율=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 30).Trim())); //[15] * FileLog.PrintF(String.Format("거래회전율=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 31).Trim())); //[16] * FileLog.PrintF(String.Format("거래비용=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 32).Trim())); //[17] * FileLog.PrintF(String.Format("체결강도=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 228).Trim())); //[18] * FileLog.PrintF(String.Format("시가총액_억=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 311).Trim())); //[19] * FileLog.PrintF(String.Format("장구분=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 290).Trim())); //[20] * FileLog.PrintF(String.Format("KO접근도=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 691).Trim())); //[21] * FileLog.PrintF(String.Format("상한가발생시간=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 567).Trim())); //[22] * FileLog.PrintF(String.Format("하한가발생시간=> {0} ", axKHOpenAPI.GetCommRealData(e.sRealType, 568).Trim())); //[23] * FileLog.PrintF(String.Format("종목코드=> {0} ", e.sRealKey.ToString().Trim())); * FileLog.PrintF(String.Format("RealName=> {0} ", e.sRealType.ToString().Trim())); * FileLog.PrintF(String.Format("sRealData=> {0} ", e.sRealData.ToString().Trim())); */ String 현재일자 = DateTime.Now.ToString("yyyy-MM-dd"); String 체결시간TMP = axKHOpenAPI.GetCommRealData(e.sRealType, 20).Trim(); //[0] //체결시간이 6자리이므로 HHMMSS ==> HH:MM:SS로 바꿔야한다. String 체결시간 = 체결시간TMP.Substring(0, 2) + ":" + 체결시간TMP.Substring(2, 2) + ":" + 체결시간TMP.Substring(4, 2); 체결시간 = 현재일자 + " " + 체결시간; REAL10002_Data real10002_data = new REAL10002_Data(); //String 현재시간 = DateTime.Now.ToString("yyyyMMdd HH:mm:ss:fff"); real10002_data.체결시간 = 체결시간; real10002_data.현재가 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 10).Trim()); //[1] real10002_data.전일대비 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 11).Trim()); //[2] real10002_data.등락율 = float.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 12).Trim()); //[3] real10002_data.매도호가 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 27).Trim()); //[4] real10002_data.매수호가 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 28).Trim()); //[5] real10002_data.거래량 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 15).Trim()); //[6] real10002_data.누적거래량 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 13).Trim()); //[7] real10002_data.누적거래대금 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 14).Trim()); //[8] real10002_data.시가 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 16).Trim()); //[9] real10002_data.고가 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 17).Trim()); //[10] real10002_data.저가 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 18).Trim()); //[11] real10002_data.전일대비기호 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 25).Trim()); //[12] real10002_data.전일거래량대비_계약_주 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 26).Trim()); //[13] real10002_data.거래대금증감 = decimal.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 29).Trim()); //[14] real10002_data.전일거래량대비_비율 = float.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 30).Trim()); //[15] real10002_data.거래회전율 = float.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 31).Trim()); //[16] real10002_data.거래비용 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 32).Trim()); //[17] real10002_data.체결강도 = float.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 228).Trim()); //[18] real10002_data.시가총액_억 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 311).Trim()); //[19] real10002_data.장구분 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 290).Trim()); //[20] real10002_data.KO접근도 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 691).Trim()); //[21] real10002_data.상한가발생시간 = axKHOpenAPI.GetCommRealData(e.sRealType, 567).Trim(); //[22] real10002_data.하한가발생시간 = axKHOpenAPI.GetCommRealData(e.sRealType, 568).Trim(); //[23] real10002_data.종목코드 = e.sRealKey.ToString().Trim(); //[24] real10002_data.RealName = e.sRealType.ToString().Trim(); MyStock.getClass1Instance().UpdateStockList(real10002_data); // SendDirectFile(real10002_data); SendDirectDb(real10002_data); }
public ActionResult Save_New_Order(int id, int invoice_no, DateTime bill_date, string supplier_name, DateTime receiveing_date, int carrying_charge, string item_name, int quantity, int price, int total_price_per_item, int total_amount) { ApplicationDbContext db = new ApplicationDbContext(); ViewBag.preQuantity = from TotalItemsQuantity in db.TotalItemsQuantitys.Where(z => z.item_name == item_name) select TotalItemsQuantity; foreach (var mm in ViewBag.preQuantity) { ViewBag.c = mm.quantity; } int pp = Convert.ToInt32(ViewBag.c); int total = quantity + pp; var itemid = db.TotalItemsQuantitys.Where(x => x.item_name == item_name).ToList(); foreach (var vm in itemid) { vm.quantity = total; db.SaveChanges(); } MyStockNotification md = new MyStockNotification(); md.id = id; md.invoice = invoice_no; md.bill_date = bill_date; md.supplier_name = supplier_name; md.receive_date = receiveing_date; md.carrying_charge = carrying_charge; md.item_name = item_name; md.quantity = quantity; md.price = price; md.total_price_per_item = total_price_per_item; md.total_amount = total_amount; db.MyStockNotifications.Add(md); //db.SaveChanges(); MyStock ms = new MyStock(); ms.id = id; ms.invoice = invoice_no; ms.bill_date = bill_date; ms.supplier_name = supplier_name; ms.receive_date = receiveing_date; ms.carrying_charge = carrying_charge; ms.item_name = item_name; ms.quantity = quantity; ms.price = price; ms.total_price_per_item = total_price_per_item; ms.total_amount = total_amount; db.MyStocks.Add(ms); int res = db.SaveChanges(); if (res > 0) { List <MyStock> myst = db.MyStocks.Where(x => x.invoice == invoice_no).ToList(); return(View(myst)); //return RedirectToAction("Index"); } else { ViewBag.notstored = "value not stored"; return(View()); } }
// Updates the quantity of a stock owned, after selling public static bool UpdateMyStock(MyStock mystock, int quantity) { return(Myfirestore.UpdateMyStock(mystock, quantity)); }