public void closeExpedition(GameManager gameManager, BalanceManager balanceManager, Expedition expeTemp)
    {
        if (expeTemp.BattleStatus == ConstantsAndEnums.battleStatus.won)
        {
            Battle.consequencesOfVictory(expeTemp);
            balanceManager.updateTrustAfterBattle(true);             // le moral augmente
        }
        else if (expeTemp.BattleStatus == ConstantsAndEnums.battleStatus.lost)
        {
            balanceManager.updateTrustAfterBattle(false);             // le moral diminue
        }

        gameManager.Resources.People.NbrOfVikings       += expeTemp.NbrOfRemainingViking;
        gameManager.Resources.People.NbrOfShieldMaidens += expeTemp.NbrOfRemainingSM;
        gameManager.Resources.People.NbrTotalOfWarriors -= (expeTemp.NbrOfViking - expeTemp.NbrOfRemainingViking)
                                                           + (expeTemp.NbrOfShieldMaiden - expeTemp.NbrOfRemainingSM);

        gameManager.Resources.People.NbrOfSlave    += expeTemp.SlaveBroughtBack;
        gameManager.Resources.Ships.NbrOfShipType1 += expeTemp.NbrOfShip;
        gameManager.Resources.Gold += expeTemp.GoldBroughtBack;
        gameManager.Resources.Wood += expeTemp.WoodBroughtBack;
        gameManager.Resources.Iron += expeTemp.IronBroughtBack;

        expeTemp.City.UnderAttack = false;
        expeTemp.ExpeditionStatus = ConstantsAndEnums.expeditionStatus.over;
    }
Пример #2
0
        private void toolStripButtonReview_Click(object sender, EventArgs e)
        {
            /*
             * 函数实现逻辑
             * 1、检查界面数据有效性
             * 1、查看付款单类型是否是应收账款,如果是,则根据供应商ID,更新应付账款表
             * 2、根据付款方科目是现金或银行存款,计算本次交易完成后对应账户的余额
             * 3、更新相应表的IS_REVIEW字段
             * 4、提示保存成功,如果保存失败,提示保存失败的原因
             * */

            if (DbPublic.getInctance().isCheckOut())
            {
                MessageBoxExtend.messageWarning("当前会计期间已经执行结转损益,无法再审核单据!");
                return;
            }

            if (!checkUiValue())
            {
                return;
            }
            ;

            if (m_billNumber.Length > 0)
            {
                if (m_isBankBill)
                {
                    double currentSystemBankBalance = BalanceManager.getBankBalance(m_bankRecord.bankName);
                    BankCashsubLedger.getInctance().update(
                        m_billNumber,
                        DbPublic.getInctance().getCurrentLoginUserID(),
                        m_bankRecord.turnover + currentSystemBankBalance);
                }
                else
                {
                    double currentSystemCachBalance = BalanceManager.getCachBalance();

                    CashCashsubLedger.getInctance().update(
                        m_billNumber,
                        DbPublic.getInctance().getCurrentLoginUserID(),
                        m_cashRecord.turnover + currentSystemCachBalance);
                }


                if (this.comboBoxReceivableType.Text.IndexOf("应收") != -1)
                {
                    updateAccountReceivable();
                }
                else if (this.comboBoxReceivableType.Text.IndexOf("销售出库") != -1)
                {
                    SaleOutOrder.getInctance().updataReceivedInfo(this.textBoxSourceOrderNumber.Text.ToString(),
                                                                  Convert.ToDouble(textBoxTransactionAmount.Text.ToString()));
                }

                MessageBoxExtend.messageOK("审核成功.");
                OperatorLog.getInctance().insert(501, "单据审核[" + m_billNumber + "]");
                this.Close();
            }
        }
Пример #3
0
        public void Hanlde_Should_Calculated_TotalBalance_Correctly()
        {
            var balanceManager = new BalanceManager();

            var result = balanceManager.Handle(1, 1, 1);

            Assert.Equal(1, result);
        }
