public async Task <string> UploadTransaction(string hash, DateTime lastTrnxDate) { var trnxs = _ctx.Transactions.Where(x => x.Status == EnumType.Pending && DateTime.Compare(x.CreationDate, lastTrnxDate) <= 0).ToList(); //trnxs = trnxs.Where(x => DateTime.Compare(x.CreationDate, lastTrnxDate) <= 0).ToList(); foreach (var trn in trnxs) { trn.Status = EnumType.Success; } var mineTrnx = new MineTransaction(); mineTrnx.Id = new Guid(); mineTrnx.CreationDate = DateTime.UtcNow; mineTrnx.GasFee = 0; mineTrnx.LastTransactinTime = lastTrnxDate; mineTrnx.totalCoinFee = 0; mineTrnx.TotalFee = 0; mineTrnx.txHash = hash; _ctx.MineTransactions.Add(mineTrnx); await _ctx.SaveChangesAsync(); return("Transactions Uplooaded..!"); }
private void AddMineTransaction(PushResp result, string json, int trnxCount, decimal totalCoinFee = 0) { var mineTrnx = new MineTransaction(); mineTrnx.Id = new Guid(); mineTrnx.CreationDate = DateTime.UtcNow; mineTrnx.GasFee = Convert.ToUInt64(result.GasPrice.Hex, 16); mineTrnx.LastTransactinTime = DateTime.Now; //trnxs.Last().CreationDate; mineTrnx.totalCoinFee = totalCoinFee; //trnxs.Sum(x => x.FeeInCoinAmount); mineTrnx.TotalFee = Convert.ToUInt64(result.GasLimit.Hex, 16); mineTrnx.txHash = result.Hash; mineTrnx.StatusType = totalCoinFee == 0 ? EnumType.Buy : EnumType.Transfer; mineTrnx.TransactionCount = trnxCount; mineTrnx.JsonTransactions = json; mineTrnx.Nonce = result.Nonce; _ctx.MineTransactions.Add(mineTrnx); }