public ShowPrintBlock(Models.Block actblock)
        {
            InitializeComponent();
            string text = LoadHeader();

            text += "<table style=\"width: 100 % \">";

            double summ = 0;

            if (actblock != null)
            {
                foreach (var item in actblock.BlockItems)
                {
                    text += "<tr>";
                    summ += (item.Product.LastPrice.price * item.Volume);
                    text += "<td>" + item.Product.Name + "</td><td>" + item.Volume + item.Product.Unit + "</td><td>" + (item.Product.LastPrice.price * item.Volume).ToString() + " Ft " + "</td>";
                    text += "</tr>";
                }
            }
            text         += "<tr>";
            text         += "<td> Összesen " + "</td><td>" + "</td><td>" + summ + " Ft " + "</td>";
            text         += "</tr>";
            text         += "</table>";
            text         += "A számla sorszáma: " + actblock.BlockID;
            text         += "<br>Dátum: " + DateTime.Now.ToString();
            text         += LoadFooter();
            Browser.Width = 400;
            Browser.NavigateToString(text);
        }
Exemplo n.º 2
0
        public bool Validate(Models.Block block, Models.Block previousBlock)
        {
            if (previousBlock.Index + 1 != block.Index)
            {
                return(false);
            }

            if (previousBlock.Hash != block.PreviousBlockHash)
            {
                return(false);
            }

            if (previousBlock.CreatedOn > block.CreatedOn)
            {
                return(false);
            }

            if (!this.HasValidHash(block))
            {
                return(false);
            }

            if (!ContainsOnlyValidTransactions(block))
            {
                return(false);
            }

            return(true);
        }
        public static Boolean Verify(this Models.Block _Block)
        {
            var _BlockJSON = JsonConvert.SerializeObject(_Block);

            var _BlockHash = Hashing.GetHashForString(_BlockJSON);

            return(RSA.Verify(_BlockHash, _Block.BlockSignature, _Block.GeneratorPublicKey));
        }
Exemplo n.º 4
0
        public void InitDataContext()
        {
            Block = new Models.Block();
            CurrentBlock.DataContext = Block;

            BlockSumms = new BlockSumms();
            CurrentBlockSummary.DataContext = BlockSumms;
        }
Exemplo n.º 5
0
        public static int GetSlotPadding(Models.Block _Block)
        {
            BigInteger _Id = BigInteger.Parse(_Block.Id);

            while (_Id > SoftConfigs.Delegates)
            {
                _Id /= 2;
            }

            return(Convert.ToInt32(_Id));
        }
        public Models.Block CreateBlock(string cardId, string transactionId, DateTime timestamp)
        {
            var block = new Models.Block
            {
                Id            = Guid.NewGuid().ToString(),
                CardId        = cardId,
                TransactionId = transactionId,
                Timestamp     = timestamp
            };

            blocks.TryAdd(block.Id, block);
            return(block);
        }