Пример #4
0
        public void Hanlde_Should_Return_TotalBalance_Of_Type_Decimal()
        {
            var balanceManager = new BalanceManager();

            var result = balanceManager.Handle(1, 1, 1);

            Assert.IsType <decimal>(result);
        }
Пример #5
0
 void Start()
 {
     playerSprite   = GameObject.Find("Player").GetComponent <SpriteRenderer>();
     animator       = GameObject.Find("Player").GetComponent <Animator>();
     groundSprite   = GameObject.Find("Ground").GetComponent <SpriteRenderer>();
     gameManager    = GameObject.Find("GameManager").GetComponent <GameManager>();
     balanceManager = GameObject.Find("GameManager").GetComponent <BalanceManager>();
     spawnManager   = GameObject.Find("SpawnManager").GetComponent <SpawnController>();
 }
Пример #6
0
 void Awake()
 {
     animator       = GameObject.Find("Player").GetComponent <Animator>();
     playerBody     = GameObject.Find("Player").GetComponent <Rigidbody2D>();
     spawnManager   = GameObject.Find("SpawnManager").GetComponent <SpawnController>();
     phaseManager   = GetComponent <PhaseManager>();
     balanceManager = GetComponent <BalanceManager>();
     animator.runtimeAnimatorController = player;
     hatCost = blackHatCost;
 }
Пример #7
0
        public async Task GetCurrentBalance(IDialogContext context, LuisResult result)
        {
            UserProfile userProfile = new UserProfile();
            UserInfo    userInfo    = userProfile.GetUserInfo(context);

            string message = new BalanceManager(userInfo).GetCurrentBalance();
            await context.PostAsync(message);

            context.Wait(this.MessageReceived);
        }
        // NOTE: this should have it's own API client with account specific auth info.

        public ExchangeAccount(string name, ExchangeApiCore client)
        {
            Name           = name;
            Client         = client;
            OpenOrders     = new SourceCache <Order, string>(x => x.OrderId);
            OrdersHistory  = new SourceCache <Order, string>(x => x.OrderId);
            TradesHistory  = new SourceCache <OrderTrade, string>(x => x.Id);
            Deposits       = new SourceCache <Transfer, string>(x => x.Id);
            Withdrawals    = new SourceCache <Transfer, string>(x => x.Id);
            BalanceManager = new BalanceManager();
        }
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else if (instance != this)
     {
         Destroy(gameObject);
     }
 }
Пример #10
0
 public void Awake()
 {
     Owned            = new List <Ownable>();
     Mortgaged        = new List <Ownable>();
     NumOfTurnsInJail = 0;
     InJail           = false;
     CurrentState     = State.StartTurn;
     PlayerName       = string.Format("{0}", Random.Range(1, 100));
     BalanceManager   = gameObject.AddComponent <BalanceManager>();
     _spriteRenderer  = gameObject.GetComponent <SpriteRenderer>();
 }
Пример #11
0
        private void panelCashInvoice_Click(object sender, EventArgs e)
        {
            /*函数实现逻辑
             * 1、检查系统中是否存在未审核的(采购入库(赊购),销售出库(赊购),付款单,收款单)
             * 2、得到当前系统记录的现金余额,更新cash_balance_last_month表
             * 3、得到当前系统记录的各银行存款余额,更新bank_balance_last_month表
             * 4、计算企业当前库存现金、银行存款、应收账款合计、应付账款合计、存货金额合计信息到企业利润表
             * 4、提示用户是否保存成功,如果保存失败,提示保存失败原因
             */
            if (DbPublic.getInctance().isCheckOut())
            {
                MessageBoxExtend.messageWarning("当前会计期间已经执行结转损益,不能重复执行!");
                return;
            }

            string msg = "建议执行结转损益操作放在每个会计期间的最后一天,结转损益执行完毕后,本会计期间无法再审核新单据。\n";

            msg += "请确认当前系统不存在未审核的以下单据:\n";
            msg += "1、采购入库(赊购)\n";
            msg += "2、销售出库(赊购)\n";
            msg += "3、付款单\n";
            msg += "4、收款单\n";
            msg += "确定执行结转吗?";
            if (MessageBoxExtend.messageQuestion(msg))
            {
                try
                {
                    // 现金余额结转
                    double cachBalance = BalanceManager.getCachBalance();
                    CashBalanceLastMonth.getInctance().insert(cachBalance, "结转余额");

                    // 银行存款余额结转
                    SortedDictionary <int, AuxiliaryMaterialDataTable> bankList
                        = AuxiliaryMaterial.getInctance().getAllAuxiliaryMaterialData("BASE_BANK_LIST");

                    foreach (KeyValuePair <int, AuxiliaryMaterialDataTable> index in bankList)
                    {
                        double bankBalance = BalanceManager.getBankBalance(index.Value.name);
                        BankBalanceLastMonth.getInctance().insert(index.Value.pkey, bankBalance, "结转余额");
                    }

                    // 企业利润信息
                    CompanyProfit.getInctance().insertCashInvoiceData();

                    OperatorLog.getInctance().insert(503, "执行结转损益.");
                }
                catch (Exception exp)
                {
                    MessageBoxExtend.messageWarning(exp.ToString());
                }
            }
        }
