public ActionResult AddSalePartialView() { AddSale ad = new AddSale(); ad.ID = ID; ad.PayCoin = _entrustManager.Find(ID).PayCoinName; ad.SellCoin = _entrustManager.Find(ID).CoinName; ad.Amount = 100; ad.Password = ""; ad.price = _entrustManager.Find(ID).Price; return(View(ad)); }
private void AddSale_Click(object sender, RoutedEventArgs e) { AddSale form = new AddSale(); if (form.ShowDialog() == true) { Sale addSale = new Sale((int)db.CreateSale(form.sale)) { Manager = form.sale.Manager, Product = form.sale.Product, SoldTime = form.sale.SoldTime, SumMoney = form.sale.SumMoney }; SaleCollection.Add(addSale); } }
private void dataGridPurchase_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e) { //Get the newly selected cells IList <DataGridCellInfo> selectedcells = e.AddedCells; DataRowView drv = (DataRowView)dataGridPurchase.SelectedItem; if (drv != null) { var selectedRow = drv.Row.ItemArray; //open modal for sale Item AddSale saleScreen = new AddSale(selectedRow); saleScreen.ShowDialog(); //refresh sale data SearchSale(); } }
public JsonResult AddJson(AddSale addSale) { Response _res = new Response(); int id = int.Parse(Session["UserID"].ToString()); double personCoinAmount = 0.00; try { personCoinAmount = _walletManager.GetWallet(id, addSale.PayCoin).Amount; } catch { } string _psd = null; if (Amount < addSale.Amount) { _res.Code = 0; _res.Message = "超过该委托寄售的货币数量"; return(Json(_res)); } int identyId = _userManager.Find(id).FKIdentyID; if (string.IsNullOrEmpty(_identy.Find(identyId).Password)) { _res.Code = 0; _res.Message = "请先设置交易密码"; return(Json(_res)); } try { _psd = Security.SHA256(addSale.Password); } catch { _res.Code = 0; _res.Message = "请先输入交易密码"; return(Json(_res)); } if (_psd != _userManager.Find(id).UserIdenty.Password) { _res.Code = 0; _res.Message = "交易密码错误"; return(Json(_res)); } if (personCoinAmount == 0.00 || (addSale.price * Amount) > personCoinAmount) { _res.Code = 0; _res.Message = "钱包余额不足,请前往充值"; return(Json(_res)); } if (ModelState.IsValid) { string cointocoin = addSale.SellCoin + "/" + addSale.PayCoin; //减少支付货币 Wallet _wallet = _walletManager.GetWallet(id, addSale.PayCoin); _wallet.Amount -= addSale.Amount * addSale.price; _walletManager.Update(_wallet); //委托方增加货币 Wallet _entrustWallet = _walletManager.GetWallet(EntrusterID, addSale.PayCoin); _entrustWallet.Amount += addSale.Amount * addSale.price; _walletManager.Update(_entrustWallet); //更新委托 如果委托数量为零 则标记委托成功 记1,添加成功时间 Entrust _entrust = new Entrust(); _entrust = _entrustManager.Find(ID); if (Amount - addSale.Amount == 0) { _entrust.IsSuccess = 1; _entrust.SucOrDefTime = DateTime.Now; _entrustManager.Update(_entrust); } //添加委托详情表 EntrustDetails _entrustDetails = new EntrustDetails(); _entrustDetails.Amount = addSale.Amount; _entrustDetails.BuyerID = id; _entrustDetails.SellID = _entrustManager.Find(ID).FUserID; _entrustDetails.EntrustID = EntrustID; _entrustsDetailsManager.Add(_entrustDetails); //一笔交易成功 添加一日中每一笔的价格表 PriceInADeal _priceInADeal = new PriceInADeal(); _priceInADeal.DealTime = DateTime.Now; _priceInADeal.Amount = addSale.Amount; _priceInADeal.Price = addSale.price; PriceInDay pd = _priceInDayManager.Find(u => u.CoinToCoin == cointocoin); _priceInADeal.PriceInDayID = pd.ID; _priceInADealManager.Add(_priceInADeal); //一笔交易进来判断是否为第一笔(总表内是否有该天的数据) try //不为空 不是第一笔 更新该数据,设置priceinday的 up volumeInday等属性 { DateTime time = _priceInADeal.DealTime; PriceTable pt = _priceTableManager.IfFirstOrNo(cointocoin, time); pt.Amount += _priceInADeal.Amount; if (pt.MaxPrice < _priceInADeal.Price) { pt.MaxPrice = _priceInADeal.Price; } if (pt.MinPrice > _priceInADeal.Price) { pt.MinPrice = _priceInADeal.Price; } pt.ClosingPrice = _priceInADeal.Price; _priceTableManager.Update(pt); //更新PriceInADay if (pd.MaxInDay < _priceInADeal.Price) { pd.MaxInDay = _priceInADeal.Price; } if (pd.MinInDay > _priceInADeal.Price) { pd.MinInDay = _priceInADeal.Price; } pd.Up = (_priceInADeal.Price - pd.Price) / pd.Price; pd.Price = _priceInADeal.Price; pd.VolumeInDay += _priceInADeal.Price * _priceInADeal.Amount; pd.AmountInDay += _priceInADeal.Amount; } catch //为空 总表添加该天的数据 { PriceTable pt = new PriceTable() { KDateTime = DateTime.Now, CoinToCoin = cointocoin, OpeningPrice = _priceInADeal.Price, ClosingPrice = _priceInADeal.Price, MaxPrice = _priceInADeal.Price, MinPrice = _priceInADeal.Price, Amount = _priceInADeal.Amount, }; _priceTableManager.Add(pt); //更新priceInADay pd.MaxInDay = _priceInADeal.Price; pd.MinInDay = _priceInADeal.Price; pd.Price = _priceInADeal.Price; pd.Up = 0; pd.VolumeInDay = _priceInADeal.Price * _priceInADeal.Amount; pd.AmountInDay = _priceInADeal.Amount; } //更新priceInDay _priceInDayManager.Update(pd); //增加购买的货币 Wallet _wallet2 = _walletManager.GetWallet(id, addSale.SellCoin); _wallet2.Amount += addSale.Amount; _walletManager.Update(_wallet2); //委托方减少货币,发布委托时已经减少了 //Wallet _entrustWallet2 = _walletManager.GetWallet(EntrusterID, addSale.SellCoin); //_entrustWallet2.Amount -= addSale.Amount; //_walletManager.Update(_entrustWallet2); } else { _res.Code = 0; _res.Message = General.GetModelErrorString(ModelState); return(Json(_res)); } _res.Code = 1; _res.Message = "购买成功"; return(Json(_res)); }