Exemplo n.º 7
0
        private bool HasValidHash(Models.Block block)
        {
            if (block.Hash != block.ComputeHash())
            {
                return(false);
            }

            if (block.Hash.Take(_difficulty).Any(t => t != '0'))
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 8
0
        public async Task <IActionResult> OnPostAsync([FromServices] Models.UserLevelDbContext userDbContext)
        {
            if (ModelState.IsValid)
            {
                Models.Authority       authority      = Models.Authority.Cities[City][AuthorityType][0];
                Models.ILevelDbContext levelDbContext = null;
                switch (authority.Level)
                {
                case 1:
                    levelDbContext = HttpContext.RequestServices.GetService(typeof(Models.FirstLevelDbContext)) as Models.ILevelDbContext;
                    break;

                case 2:
                    levelDbContext = HttpContext.RequestServices.GetService(typeof(Models.MidLevelDbContext)) as Models.ILevelDbContext;
                    break;

                case 3:
                    levelDbContext = HttpContext.RequestServices.GetService(typeof(Models.TopLevelDbContext)) as Models.ILevelDbContext;
                    break;
                }
                if (levelDbContext == null)
                {
                    ModelState.AddModelError("", "Не получилось установить связь с базой данных");
                }
                else
                {
                    Models.Block block = new Models.Block();
                    block.From          = User.Identity.Name;
                    block.City          = City;
                    block.AuthorityType = AuthorityType;
                    block.To            = authority.Name;
                    block.Type          = Models.BlockType.Open;
                    block.Document      = Newtonsoft.Json.JsonConvert.SerializeObject(Doc);
                    block.PreviousHash  = "origin";
                    block.DocId         = Guid.NewGuid().ToString();
                    block.Lock();
                    await userDbContext.Blocks.AddAsync(block);

                    await userDbContext.SaveChangesAsync();

                    await levelDbContext.Blocks.AddAsync(block);

                    await((DbContext)levelDbContext).SaveChangesAsync();
                    return(RedirectToPage("Index"));
                }
            }
            return(Page());
        }
Exemplo n.º 9
0
        /// <summary>
        /// Test the category repository.
        /// </summary>
        protected void Run()
        {
            using (var api = new Api()) {
                // Add new model
                var model = new Models.Block()
                {
                    Name        = "My block",
                    Description = "My test block",
                    Body        = "Lorem ipsum"
                };
                api.Blocks.Add(model);
                api.SaveChanges();
            }

            using (var api = new Api()) {
                // Get model
                var model = api.Blocks.GetSingle(where : c => c.Slug == "my-block");
                Assert.IsNotNull(model);
                Assert.AreEqual("My block", model.Name);
                Assert.AreEqual("My test block", model.Description);
                Assert.AreEqual("Lorem ipsum", model.Body);

                // Update model
                model.Name = "Updated";
                api.SaveChanges();
            }

            using (var api = new Api()) {
                // Verify update
                var model = api.Blocks.GetSingle(where : c => c.Slug == "my-block");
                Assert.IsNotNull(model);
                Assert.AreEqual("Updated", model.Name);
                Assert.AreEqual("My test block", model.Description);
                Assert.AreEqual("Lorem ipsum", model.Body);

                // Remove model
                api.Blocks.Remove(model);
                api.SaveChanges();
            }

            using (var api = new Api()) {
                // Verify remove
                var model = api.Blocks.GetSingle(where : c => c.Slug == "my-block");
                Assert.IsNull(model);
            }
        }
Exemplo n.º 10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="block"></param>
        /// <param name="prevBlock"></param>
        /// <returns></returns>
        private BlockGraph CopyBlockGraph(Models.Block block, Models.Block prevBlock)
        {
            var blockGraph = new BlockGraph
            {
                Block = new CYPCore.Consensus.Models.Block(block.Hash.ByteToHex(), _serfClient.ClientId,
                                                           (ulong)block.Height, MessagePackSerializer.Serialize(block)),
                Prev = new CYPCore.Consensus.Models.Block
                {
                    Data  = MessagePackSerializer.Serialize(prevBlock),
                    Hash  = prevBlock.Hash.ByteToHex(),
                    Node  = _serfClient.ClientId,
                    Round = (ulong)prevBlock.Height
                }
            };

            return(blockGraph);
        }
Exemplo n.º 11
0
		/// <summary>
		/// Test the category repository.
		/// </summary>
		protected void Run() {
			using (var api = new Api()) {
				// Add new model
				var model = new Models.Block() {
					Name = "My block",
					Description = "My test block",
					Body = "Lorem ipsum"
				};
				api.Blocks.Add(model);
				api.SaveChanges();
			}

			using (var api = new Api()) {
				// Get model
				var model = api.Blocks.GetSingle(where: c => c.Slug == "my-block");
				Assert.IsNotNull(model);
				Assert.AreEqual("My block", model.Name);
				Assert.AreEqual("My test block", model.Description);
				Assert.AreEqual("Lorem ipsum", model.Body);

				// Update model
				model.Name = "Updated";
				api.SaveChanges();
			}

			using (var api = new Api()) {
				// Verify update
				var model = api.Blocks.GetSingle(where: c => c.Slug == "my-block");
				Assert.IsNotNull(model);
				Assert.AreEqual("Updated", model.Name);
				Assert.AreEqual("My test block", model.Description);
				Assert.AreEqual("Lorem ipsum", model.Body);

				// Remove model
				api.Blocks.Remove(model);
				api.SaveChanges();
			}

			using (var api = new Api()) {
				// Verify remove
				var model = api.Blocks.GetSingle(where: c => c.Slug == "my-block");
				Assert.IsNull(model);
			}
		}
Exemplo n.º 12
0
        public static Models.Block FinalizeBlock(this Models.Block _Block)
        {
            var _PreviousBlock = DbContext._Db.Blocks.FirstOrDefault(x => x.BlockId == _Block.PreviousBlockId);

            if (_PreviousBlock == null)
            {
                // ToDo
            }
            var _PBlock = BlockLoader.LoadBlock(_PreviousBlock.Path);

            _Block.Height = _PBlock.Height + 1;
            _Block.Id     = GetId(_Block);

            var _BlockJSON = JsonConvert.SerializeObject(_Block);
            var _BlockHash = Hashing.GetHashForString(_BlockJSON);

            _Block.BlockSignature = RSA.Sign(_BlockHash, _Block.GeneratorPublicKey);

            return(_Block);
        }
Exemplo n.º 13
0
 public static Decimal CalculateFee(this Models.Block _Block)
 {
     return(1);
 }
Exemplo n.º 14
0
 public bool Validate(Models.Block block, Models.Block previousBlock)
 {
     return(_transactionValidator.MinedTransactionsValidate(block.Transactions, block.Index));
 }
Exemplo n.º 15
0
 public bool TryValidateBlock(Models.Block block)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 16
0
 private bool ContainsOnlyValidTransactions(Models.Block block)
 {
     return(_transactionValidator.MinedTransactionsValidate(block.Transactions, block.Index));
 }
Exemplo n.º 17
0
        //public static Boolean VerifyGenesisBlock(Models.Block _Block)
        //{
        //    try
        //    {
        //        var payloadHash = crypto.createHash('sha256');
        //        var payloadLength = 0;

        //        for (var i = 0; i < block.transactions.length; ++i)
        //        {
        //            var trs = block.transactions[i];
        //            var bytes = scope.base.transaction.getBytes(trs);
        //            payloadLength += bytes.length;
        //            payloadHash.update(bytes);
        //        }
        //        var id = scope.base.block.getId(block);
        //        assert.equal(payloadLength, block.payloadLength, 'Unexpected payloadLength');
        //        assert.equal(payloadHash.digest().toString('hex'), block.payloadHash, 'Unexpected payloadHash');
        //        assert.equal(id, block.id, 'Unexpected block id');
        //        // assert.equal(id, '11839820784468442760', 'Block id is incorrect');
        //    }
        //    catch (e)
        //    {
        //        assert(false, 'Failed to verify genesis block: ' + e);
        //    }
        //}


        public static void EncodeBlock(Models.Block _Block)
        {
        }
Exemplo n.º 18
0
        public static String GetId(this Models.Block _Block)
        {
            var _BlockJSON = JsonConvert.SerializeObject(_Block);

            return(Hashing.GetId(_BlockJSON).ToString());
        }