Пример #12
0
        public void handler(IResponder responder)
        {
            int uid = SJSRequest.GetInt("Uid", 0);

            if (uid <= 0)
            {
                uid = PageUtils.AccountID;
            }

            IList <Balance> list = BalanceManager.GetBalance(uid, true);

            string json = PageUtils.TranformJSON(list);

            responder.WriteSuccessed(json);
        }
Пример #13
0
        static void Main(string[] args)
        {
            NLog.Logger logger = LogManager.GetCurrentClassLogger();

            // Create the token source.
            var masterToken = new CancellationTokenSource();

            try
            {
                //dotnet publish -c Release -r win10-x64

                string configFile = "appsettings.json";

                var builder = new ConfigurationBuilder()
                              .SetBasePath(Directory.GetCurrentDirectory())
                              .AddJsonFile(configFile, optional: false, reloadOnChange: true)
                              .AddEnvironmentVariables();
                IConfigurationRoot configuration = builder.Build();
                var arbitrageConfig = new ArbitrageConfig();
                configuration.GetSection("ArbitrageConfig").Bind(arbitrageConfig);

                var dbService = new BMDbService(configuration.GetValue <string>("LocalSqlConnectionString"), arbitrageConfig.Gmail);

                var configs   = arbitrageConfig.Exchanges.ToDictionary(c => c.Name);
                var exchanges = arbitrageConfig.Exchanges.Where(c => c.Enabled).Select(c => ExchangeFactory.GetInstance(c)).ToDictionary(e => e.Name);

                var binance  = (Binance)exchanges["Binance"];
                var hitbtcV2 = new HitbtcSocket(configs["Hitbtc"]);

                var balanceManager = new BalanceManager(dbService, hitbtcV2.Rest, binance);
                var engineV2       = new ArbitrageEngineV2(hitbtcV2.Rest, binance, dbService);

                balanceManager.StartManager();
                engineV2.StartEngine(hitbtcV2);
            }
            catch (Exception e)
            {
                logger.Error(e);
            }
        }
Пример #14
0
 public BalanceManagerTests()
 {
     _balanceRepository = new Mock <IBalanceRepository>(MockBehavior.Strict);
     _manager           = new BalanceManager(_balanceRepository.Object);
 }
