public CoreBlock(long blockId, short issuer, int revision, long timestamp, long nextAccountId, int nextChainId, Hash previousBlockHash, Hash lastCoreOperationHash, List <CoreOperation> operations, List <CoreTransaction> transactions) : base(ChainType.Core, Protocol.Version, blockId, Protocol.CoreChainId, 0, issuer, revision, timestamp, previousBlockHash) { NextAccountId = nextAccountId; NextChainId = nextChainId; _transactions = transactions; using (var memoryStream = new MemoryStream()) { var packer = new Packer(memoryStream); PackHeader(packer); packer.Pack(NextAccountId); packer.Pack(NextChainId); var count = operations.Count; packer.Pack(count); for (var i = 0; i < count; i++) { var coreOperation = operations[i]; var start = packer.Position; coreOperation.Store(packer); var end = packer.Position; packer.Position = start; var hash = Hash.Generate(ValidationOperation.ValidationHashType, new PartialStream(memoryStream, start, end - start)); var hashhash = Hash.HashHash(lastCoreOperationHash, hash, ValidationOperation.ValidationHashType); lastCoreOperationHash = hashhash; var validation = new ValidationOperation(hashhash); packer.Position = end; validation.Pack(packer); _items.Add(new TransactionItem <CoreOperation>(coreOperation, validation)); } count = _transactions.Count; packer.Pack(count); for (var i = 0; i < count; i++) { _transactions[i].Store(packer); } memoryStream.Flush(); var position = packer.Position; packer.Position = 0; BlockHash = Hash.Generate(Protocol.TransactionHashType, memoryStream); BlockData = memoryStream.ToArray(); } }
private void btnAddCrudShop_Click(object sender, EventArgs e) { ProductDAL productDAL = new ProductDAL(); UserDAL userDAL = new UserDAL(); if (cmbCategoryCrudShop.Text != "" && txbCountCrudShop.Text != "" && txbPriceCrudShop.Text != "") { Product product = new Product() { Name = this.txbNameCrudShop.Text, CategoryId = Convert.ToInt32(this.cmbCategoryCrudShop.Text.Split('-')[0]), Count = Convert.ToInt32(this.txbCountCrudShop.Text), Price = Convert.ToDouble(this.txbPriceCrudShop.Text), UserId = CurrentUser.Id, Status = (int)ProductStatusEnum.Active, }; bool isValid = ValidationOperation <Product> .ValidateOperation(product); if (CurrentUser.Type == 2) { product.UserId = userDAL.GetByFilter(x => x.Email == this.cmbUserCrudProducts.Text.Split('-')[0]).Id; } if (isValid) { productDAL.Add(product); MessageBox.Show("Successfully Added!"); productDAL.GetGridData(dgvShop); } } else { MessageBox.Show("The field is required"); } }
private void btnRegister_Click(object sender, EventArgs e) { User user = new User() { Name = this.txbRegisterName.Text, Surname = this.txbRegisterSurname.Text, Email = this.txbRegisterEmail.Text, Password = this.txbRegisterPassword.Text, Phone = this.txbRegisterPhone.Text, Type = (int)UserTypeEnum.User, }; bool isValid = ValidationOperation <User> .ValidateOperation(user); bool IsUnique = EmailValidation.IsUniqueEmail(user); if (IsUnique) { if (isValid) { UserDAL userDAL = new UserDAL(); userDAL.Add(user); MessageBox.Show("Successfully Registered!"); this.Close(); } } else { MessageBox.Show("The email is already used."); } }
public TransactionItem(Unpacker unpacker) { Transaction = Operation.Restore <TransactionType>(unpacker); Validation = new ValidationOperation(unpacker); if (Transaction == null || Validation == null) { throw new Exception("Invalid TransactionType"); } }
public ValidationOperation RequiredOperation(ValidationField validationField) { var operation = new ValidationOperation { FieldPath = validationField.FieldPath, SectionName = validationField.SectionName, OperationType = ValidationOperationType.Required, ControlType = validationField.ControlType, }; return(operation); }
/// <summary> /// Constructs a Required Operation for a field /// </summary> private ValidationOperation RequiredOperation(ValidationField validationField) { var operation = new ValidationOperation { FieldPath = validationField.FieldPath, FieldType = (int)validationField.FieldType, // todo: change property type to FieldType SectionName = validationField.SectionName, OperationType = ValidationOperationType.Required, ControlType = validationField.ControlType, PropertyOverride = validationField.PropertyOverride }; return(operation); }
public ValidationOperation UniqueOperation(ValidationField validationField) { var operation = new ValidationOperation { FieldPath = validationField.FieldPath, FieldType = (int)validationField.FieldType, SectionName = validationField.SectionName, ControlType = validationField.ControlType, OperationType = ValidationOperationType.Unique, PropertyOverride = validationField.PropertyOverride }; return(operation); }
public ValidationOperation ContainsOperation(ValidationField validationField, List <string> containsValues) { var operation = new ValidationOperation { FieldPath = validationField.FieldPath, SectionName = validationField.SectionName, OperationType = ValidationOperationType.Contains, ContainsValues = containsValues, Operand = ValidationOperand.In, ControlType = validationField.ControlType, }; return(operation); }
private void btnDeleteCrudShop_Click(object sender, EventArgs e) { ProductDAL productDAL = new ProductDAL(); var product = productDAL.GetByFilter(x => x.Id == Convert.ToInt32(dgvShop.CurrentRow.Cells[0].Value)); DialogResult result = MessageBox.Show("Are you sure?", "Warning", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { if (product.UserId == CurrentUser.Id || CurrentUser.Type == 2) { if (CurrentUser.Type == 2) { LogDAL LogDAL = new LogDAL(); bool productExists = LogDAL.ProductExists(Convert.ToInt32(dgvShop.CurrentRow.Cells[0].Value)); Log log = new Log() { UserId = CurrentUser.Id, Description = txbDescriptionCrudProducts.Text, ProductId = Convert.ToInt32(dgvShop.CurrentRow.Cells[0].Value), Type = Convert.ToInt32(LogTypeEnum.Delete), ModifiedDate = DateTime.Now }; if (productExists) { int logId = LogDAL.GetByFilter(x => x.ProductId == Convert.ToInt32(dgvShop.CurrentRow.Cells[0].Value)).Id; log.Id = logId; } bool isValid = ValidationOperation <Log> .ValidateOperation(log); if (isValid) { productDAL.Delete(Convert.ToInt32(product.Id)); LogDAL.Update(log); MessageBox.Show("Successfully Deleted"); productDAL.GetGridData(dgvShop); } } else { productDAL.Delete(Convert.ToInt32(product.Id)); MessageBox.Show("Successfully Deleted"); productDAL.GetGridData(dgvShop); } } else { MessageBox.Show("You are not allowed to delete others' products"); } } }
public ValidationOperation Validate(string name) { var operation = new ValidationOperation(); DispatcherTimer timer = new DispatcherTimer(); timer.Interval = new TimeSpan(0, 0, 0, 0, 100); // 100 Milliseconds timer.Tick += (s, e) => { timer.Stop(); operation.Result = new ValidationResult(name); }; timer.Start(); return(operation); }
/// <summary> /// Constructs a Value Count Operaration for a field /// </summary> public ValidationOperation ValueCountOperation(ValidationField validationField, string limit) { var operation = new ValidationOperation { FieldPath = validationField.FieldPath, FieldType = (int)validationField.FieldType, SectionName = validationField.SectionName, OperationType = ValidationOperationType.ValueCount, CompareValue = limit, ControlType = validationField.ControlType, PropertyOverride = validationField.PropertyOverride }; return(operation); }
public ValidationOperation MaxRecordCountOperation(ValidationField validationField, string count) { var operation = new ValidationOperation { FieldPath = validationField.FieldPath, SectionName = validationField.SectionName, ControlType = validationField.ControlType, CompareValue = count, FieldType = (int)validationField.FieldType, OperationType = ValidationOperationType.MaxRecordCount, PropertyOverride = validationField.PropertyOverride }; return(operation); }
public ValidationOperation CompareToCurrentDateOperation(ValidationField validationField) { var operation = new ValidationOperation { FieldPath = validationField.FieldPath, SectionName = validationField.SectionName, OperationType = ValidationOperationType.CompareToCurrentDate, ControlType = validationField.ControlType, Operand = ValidationOperand.LessThanEqual, FieldMask = validationField.Mask, CompareToMask = validationField.CompareToMask }; return(operation); }
public ValidationOperation ComparisonOperation(ValidationField validationField, string operand) { var operation = new ValidationOperation { FieldPath = validationField.FieldPath, SectionName = validationField.SectionName, OperationType = ValidationOperationType.Comparison, ControlType = validationField.ControlType, Operand = operand, FieldMask = validationField.Mask, CompareToMask = validationField.CompareToMask }; return(operation); }
private ValidationOperation RelatedOffenseContainsOperation(ValidationField offenseField, List <string> containsValues) { var operation = new ValidationOperation { FieldPath = offenseField.FieldPath, FieldType = (int)offenseField.FieldType, SectionName = offenseField.SectionName, OperationType = ValidationOperationType.RelatedOffenseContains, ContainsValues = containsValues, Operand = ValidationOperand.In, ControlType = offenseField.ControlType, PropertyOverride = offenseField.PropertyOverride }; return(operation); }
/// <summary> /// Constructs a Comparison Operation for a field /// </summary> private ValidationOperation ComparisonOperation(ValidationField field, string operand) { var operation = new ValidationOperation { FieldPath = field.FieldPath, FieldType = (int)field.FieldType, SectionName = field.SectionName, OperationType = ValidationOperationType.Comparison, ContainsValues = null, Operand = operand, ControlType = field.ControlType, PropertyOverride = field.PropertyOverride }; return(operation); }
/// <summary> /// Constructs a Compare to Current Date Operation for a field /// </summary> private ValidationOperation CompareToCurrentDateOperation(ValidationField field) { var operation = new ValidationOperation { FieldPath = field.FieldPath, FieldType = (int)field.FieldType, SectionName = field.SectionName, OperationType = ValidationOperationType.CompareToCurrentDate, ControlType = field.ControlType, Operand = ValidationOperand.LessThanEqual, FieldMask = field.Mask, CompareToMask = field.CompareToMask, PropertyOverride = field.PropertyOverride }; return(operation); }
private ValidationOperation RegularExpressionOperation(ValidationField field, string expression) { var operation = new ValidationOperation { FieldPath = field.FieldPath, FieldType = (int)field.FieldType, SectionName = field.SectionName, OperationType = ValidationOperationType.RegularExpression, ControlType = field.ControlType, Operand = expression, FieldMask = field.Mask, CompareToMask = field.CompareToMask, PropertyOverride = field.PropertyOverride }; return(operation); }
private void btnUpdateCategories_Click(object sender, EventArgs e) { CategoryDAL categoryDAL = new CategoryDAL(); Category category = new Category() { Id = Convert.ToInt32(dgvCategory.CurrentRow.Cells[0].Value), Name = this.txbNameCategories.Text }; bool isValid = ValidationOperation <Category> .ValidateOperation(category); if (isValid) { categoryDAL.Update(category); MessageBox.Show("Successfully Updated"); categoryDAL.GetGridData(dgvCategory); } }
private void btnAddCategories_Click(object sender, EventArgs e) { Category category = new Category() { Name = this.txbNameCategories.Text }; bool isValid = ValidationOperation <Category> .ValidateOperation(category); if (isValid) { CategoryDAL categoryDAL = new CategoryDAL(); categoryDAL.Add(category); MessageBox.Show("Successfully Added!"); categoryDAL.GetGridData(dgvCategory); } }
private ValidationOperation RangeOperation(ValidationField field, string lowerBound, string upperBound) { var operation = new ValidationOperation { FieldPath = field.FieldPath, FieldType = (int)field.FieldType, SectionName = field.SectionName, OperationType = ValidationOperationType.Range, ControlType = field.ControlType, PropertyOverride = field.PropertyOverride, Operand = null, FieldMask = field.Mask, CompareToMask = field.CompareToMask, LowerBound = lowerBound, UpperBound = upperBound }; return(operation); }
public void SetUp() { validationBuilderObj = new ValidationBuilder(RuleSource.Agency); validationFieldObj = new ValidationField(); validationMessage = new ValidationMessage(); validationFieldObj.FieldPath = "Offenses"; validationFieldObj.SectionName = "Events"; validationFieldObj.ControlType = ControlType.Offense; validationFieldObj.Mask = Mask.Currency; validationFieldObj.CompareToMask = Mask.Currency; validationMessage.TargetPath = "Events"; validationMessage.Message = "Message"; list.Add("data"); list.Add("data1"); lstValidationField = new List <ValidationField>(); lstValidationField.Add(validationFieldObj); lstValidationOperation = new List <ValidationOperation>(); var validationOperationObj = new ValidationOperation(); validationOperationObj.FieldPath = "Drugs"; validationOperationObj.FieldType = 1; lstValidationOperation.Add(validationOperationObj); }
public CoreBlock(int packerStartPosition, ushort protocolVersion, long blockId, int chainId, uint chainIndex, short issuer, int revision, long timestamp, Hash previousBlockHash, Unpacker unpacker, byte[] blockData) : base(ChainType.Core, protocolVersion, blockId, chainId, chainIndex, issuer, revision, timestamp, previousBlockHash) { var startPosition = packerStartPosition; unpacker.Unpack(out NextAccountId); unpacker.Unpack(out NextChainId); var count = unpacker.UnpackInt(); for (var i = 0; i < count; i++) { var coreOperation = Operation.Restore <CoreOperation>(unpacker); var validation = new ValidationOperation(unpacker); _items.Add(new TransactionItem <CoreOperation>(coreOperation, validation)); } count = unpacker.UnpackInt(); for (var i = 0; i < count; i++) { var transaction = Operation.Restore <CoreTransaction>(unpacker); _transactions.Add(transaction); } var size = unpacker.Position - startPosition; if (blockData == null) { unpacker.Position = startPosition; unpacker.Unpack(out blockData, size); } BlockData = blockData; BlockHash = Hash.Generate(Protocol.TransactionHashType, new PartialStream(unpacker.Stream, startPosition, size)); }
public TransactionItem(TransactionType transaction, ValidationOperation validation) { Transaction = transaction; Validation = validation; }
private void btnUpdateCrudShop_Click(object sender, EventArgs e) { ProductDAL productDAL = new ProductDAL(); UserDAL userDAL = new UserDAL(); var product = productDAL.GetByFilter(x => x.Id == Convert.ToInt32(dgvShop.CurrentRow.Cells[0].Value)); if (cmbCategoryCrudShop.Text != "" && txbCountCrudShop.Text != "" && txbPriceCrudShop.Text != "") { if (product.UserId == CurrentUser.Id || CurrentUser.Type == 2) { Product productItem = new Product() { Id = Convert.ToInt32(dgvShop.CurrentRow.Cells[0].Value), Name = this.txbNameCrudShop.Text, CategoryId = Convert.ToInt32(cmbCategoryCrudShop.Text.Split('-')[0]), Count = Convert.ToInt32(this.txbCountCrudShop.Text), Price = Convert.ToDouble(this.txbPriceCrudShop.Text), UserId = product.UserId, Status = (int)ProductStatusEnum.Active, }; if (CurrentUser.Type == 2) { LogDAL LogDAL = new LogDAL(); bool productExists = LogDAL.ProductExists(Convert.ToInt32(dgvShop.CurrentRow.Cells[0].Value)); Log log = new Log() { UserId = CurrentUser.Id, Description = txbDescriptionCrudProducts.Text, ProductId = Convert.ToInt32(dgvShop.CurrentRow.Cells[0].Value), Type = Convert.ToInt32(LogTypeEnum.Update), ModifiedDate = DateTime.Now }; if (productExists) { int logId = LogDAL.GetByFilter(x => x.ProductId == Convert.ToInt32(dgvShop.CurrentRow.Cells[0].Value)).Id; log.Id = logId; } bool isValid = ValidationOperation <Log> .ValidateOperation(log); if (isValid) { product.UserId = userDAL.GetByFilter(x => x.Email == this.cmbUserCrudProducts.Text.Split('-')[0]).Id; productDAL.Update(productItem); MessageBox.Show("Successfully Updated"); LogDAL.Update(log); productDAL.GetGridData(dgvShop); } } else { productDAL.Update(productItem); MessageBox.Show("Successfully Updated"); productDAL.GetGridData(dgvShop); } } else { MessageBox.Show("You are not allowed to update others' products"); } } else { MessageBox.Show("The field is required"); } }