Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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();
            }
        }
Exemplo n.º 4
0
        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));
        }