private bool ValidateDataRecommend() { var result = ValidationProviderRecommend.Validate(); var invalidControls = ValidationProviderRecommend.GetInvalidControls(); var firstInvalideControl = invalidControls.FirstOrDefault(); if (firstInvalideControl != null) { var layoutItem = EntityDataLayoutControl.GetItemByControl(firstInvalideControl); if (layoutItem != null && layoutItem.Parent.ParentTabbedGroup != null) { layoutItem.Parent.ParentTabbedGroup.SelectedTabPage = layoutItem.Parent; } } if (!result) { string caption = ResourceService.GetString("RecommendWarning"); string text = ResourceService.GetString("Katrin"); DialogResult dialogResult = XtraMessageBox.Show(this, caption, text, MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (dialogResult == DialogResult.OK) { result = true; } } return(result); }
public virtual bool ValidateData() { messagePanel.ResetText(); messagePanel.Visible = false; var result = ValidationProvider.Validate(); var invalidControls = ValidationProvider.GetInvalidControls(); var invalidMessage = new StringBuilder(); foreach (var invalidControl in invalidControls) { var message = ValidationProvider.GetValidationRule(invalidControl).ErrorText; invalidMessage.AppendLine(message); } if (invalidMessage.Length > 0) { messagePanel.Visible = true; messagePanel.Text = invalidMessage.ToString(); } var firstInvalideControl = invalidControls.FirstOrDefault(); if (firstInvalideControl != null) { var layoutItem = EntityDataLayoutControl.GetItemByControl(firstInvalideControl); if (layoutItem != null && layoutItem.Parent.ParentTabbedGroup != null) { layoutItem.Parent.ParentTabbedGroup.SelectedTabPage = layoutItem.Parent; } } return(result); }
private void LocalizeProperty(Control editor, Entity entity) { if (editor.DataBindings.Count == 0) { return; } var labels = MetadataRepository.LocalizedLabels; var binding = editor.DataBindings[0]; binding.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged; string bindingMember = binding.BindingMemberInfo.BindingMember; var bindingSource = binding.DataSource as BindingSource; string dataMember = bindingSource != null?bindingSource.DataMember:string.Empty; var attribute = GetEntityAttribute(entity, bindingMember); if (!string.IsNullOrEmpty(dataMember)) { attribute = entity.Attributes .FirstOrDefault(a => a.PhysicalName.Contains(dataMember)); var relationRoles = MetadataRepository.EntityRelationshipRoles .Where(c => c.EntityId == entity.EntityId && c.RelationshipRoleType == 1 && c.EntityRelationship.EntityRelationshipRelationships .FirstOrDefault() == null ? false : c.EntityRelationship.EntityRelationshipRelationships .First().Relationship.ReferencingAttributeId == attribute.AttributeId); if (relationRoles != null) { var entityId = relationRoles.First().EntityRelationship .EntityRelationshipRelationships.First() .Relationship.ReferencedEntityId; entity = MetadataRepository.Entities.First(c => c.EntityId == entityId); attribute = entity.Attributes .FirstOrDefault(a => a.PhysicalName.Equals(bindingMember, StringComparison.InvariantCultureIgnoreCase)); } } if (attribute != null) { //textbox maxlength setting if (editor is DevExpress.XtraEditors.TextEdit) { TextEdit txtControl = editor as TextEdit; if (attribute.MaxLength != null) { txtControl.Properties.MaxLength = (int)attribute.MaxLength; } } //setting local language. int languageId = System.Threading.Thread.CurrentThread.CurrentUICulture.LCID; var label = labels.FirstOrDefault(l => l.ObjectId == attribute.AttributeId && l.LanguageId == languageId); if (label != null) { var layoutItem = EntityDataLayoutControl.GetItemByControl(editor); layoutItem.Text = label.Label; } } }
public virtual void InitEditors(Entity entity) { Stream tream = GetDefaultLayoutStream(EntityName); if (tream != null) { EntityDataLayoutControl.RestoreLayoutFromStream(tream); } EntityDataLayoutControl.Controls.OfType <BaseEdit>().ToList().ForEach(editor => LocalizeProperty(editor, entity)); EntityDataLayoutControl.Controls.OfType <RichEditControl>().ToList().ForEach(editor => LocalizeProperty(editor, entity)); InitValidation(); }
public virtual bool ValidateData() { messagePanel.ResetText(); messagePanel.Visible = false; var result = ValidationProvider.Validate(); var invalidControls = ValidationProvider.GetInvalidControls(); var invalidMessage = new StringBuilder(); _validationSort.ToList().ForEach(c => _validationSort[c.Key] = string.Empty); foreach (var invalidControl in invalidControls) { var message = ValidationProvider.GetValidationRule(invalidControl).ErrorText; if (_validationSort.Keys.Contains(invalidControl.Name)) { _validationSort[invalidControl.Name] = message; } else { invalidMessage.AppendLine(message); } } foreach (var validationItem in _validationSort) { if (string.IsNullOrEmpty(validationItem.Value)) { continue; } invalidMessage.AppendLine(validationItem.Value); } if (invalidMessage.Length > 0) { messagePanel.Visible = true; messagePanel.Text = invalidMessage.ToString(); } var firstInvalideControl = invalidControls.FirstOrDefault(); if (firstInvalideControl != null) { var layoutItem = EntityDataLayoutControl.GetItemByControl(firstInvalideControl); if (layoutItem != null && layoutItem.Parent.ParentTabbedGroup != null) { layoutItem.Parent.ParentTabbedGroup.SelectedTabPage = layoutItem.Parent; } } return(result); }
private void LocalizeProperty(Control editor, Entity entity) { if (editor.DataBindings.Count == 0) { return; } var labels = MetadataProvider.Instance.LocalizedLabels; var binding = editor.DataBindings[0]; string bindingMember = binding.BindingMemberInfo.BindingMember; var bindingSource = binding.DataSource as BindingSource; string dataMember = bindingSource != null?bindingSource.DataMember:string.Empty; var attribute = GetEntityAttribute(entity, bindingMember); if (!string.IsNullOrEmpty(dataMember)) { attribute = entity.Attributes .FirstOrDefault(a => a.PhysicalName.Contains(dataMember)); var relationRoles = MetadataProvider.Instance.EntityRelationshipRoles .Where(c => c.EntityId == entity.EntityId && c.RelationshipRoleType == 1 && c.EntityRelationship.EntityRelationshipRelationships .FirstOrDefault() == null ? false : c.EntityRelationship.EntityRelationshipRelationships .First().Relationship.ReferencingAttributeId == attribute.AttributeId); if (relationRoles != null) { var entityId = relationRoles.First().EntityRelationship .EntityRelationshipRelationships.First() .Relationship.ReferencedEntityId; entity = MetadataProvider.Instance.EntiyMetadata.First(c => c.EntityId == entityId); attribute = entity.Attributes .FirstOrDefault(a => a.PhysicalName.Equals(bindingMember, StringComparison.InvariantCultureIgnoreCase)); } } if (attribute != null) { int languageId = System.Threading.Thread.CurrentThread.CurrentUICulture.LCID; var label = labels.FirstOrDefault(l => l.ObjectId == attribute.AttributeId && l.LanguageId == languageId); if (label != null) { var layoutItem = EntityDataLayoutControl.GetItemByControl(editor); layoutItem.Text = label.Label; } } }
public virtual void EndInit() { EntityDataLayoutControl.EndInit(); ResumeLayout(false); }
public virtual void BeginInit() { EntityDataLayoutControl.BeginInit(); SuspendLayout(); }