Пример #15
0
        private void toolStripButtonReview_Click(object sender, EventArgs e)
        {
            /*
             * 函数实现逻辑
             * 1、检查界面数据有效性
             * 1、查看付款单类型是否是应付账款,如果是,则根据供应商ID,更新应付账款表
             * 2、根据付款方科目是现金或银行存款,计算本次交易完成后对应账户的余额
             * 3、更新相应表的IS_REVIEW字段
             * 4、提示保存成功,如果保存失败,提示保存失败的原因
             * */

            if (DbPublic.getInctance().isCheckOut())
            {
                MessageBoxExtend.messageWarning("当前会计期间已经执行结转损益,无法再审核单据!");
                return;
            }

            if (!checkUiValue())
            {
                return;
            }
            ;

            if (m_billNumber.Length > 0)
            {
                if (m_isBankBill)
                {
                    double currentSystemBankBalance = BalanceManager.getBankBalance(m_bankRecord.bankName);

                    if (m_bankRecord.turnover > currentSystemBankBalance)
                    {
                        string msg = "付款交易失败\n";
                        msg += "[" + m_bankRecord.bankName + "]余额为:";
                        msg += Convert.ToString(currentSystemBankBalance) + ",不足以完成本次支付.";
                        MessageBoxExtend.messageWarning(msg);
                        return;
                    }
                    else
                    {
                        BankCashsubLedger.getInctance().update(
                            m_billNumber,
                            DbPublic.getInctance().getCurrentLoginUserID(),
                            currentSystemBankBalance - m_bankRecord.turnover);
                    }
                }
                else
                {
                    double currentSystemCachBalance = BalanceManager.getCachBalance();

                    if (m_cashRecord.turnover > currentSystemCachBalance)
                    {
                        string msg = "付款交易失败\n";
                        msg += "库存现金余额为:";
                        msg += Convert.ToString(currentSystemCachBalance) + ",不足以完成本次支付.";
                        MessageBoxExtend.messageWarning(msg);
                        return;
                    }
                    else
                    {
                        CashCashsubLedger.getInctance().update(
                            m_billNumber,
                            DbPublic.getInctance().getCurrentLoginUserID(),
                            currentSystemCachBalance - m_cashRecord.turnover);
                    }
                }

                if (this.comboBoxPaymentType.Text.IndexOf("应付") != -1)
                {
                    updateAccountPayment();
                }
                else if (this.comboBoxPaymentType.Text.IndexOf("采购入库") != -1)
                {
                    PurchaseInOrder.getInctance().updataPaymentInfo(this.textBoxSourceOrderNumber.Text.ToString(),
                                                                    Convert.ToDouble(textBoxTransactionAmount.Text.ToString()));
                }

                MessageBoxExtend.messageOK("审核成功.");
                OperatorLog.getInctance().insert(502, "单据审核[" + m_billNumber + "]");
                this.Close();
            }
        }
Пример #16
0
 public BalanceManagerTest()
 {
     _balanceHandler = new Mock <IBalanceHandler>();
     _productHandler = new Mock <IProductHandler>();
     _balanceManager = new BalanceManager(_balanceHandler.Object, _productHandler.Object);
 }
Пример #17
0
        public void handler(IResponder responder)
        {
            int uid = SJSRequest.GetInt("Uid", 0);

            double balance = SJSRequest.GetFloat("Balancemoney", 0);
            string remarks = SJSRequest.GetString("Remarks");

            if (uid <= 0)
            {
                responder.WriteErroredMsg("请求参数错误!");
                return;
            }

            if (balance <= 0)
            {
                responder.WriteErroredMsg("充值金额不能小于或等于0!");
                return;
            }

            using (DbTransaction trans = DbHelper.BeginTransaction())
            {
                bool writeError = false;
                try
                {
                    User user = UserManager.GetUser(uid, trans);

                    if (user == null)
                    {
                        writeError = true;
                        trans.Rollback();
                        responder.WriteErroredMsg("此用户不存在,无法充值!");
                        return;
                    }

                    user.Balance += balance;

                    int rlt = UserManager.UpdateUserBalance(user.Uid, -balance, trans);

                    if (rlt <= 0)
                    {
                        writeError = true;
                        trans.Rollback();
                        responder.WriteErroredMsg("充值失败,数据库数据更新不成功!");
                        return;
                    }

                    Balance balances = new Balance();

                    balances.Uid      = uid;
                    balances.Balances = balance;
                    balances.Remarks  = remarks;
                    balances.Btime    = DateTime.Now;// DateTime.UtcNow;

                    balances.Id = BalanceManager.AddBalance(balances, trans);

                    if (balances.Id <= 0)
                    {
                        writeError = true;
                        trans.Rollback();
                        responder.WriteErroredMsg(user.Realname + "充值记录失败!");
                        return;
                    }

                    trans.Commit();
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    if (writeError == false)
                    {
                        responder.WriteErroredMsg("充值失败,程序异常!");
                    }
                    return;
                }
            }

            responder.WriteSuccessedMsg("充值成功!");
        }
