private void btnDeleteBill_Click(object sender, EventArgs e) { List <int> lstIdBill = Hepler.CheckDataGridViewCheckBox <int>(dtgvBill, 0, 6); if (lstIdBill.Count > 0) { if (MessageBox.Show("Bạn có chắc chắn muốn xóa không", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { string successDelete = ""; string errorDelete = ""; foreach (int item in lstIdBill) { if (BillDAO.Instance.Delete(item)) { successDelete += "," + item; } else { errorDelete += "," + item; } } Hepler.ShowMessageDelete(successDelete, errorDelete); ResetData(); } } else { MessageBox.Show("Vui lòng chọn hàng để xóa", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public bool CheckDataEditBill() { bool checkInput = true; checkInput = Hepler.CheckInputNotNull(txtTenBan, txtErrorTenBan, checkInput); return(checkInput); }
public bool checkInputLogin() { bool checkInput = true; checkInput = Hepler.CheckInputNotNull(txtUserName, txtErrUserName, checkInput); checkInput = Hepler.CheckInputNotNull(txtPassword, txtErrPasword, checkInput); return(checkInput); }
private void LoadImageFood() { if (cbFood.SelectedValue != null) { Food f = FoodDAO.Instance.GetFoodById((cbFood.SelectedItem as Food).Id); string nameImageFood = (f.ImageFood).ConvertByteArrayToString(); Hepler.SetImageToPictureBox(pictureFood, nameImageFood); return; } Hepler.SetImageToPictureBox(pictureFood, Hepler.ImageNameDefault); }
public IActionResult GetFlatHodlings(HoldingsParams holdingsParams) { Hepler.GenerateModelState(holdingsParams.dateFrom, holdingsParams.dateTo, holdingsParams.entities, holdingsParams.entitiesType, holdingsParams.groupID, ModelState); if (!ModelState.IsValid) { return(new UnprocessableEntityObjectResult(ModelState)); } var res = this.hodldingsRepository.GetHoldings(holdingsParams.dateFrom, holdingsParams.dateTo, holdingsParams.entities, holdingsParams.entitiesType, holdingsParams.groupID); var dto = AutoMapper.Mapper.Map <IEnumerable <Entities.Holding>, IEnumerable <Dto.HoldingDto> >(res); return(Ok(dto)); }
public void OpenDataBase() { var path = Hepler.OpenFile(); if (!string.IsNullOrEmpty(path)) { string connectionString = string.Format("Data source= {0} ;", path); if (SQLiteCore.CheckConnection(connectionString)) { if (SQLiteCore.AddDataBaseToHistory(path)) { DataBases.Add(DataBaseBuilder.BuildDataBaseObject(path, this)); } } } }
public bool CheckDataInsertBill() { bool checkInput = true; checkInput = Hepler.CheckInputNotNull(txtTenBan, txtErrorTenBan, checkInput); if (cbFood.SelectedValue == null) { txtErrorTenMon.Text = "Trường này không được để trống"; checkInput = false; } else { txtErrorTenMon.Text = ""; } return(checkInput); }
public void ShowCardBalance(BankCard BankCard) { try { if (Hepler.CheckPAN(BankCard.PAN)) { if (Hepler.CheckExpireTime(BankCard.ExpireTime)) { if (Hepler.CheckBalance(BankCard.Balance)) { bankCard.ShowBalance(); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// 初始化页面 /// </summary> public override void InitPage(string pageName) { base.PageName = pageName; base.PageControl = new PageControl(); base.PageControl.Gantt.SelectionChanged = ConditionChanged; base.PageControl.Gantt.Controller.ColumnWidth_1 = 0; base.PageControl.Gantt.Controller.ColumnWidth_3 = 0; base.PageControl.Gantt.Controller.ColumnName_2 = "项目简称"; base.PageControl.Gantt.Controller.ColumnWidth_2 = 150; base.PageControl.Gantt.Controller.ShowContentType1 = "显示内容:承接人数/平均计划人日/平均实际人日"; base.PageControl.Gantt.Controller.ShowContentType2 = "浮窗内容:承接人/事项"; this.m_CurrentData = Hepler.GetData(@".\项目工单台账(全部).xlsx", "项目工单台账(全部)").DefaultView.ToTable(false, new[] { "所属部门", //"项目总监", //"客户经理", //"支撑总监", //"方案专家", "工单类型", "承接人", "项目", "事项", "工单状态", "开始时间", "结束时间", "地点", //"实际工时", "工时" }); m_CurrentData.Columns.Add("项目总监", typeof(string)); m_CurrentData.Columns.Add("客户经理", typeof(string)); m_CurrentData.Columns.Add("支撑总监", typeof(string)); m_CurrentData.Columns.Add("方案专家", typeof(string)); m_CurrentData.Columns.Add("实际工时", typeof(string)); var dicData = Hepler.GetData(@".\项目台账(全部).xlsx", "项目台账(全部)").DefaultView.ToTable(false, new[] { "项目简称", "项目总监", "客户经理", "支撑总监", "方案专家", }); var datas = m_CurrentData.Select(); foreach (DataRow dataRow in datas) { var dicDataRows = dicData.Select().Where(t => t["项目简称"].ToString() == dataRow["项目"].ToString()); if (dicDataRows.Count() > 0) { var dicDataRow = dicDataRows.First(); if (dicDataRow != null) { dataRow["项目总监"] = dicDataRow["项目总监"]; dataRow["客户经理"] = dicDataRow["客户经理"]; dataRow["支撑总监"] = dicDataRow["支撑总监"]; dataRow["方案专家"] = dicDataRow["方案专家"]; dataRow["实际工时"] = 0; } } else { dataRow["项目总监"] = ""; dataRow["客户经理"] = ""; dataRow["支撑总监"] = ""; dataRow["方案专家"] = ""; dataRow["实际工时"] = 0; } } InitCondition(); }
public ExecutionStatus FinishCycle(UInt256 cycle, SystemContractExecutionFrame frame) { Logger.LogDebug("FinishCycle()"); var currentBlock = frame.InvocationContext.Receipt.Block; if (GetBlockNumberInCycle(currentBlock) != 0) { Logger.LogWarning( $"FinishCycle called in block {currentBlock} which is not beginning of cycle {cycle.ToBigInteger()}"); return(ExecutionStatus.ExecutionHalted); } if (cycle.ToBigInteger() != GetConsensusGeneration(frame) - 1) { Logger.LogWarning( $"Invalid cycle: {cycle}, just finished cycle number is {GetConsensusGeneration(frame) - 1}"); return(ExecutionStatus.ExecutionHalted); } var players = GetPlayersCount(); var gen = GetConsensusGeneration(frame) - 1; if (players != null) { var faulty = (players - 1) / 3; var tsKeys = GetTSKeys(); var tpkeKey = GetTpkeKey(); var keyringHash = tpkeKey.ToBytes().Concat(tsKeys.ToBytes()).Keccak(); var votes = GetConfirmations(keyringHash.ToBytes(), gen); if (votes + 1 < players - faulty) { Logger.LogError( $"GovernanceContract is halted in FinishCycle, collected {votes} votes, need {players - faulty - 1}"); return(ExecutionStatus.ExecutionHalted); } var ecdsaPublicKeys = _nextValidators.Get() .Batch(CryptoUtils.PublicKeyLength) .Select(x => x.ToArray().ToPublicKey()) .ToArray(); foreach (var k in ecdsaPublicKeys) { Logger.LogWarning(k.ToHex()); } foreach (var k in tsKeys.Keys) { Logger.LogWarning(k.ToHex()); } _context.Snapshot.Validators.UpdateValidators(ecdsaPublicKeys, tsKeys, tpkeKey); Emit(GovernanceInterface.EventFinishCycle); Logger.LogDebug("Enough confirmations collected, validators will be changed in the next block"); Logger.LogDebug( $" - ECDSA public keys: {string.Join(", ", ecdsaPublicKeys.Select(key => key.ToHex()))}"); Logger.LogDebug($" - TS public keys: {string.Join(", ", tsKeys.Keys.Select(key => key.ToHex()))}"); Logger.LogDebug($" - TPKE public key: {tpkeKey.ToHex()}"); } var balanceOfExecutionResult = Hepler.CallSystemContract(frame, ContractRegisterer.LatokenContract, ContractRegisterer.GovernanceContract, Lrc20Interface.MethodBalanceOf, ContractRegisterer.GovernanceContract); if (balanceOfExecutionResult.Status != ExecutionStatus.Ok) { Logger.LogError("GovernanceContract is halted in FinishCycle"); return(ExecutionStatus.ExecutionHalted); } var txFeesAmount = balanceOfExecutionResult.ReturnValue !.ToUInt256().ToMoney(); SetCollectedFees(txFeesAmount); ClearPlayersCount(); return(ExecutionStatus.Ok); }
private void btnShowHidePass_MouseUp(object sender, MouseEventArgs e) { Hepler.SetHidePass(txtPassword, btnShowHidePass); }
private void btnExportToExcel_Click(object sender, EventArgs e) { Hepler.ExportToExcel(dtgvReport); }
// Every time a node starts, it first tries to build the genesis block public bool TryBuildGenesisBlock() { // genesis block is built from the config.json file // genesis block mints tokens to the validators for the first cycle var genesisBlock = _genesisBuilder.Build(); // if genesis block can already be found, we return immediately if (_stateManager.LastApprovedSnapshot.Blocks.GetBlockByHeight(0) != null) { return(false); } var snapshot = _stateManager.NewSnapshot(); var genesisConfig = _configManager.GetConfig <GenesisConfig>("genesis"); if (genesisConfig is null) { return(false); } genesisConfig.ValidateOrThrow(); var initialConsensusState = new ConsensusState( genesisConfig.ThresholdEncryptionPublicKey.HexToBytes(), genesisConfig.Validators.Select(v => new ValidatorCredentials ( v.EcdsaPublicKey.HexToBytes().ToPublicKey(), v.ThresholdSignaturePublicKey.HexToBytes() )).ToArray() ); snapshot.Validators.SetConsensusState(initialConsensusState); // stake delegation happens even before genesis block // stake delegation means - some other address stakes for the validators // config.json keeps the stakerAddress and the stakeAmount for each of the validators // init system contracts storage var dummyStakerPub = new string('f', CryptoUtils.PublicKeyLength * 2).HexToBytes(); snapshot.Storage.SetRawValue( ContractRegisterer.StakingContract, new BigInteger(6).ToUInt256().Buffer, dummyStakerPub ); // TODO: get rid of explicit numbering of fields var initialVrfSeed = Encoding.ASCII.GetBytes("test"); snapshot.Storage.SetRawValue( ContractRegisterer.StakingContract, new BigInteger(7).ToUInt256().Buffer, initialVrfSeed ); var initialBlockReward = Money.Parse(genesisConfig.BlockReward).ToUInt256().ToBytes(); snapshot.Storage.SetRawValue( ContractRegisterer.GovernanceContract, new BigInteger(3).ToUInt256().Buffer, initialBlockReward ); var initialBasicGasPrice = Money.Parse(genesisConfig.BasicGasPrice).ToUInt256().ToBytes(); snapshot.Storage.SetRawValue( ContractRegisterer.GovernanceContract, new BigInteger(8).ToUInt256().Buffer, initialBasicGasPrice ); // The followings are the variables used in stakingContract // This variables are stored in the storage snapshot and is a part of the chain // To understand the what each variables represent, refer to StakingContract.cs // We do the stake delegation even before the execution of genesis block var _userToStake = new StorageMapping( ContractRegisterer.StakingContract, snapshot.Storage, new BigInteger(3).ToUInt256() ); var _stakers = new StorageVariable( ContractRegisterer.StakingContract, snapshot.Storage, new BigInteger(6).ToUInt256() ); var _userToPubKey = new StorageMapping( ContractRegisterer.StakingContract, snapshot.Storage, new BigInteger(2).ToUInt256() ); var _pubKeyToStaker = new StorageMapping( ContractRegisterer.StakingContract, snapshot.Storage, new BigInteger(12).ToUInt256() ); var _userToStartCycle = new StorageMapping( ContractRegisterer.StakingContract, snapshot.Storage, new BigInteger(4).ToUInt256() ); foreach (var validator in genesisConfig.Validators) { if (validator.StakeAmount == null || validator.StakerAddress == null) { continue; } var validatorPublicKey = validator.EcdsaPublicKey.HexToBytes(); var validatorAddress = Hepler.PublicKeyToAddress(validatorPublicKey).ToBytes(); var stakerAddress = validator.StakerAddress.HexToBytes(); // add balance to staking contract var stakeAmount = Money.Parse(validator.StakeAmount); snapshot.Balances.AddBalance(ContractRegisterer.StakingContract, stakeAmount, true); // set stake value _userToStake.SetValue(validatorAddress, stakeAmount.ToUInt256().ToBytes()); // update stakers list var stakers = _stakers.Get(); _stakers.Set(stakers.Concat(validatorPublicKey).ToArray()); // user to public key and public key to staker _userToPubKey.SetValue(validatorAddress, validatorPublicKey); _pubKeyToStaker.SetValue(validatorPublicKey, stakerAddress); // set start cycle _userToStartCycle.SetValue(validatorAddress, BitConverter.GetBytes(0)); } _stateManager.Approve(); // emulate and execute the genesis block var(error, removeTransactions, stateHash, relayTransactions) = Emulate(genesisBlock.Block, genesisBlock.Transactions); if (error != OperatingError.Ok) { throw new InvalidBlockException(error); } if (removeTransactions.Count != 0) { throw new InvalidBlockException(OperatingError.InvalidTransaction); } if (relayTransactions.Count != 0) { throw new InvalidBlockException(OperatingError.InvalidTransaction); } genesisBlock.Block.Header.StateHash = stateHash; genesisBlock.Block.Hash = genesisBlock.Block.Header.Keccak(); error = Execute(genesisBlock.Block, genesisBlock.Transactions, commit: true, checkStateHash: true); if (error != OperatingError.Ok) { throw new InvalidBlockException(error); } _stateManager.Commit(); BlockPersisted(genesisBlock.Block); return(true); }