Пример #18
0
        //dotnet publish -c Release -r win10-x64

        static void Main(string[] args)
        {
            #region config
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                          .AddEnvironmentVariables();
            IConfigurationRoot configuration = builder.Build();

            var arbitrageConfig = new ArbitrageConfig();
            configuration.GetSection("ArbitrageConfig").Bind(arbitrageConfig);

            NLog.Logger logger = LogManager.GetCurrentClassLogger();

            // Create the token source.
            var masterToken = new CancellationTokenSource();

            #endregion
            try
            {
                var dbService = new BMDbService(configuration.GetValue <string>("LocalSqlConnectionString"), arbitrageConfig.Gmail);

                var configs   = arbitrageConfig.Exchanges.ToDictionary(c => c.Name);
                var exchanges = arbitrageConfig.Exchanges.Where(c => c.Enabled).Select(c => ExchangeFactory.GetInstance(c)).ToDictionary(e => e.Name);

                var binance = new Binance(configs["Binance"]);//(Binance)exchanges["Binance"];
                var hitbtc  = (Hitbtc)exchanges["Hitbtc"];
                var gdax    = (Gdax)exchanges["Gdax"];


                var hitbtcv2 = new HitbtcSocket(configs["Hitbtc"]);

                var enginev2 = new ArbitrageEngineV2(hitbtcv2.Rest, binance, dbService);
                var bManager = new BalanceManager(dbService, hitbtcv2.Rest, binance);

                //    bManager.StartManager();

                var hitbtcBalances  = hitbtc.GetBalances().Result.ToDictionary(b => b.Currency);
                var binanceBalances = binance.GetBalances().Result.ToDictionary(b => b.Currency);

                string address = "0xf18414d9961c458a0d120ffe2f0b0da279d1aea0";
                //string tag = "24da0a5343fc7a28199edd703b8c80bc7b84ab154b1ce4416e53b8f00437f01d";
                string currency = "ETH";

                decimal hitAmount = hitbtcBalances[currency].Available;
                //decimal biAmount = binanceBalances[currency].Available;

                if (!string.IsNullOrWhiteSpace(address) && hitAmount > 0)
                {
                    logger.Trace("Withdraw {0} {1} to {2}", hitAmount, currency, address);
                    var hitRes = hitbtc.Withdraw(currency, hitAmount, address).Result;
                }

                //if (!string.IsNullOrWhiteSpace(address) && biAmount > 0)
                //{
                //    logger.Trace("Withdraw {0} {1} to {2}", biAmount, currency, address);
                //    var biRes = binance.Withdraw(currency, biAmount, address).Result;
                //}


                //var res = hitbtc.Withdraw("DOGE", 1000000m, "DDi3FWrU7RhSJ4NbYKS9gAM73ZHP8TCQTv").Result;
                //AuditOrder("XMRBTC", "8903177267", "1614791", hitbtc, binance);

                //       Console.ReadKey();

                //var result = gdax.MarketSell("BTCUSD", 0.63405632m).Result;

                //      logger.Trace("Complete");
            }
            catch (Exception e)
            {
                if (e.InnerException != null && e.InnerException.GetType() == typeof(ApiException))
                {
                    var apiE = (ApiException)e.InnerException;
                    Console.WriteLine(apiE.Content);
                }
                masterToken.Cancel();
                Console.WriteLine(e);
            }
        }
Пример #19
0
 void Start()
 {
     gameManager    = GameObject.Find("GameManager").GetComponent <GameManager>();
     phaseManager   = GameObject.Find("GameManager").GetComponent <PhaseManager>();
     balanceManager = GameObject.Find("GameManager").GetComponent <BalanceManager>();
 }
 void Start()
 {
     balanceManager = BalanceManager.instance;
     collection     = Collection.instance;
 }