internal IDataListItemModel CreateDataListItemViewModel(string name, IDataListViewModel dataListVM) { IDataListItemModel dLVM = DataListItemModelFactory.CreateDataListModel(name); return(dLVM); }
static void FixCommonNamingProblems(IDataListItemModel recset) { if (recset.DisplayName.Contains("[") || recset.DisplayName.Contains("]")) { recset.DisplayName = recset.DisplayName.Replace("[", "").Replace("]", ""); } }
internal IDataListViewModel CreateDataListViewModel(IResourceModel resourceModel, IDataListItemModel dataListItemViewModel) { IDataListViewModel dlVM = CreateDataListViewModel(resourceModel); dlVM.DataList.Add(dataListItemViewModel); return dlVM; }
public void AddChild_ExpectedChildCreationOnDataListItem() { IDataListItemModel dataListItemToAdd = DataListItemModelFactory.CreateDataListModel("testName"); int countBeforeAdd = _dataListItemModel.Children.Count; _dataListItemModel.Children.Add(dataListItemToAdd); Assert.IsTrue(_dataListItemModel.Children.Count > countBeforeAdd && _dataListItemModel.Children.Count < countBeforeAdd + 2); }
public void AddChild_InvalidChildrenCollection_Expected_ChildrenContainErrors() { IDataListItemModel child = DataListItemModelFactory.CreateDataListModel("test!@#"); _dataListItemModel.Children.Add(child); Assert.IsTrue(_dataListItemModel.Children.Count == 1 && _dataListItemModel.Children[0].HasError); }
void ValidateRecordsetChildren(IDataListItemModel recset) { CheckForEmptyRecordset(); CheckDataListItemsForDuplicates(recset.Children); CheckForFixedEmptyRecordsets(); }
public void FixNamingForScalar(IDataListItemModel scalar) { if (scalar.DisplayName.Contains("()")) { scalar.DisplayName = scalar.DisplayName.Replace("()", ""); } FixCommonNamingProblems(scalar); }
void FixNamingForRecset(IDataListItemModel recset) { if (!recset.DisplayName.EndsWith("()")) { recset.DisplayName = string.Concat(recset.DisplayName, "()"); } FixCommonNamingProblems(recset); }
// ReSharper restore MethodOverloadWithOptionalParameter // ReSharper disable MethodOverloadWithOptionalParameter public static IDataListItemModel CreateDataListItemViewModel(IDataListViewModel dataListViewModel, string name, string description, IDataListItemModel parent, bool isEditable = true, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection = enDev2ColumnArgumentDirection.None) { IDataListItemModel dataListModel = CreateDataListModel(name); dataListModel.Description = description; dataListModel.Parent = parent; dataListModel.IsExpanded = true; dataListModel.IsEditable = isEditable; return dataListModel; }
public static IDataListItemModel CreateDataListModel(string displayname, string description = "", IDataListItemModel parent = null, OptomizedObservableCollection<IDataListItemModel> children = null, bool hasError = false, string errorMessage = "", bool isEditable = true, bool isVisable = true, bool isSelected = false, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection = enDev2ColumnArgumentDirection.None) { IDataListItemModel dataListModel = new DataListItemModel(displayname, dev2ColumnArgumentDirection, description, parent, children, hasError, errorMessage, isEditable, isVisable, isSelected); if(parent != null && !String.IsNullOrEmpty(displayname)) { dataListModel.Name = parent.DisplayName + "()." + displayname; } return dataListModel; }
/// <summary> /// Adds a record set. /// </summary> private void AddRecordSet() { IDataListItemModel recset = DataListItemModelFactory.CreateDataListModel(string.Empty); IDataListItemModel childItem = DataListItemModelFactory.CreateDataListModel(string.Empty); recset.IsExpanded = false; childItem.Parent = recset; recset.Children.Add(childItem); RecsetCollection.Add(recset); }
// ReSharper disable MethodOverloadWithOptionalParameter public static IDataListItemModel CreateDataListItemViewModel(IDataListViewModel dataListViewModel, string name, string description, IDataListItemModel parent, bool isEditable = true, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection = enDev2ColumnArgumentDirection.None) // ReSharper restore MethodOverloadWithOptionalParameter { IDataListItemModel dataListModel = CreateDataListModel(name); dataListModel.Description = description; dataListModel.Parent = parent; dataListModel.IsExpanded = true; dataListModel.IsEditable = isEditable; return dataListModel; }
private OptomizedObservableCollection <IDataListItemModel> CreateChildren(IDataListItemModel parent, int numberOfChildrenToCreate) { OptomizedObservableCollection <IDataListItemModel> children = new OptomizedObservableCollection <IDataListItemModel>(); for (int i = 1; i <= numberOfChildrenToCreate; i++) { children.Add(new DataListItemModel("child" + i.ToString(), enDev2ColumnArgumentDirection.None, "", parent)); } return(children); }
private void AddRowToScalars() { IList <IDataListItemModel> blankList = ScalarCollection.Where(c => c.IsBlank).ToList(); if (blankList.Count == 0) { IDataListItemModel scalar = DataListItemModelFactory.CreateDataListModel(string.Empty); ScalarCollection.Add(scalar); Validator.Add(scalar); } }
public void CreateDataListModelWithParentAndDisplayNameShouldCorrectlySetName() { //-------------------------Setup--------------------------------------- IDataListItemModel parentItem = DataListItemModelFactory.CreateDataListModel("testRec"); //-------------------------Execute----------------------------------- IDataListItemModel childItem = DataListItemModelFactory.CreateDataListModel("field1", "this is a field", parentItem); //-------------------------Assert------------------------------------- Assert.AreEqual("field1", childItem.Name); Assert.AreEqual("testRec", childItem.Parent.Name); }
internal IDataListItemModel CreateRecordSetDataListItem(string name, int numberOfRecords, string recordSetPrefix, IDataListViewModel dLVM) { string[] records = new string[numberOfRecords]; for (int i = 0; i < numberOfRecords; i++) { records[i] = string.Format("{0}{1}", recordSetPrefix, (i + 1)); } IDataListItemModel dLIVM = CreateRecordSetDataListItem(name, records, dLVM); return(dLIVM); }
// ReSharper disable MethodOverloadWithOptionalParameter public static IDataListItemModel CreateDataListItemViewModel(IDataListViewModel dataListViewModel, string name, string description, IDataListItemModel parent, bool isEditable = true, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection = enDev2ColumnArgumentDirection.None) // ReSharper restore MethodOverloadWithOptionalParameter { IDataListItemModel dataListModel = CreateDataListModel(name); dataListModel.Description = description; dataListModel.Parent = parent; dataListModel.IsExpanded = true; dataListModel.IsEditable = isEditable; return(dataListModel); }
public void AddItemToBuilder(StringBuilder result, IDataListItemModel item) { result.AppendFormat("<{0} {1}=\"{2}\" {3}=\"{4}\" {5}=\"{6}\" ", item.DisplayName , Description , item.Description , IsEditable , item.IsEditable , GlobalConstants.DataListIoColDirection , item.ColumnIODirection); }
public void CheckName(IDataListItemModel item) { if (item.IsRecordset && item.DisplayName.Contains("()")) { item.DisplayName = item.DisplayName.Remove(item.DisplayName.IndexOf("(")); } if (item.IsField && item.DisplayName.Contains("().")) { int startIndex = item.DisplayName.IndexOf(".") + 1; item.DisplayName = item.DisplayName.Substring(startIndex, item.DisplayName.Length - startIndex); } }
public void RemoveChild_ExpectRootDataListItemToHaveOneChild() { IDataListItemModel dataListItemToAdd = DataListItemModelFactory.CreateDataListModel("testDataListItem"); _dataListItemModel.Children.Add(dataListItemToAdd); int countBefore = _dataListItemModel.Children.Count; _dataListItemModel.Children.Remove(dataListItemToAdd); Assert.AreNotEqual(_dataListItemModel.Children.Count, countBefore); }
public void RemoveDataListItem(IDataListItemModel itemToRemove) { if (itemToRemove == null) { return; } var complexObj = itemToRemove as IComplexObjectItemModel; if (complexObj != null) { var complexObjectItemModels = complexObj.Children; var allChildren = complexObjectItemModels.Flatten(model => model.Children).ToList(); var notUsedItems = allChildren.Where(x => !x.IsUsed).ToList(); foreach (var complexObjectItemModel in notUsedItems) { RemoveUnusedChildComplexObjects(complexObj, complexObjectItemModel); } if (complexObj.Children.Count == 0) { ComplexObjectCollection.Remove(complexObj); } else { complexObj.IsUsed = true; } } if (itemToRemove is IScalarItemModel) { var item = itemToRemove as IScalarItemModel; ScalarCollection.Remove(item); CheckDataListItemsForDuplicates(DataList); } else if (itemToRemove is IRecordSetItemModel) { var item = itemToRemove as IRecordSetItemModel; RecsetCollection.Remove(item); CheckDataListItemsForDuplicates(DataList); } else { foreach (var recset in RecsetCollection) { var item = itemToRemove as IRecordSetFieldItemModel; recset.Children.Remove(item); CheckDataListItemsForDuplicates(recset.Children); } } FindUnusedAndMissingCommand.RaiseCanExecuteChanged(); DeleteCommand.RaiseCanExecuteChanged(); }
internal IDataListItemModel CreateRecordSetDataListItem(string name, string[] recordNames, IDataListViewModel dLVM) { IDataListItemModel dLIVM = CreateDataListItemViewModel(name, dLVM); foreach (var nameResources in recordNames) { IDataListItemModel dataListRecordSetField = CreateDataListItemViewModel(nameResources, dLVM); dataListRecordSetField.Parent = dLIVM; dLIVM.Children.Add(dataListRecordSetField); } return(dLIVM); }
void AddRowToScalars() { List <IDataListItemModel> blankList = ScalarCollection.Where(c => c.IsBlank).ToList(); if (blankList.Count != 0) { return; } IDataListItemModel scalar = DataListItemModelFactory.CreateDataListModel(string.Empty); ScalarCollection.Add(scalar); }
public void ValidateNames(IDataListItemModel item) { if (item != null) { if (item.IsField) { item.Parent.Validator.Move(item); } else { Validator.Move(item); } } }
void ButtonBase_OnClick(object sender, RoutedEventArgs e) { IDataListViewModel vm = DataContext as IDataListViewModel; if (vm != null) { Button btn = sender as Button; if (btn != null) { IDataListItemModel itemThatChanged = btn.DataContext as IDataListItemModel; vm.RemoveDataListItem(itemThatChanged); WriteToResourceModel(); } } }
public bool Equals(IDataListItemModel other) => string.Equals(Description, other.Description) && HasError == other.HasError && string.Equals(ErrorMessage, other.ErrorMessage) && IsEditable == other.IsEditable && IsVisible == other.IsVisible && IsSelected == other.IsSelected && IsUsed == other.IsUsed && AllowNotes == other.AllowNotes && IsComplexObject == other.IsComplexObject && string.Equals(DisplayName, other.DisplayName) && ColumnIODirection == other.ColumnIODirection && string.Equals(Name, other.Name) && Equals(IsBlank, other.IsBlank) && Equals(Output, other.Output) && Equals(Input, other.Input);
private void NametxtTextChanged(object sender, RoutedEventArgs e) { IDataListViewModel vm = DataContext as IDataListViewModel; if (vm != null) { TextBox txtbox = sender as TextBox; IDataListItemModel itemThatChanged = txtbox?.DataContext as IDataListItemModel; if (itemThatChanged != null) { itemThatChanged.IsExpanded = true; } vm.AddBlankRow(null); } }
void DoDataListValidation(object sender) { IDataListViewModel vm = DataContext as IDataListViewModel; if (vm != null) { TextBox txtbox = sender as TextBox; if (txtbox != null) { IDataListItemModel itemThatChanged = txtbox.DataContext as IDataListItemModel; vm.RemoveBlankRows(itemThatChanged); vm.ValidateNames(itemThatChanged); } } }
/* * This is a piss poor implementation of optional parameters.... Constructor chaining would be far better suited to our needs, or even better a factory or builder!!!! ;) */ public DataListItemModel(string displayname, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection = enDev2ColumnArgumentDirection.None, string description = "", IDataListItemModel parent = null, OptomizedObservableCollection <IDataListItemModel> children = null, bool hasError = false, string errorMessage = "", bool isEditable = true, bool isVisable = true, bool isSelected = false, bool isExpanded = true) { Description = description; Parent = parent; Children = children; HasError = hasError; ErrorMessage = errorMessage; IsEditable = isEditable; IsVisable = isVisable; DisplayName = displayname; IsSelected = isSelected; IsExpanded = isExpanded; LastIndexedName = Name; IsUsed = true; ColumnIODirection = dev2ColumnArgumentDirection; }
/* * This is a piss poor implementation of optional parameters.... Constructor chaining would be far better suited to our needs, or even better a factory or builder!!!! ;) */ public DataListItemModel(string displayname, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection = enDev2ColumnArgumentDirection.None, string description = "", IDataListItemModel parent = null, OptomizedObservableCollection<IDataListItemModel> children = null, bool hasError = false, string errorMessage = "", bool isEditable = true, bool isVisable = true, bool isSelected = false, bool isExpanded = true) { Description = description; Parent = parent; Children = children; HasError = hasError; ErrorMessage = errorMessage; IsEditable = isEditable; IsVisable = isVisable; DisplayName = displayname; IsSelected = isSelected; IsExpanded = isExpanded; LastIndexedName = Name; IsUsed = true; ColumnIODirection = dev2ColumnArgumentDirection; }
#pragma warning disable S1541 // Methods and properties should not be too complex public bool Equals(IDataListItemModel other) => string.Equals(Description, other.Description) #pragma warning restore S1541 // Methods and properties should not be too complex && HasError == other.HasError && string.Equals(ErrorMessage, other.ErrorMessage) && IsEditable == other.IsEditable && IsVisible == other.IsVisible && IsSelected == other.IsSelected && IsUsed == other.IsUsed && AllowNotes == other.AllowNotes && IsComplexObject == other.IsComplexObject && string.Equals(DisplayName, other.DisplayName) && ColumnIODirection == other.ColumnIODirection && string.Equals(Name, other.Name) && Equals(IsBlank, other.IsBlank) && Equals(Output, other.Output) && Equals(Input, other.Input);
public void RemoveUnusedDataListItems(IList <IDataListVerifyPart> parts, bool async) { IList <IDataListItemModel> tmpRecsets = new List <IDataListItemModel>(); foreach (IDataListVerifyPart part in parts) { if (part.IsScalar) { IDataListItemModel scalarToRemove = ScalarCollection.FirstOrDefault(c => c.Name == part.Field); if (scalarToRemove != null) { ScalarCollection.Remove(scalarToRemove); Validator.Remove(scalarToRemove); } } else { IDataListItemModel recsetToRemove = RecsetCollection.FirstOrDefault(c => c.Name == part.Recordset && c.IsRecordset); if (string.IsNullOrEmpty(part.Field)) { if (recsetToRemove != null) { tmpRecsets.Add(recsetToRemove); } } else { IDataListItemModel childToRemove = recsetToRemove.Children.FirstOrDefault(c => c.Name == part.Field && c.IsField); if (childToRemove != null) { recsetToRemove.Children.Remove(childToRemove); recsetToRemove.Validator.Remove(childToRemove); } } } } foreach (IDataListItemModel item in tmpRecsets) { RecsetCollection.Remove(item); Validator.Remove(item); } WriteToResourceModel(); Mediator.SendMessage(MediatorMessages.UpdateIntelisense, this); }
public void RemoveBlankRows(IDataListItemModel item) { if (item != null) { if (!item.IsRecordset && !item.IsField) { RemoveBlankScalars(); } else if (item.IsRecordset) { RemoveBlankRecordsets(); } else { RemoveBlankRecordsetFields(); } } }
internal IList <IDataListItemModel> CreateDataListItemViewModel(string name, int numberOfChildren, IDataListViewModel dataListVM) { IList <IDataListItemModel> dataListItemViewModels = new OptomizedObservableCollection <IDataListItemModel>(); if (numberOfChildren == 1) { dataListItemViewModels.Add(CreateDataListItemViewModel(name, dataListVM)); } else { for (int i = 0; i < numberOfChildren; i++) { IDataListItemModel dLVM = CreateDataListItemViewModel((string.Format("{0}{1}", name, (i + 1))), dataListVM); dataListItemViewModels.Add(dLVM); } } return(dataListItemViewModels); }
public void AddRecordsetNamesIfMissing() { var recsetNum = RecsetCollection != null ? RecsetCollection.Count : 0; int recsetCount = 0; while (recsetCount < recsetNum) { if (RecsetCollection != null) { IDataListItemModel recset = RecsetCollection[recsetCount]; if (!string.IsNullOrWhiteSpace(recset.DisplayName)) { FixNamingForRecset(recset); int childrenNum = recset.Children.Count; int childrenCount = 0; while (childrenCount < childrenNum) { IDataListItemModel child = recset.Children[childrenCount]; if (!string.IsNullOrWhiteSpace(child.DisplayName)) { int indexOfDot = child.DisplayName.IndexOf(".", StringComparison.Ordinal); if (indexOfDot > -1) { string recsetName = child.DisplayName.Substring(0, indexOfDot + 1); child.DisplayName = child.DisplayName.Replace(recsetName, child.Parent.DisplayName + "."); } else { child.DisplayName = string.Concat(child.Parent.DisplayName, ".", child.DisplayName); } FixCommonNamingProblems(child); } childrenCount++; } } } recsetCount++; } NotifyOfPropertyChange(() => DataList); }
static void AddColumnsToRecordSet(IEnumerable<IDataListItemModel> cols, IDataListItemModel recset) { foreach(var col in cols) { col.Parent = recset; recset.Children.Add(col); } }
/// <summary> /// Initializes a new instance of the <see cref="T:System.Object"/> class. /// </summary> public DataListItemSelectedMessage(IDataListItemModel dataListItemModel) { DataListItemModel = dataListItemModel; }
static IDataListItemModel CreateFieldDataListModel(string fieldName, IDataListItemModel recSetDataModel) { IDataListItemModel fieldDataListModel = DataListItemModelFactory.CreateDataListModel(fieldName, "", recSetDataModel); fieldDataListModel.Name = recSetDataModel.Name + "()." + fieldName; return fieldDataListModel; }
public void AddBlankRow(IDataListItemModel item) { if(item != null) { if(!item.IsRecordset && !item.IsField) { AddRowToScalars(); } else { AddRowToRecordsets(); } } else { AddRowToScalars(); AddRowToRecordsets(); } }
private OptomizedObservableCollection<IDataListItemModel> CreateChildren(IDataListItemModel parent, int numberOfChildrenToCreate) { OptomizedObservableCollection<IDataListItemModel> children = new OptomizedObservableCollection<IDataListItemModel>(); for(int i = 1; i <= numberOfChildrenToCreate; i++) { children.Add(new DataListItemModel("child" + i, enDev2ColumnArgumentDirection.None, "", parent)); } return children; }
static void FixCommonNamingProblems(IDataListItemModel recset) { if(recset.DisplayName.Contains("[") || recset.DisplayName.Contains("]")) { recset.DisplayName = recset.DisplayName.Replace("[", "").Replace("]", ""); } }
public static IDataListItemModel CreateDataListItemViewModel(IDataListViewModel dataListViewModel, IDataListItemModel parent) { return CreateDataListItemViewModel(dataListViewModel, string.Empty, string.Empty, parent, true); }
public static IDataListItemModel CreateDataListModel(string displayname, string description, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection = enDev2ColumnArgumentDirection.None, IDataListItemModel parent = null, OptomizedObservableCollection<IDataListItemModel> children = null, bool hasError = false, string errorMessage = "", bool isEditable = true, bool isVisable = true, bool isSelected = false) { IDataListItemModel dataListModel = new DataListItemModel(displayname, dev2ColumnArgumentDirection, description, parent, children, hasError, errorMessage, isEditable, isVisable, isSelected); return dataListModel; }
static void FixNamingForRecset(IDataListItemModel recset) { if(!recset.DisplayName.EndsWith("()")) { recset.DisplayName = string.Concat(recset.DisplayName, "()"); } FixCommonNamingProblems(recset); }
static string BuildErrorMessage(IDataListItemModel model) { return DataListUtil.AddBracketsToValueIfNotExist(model.DisplayName) + " : " + model.ErrorMessage; }
void AddItemToBuilder(StringBuilder result, IDataListItemModel recSet) { result.Append("<"); result.Append(recSet.Name); result.Append(" " + Description + "=\""); result.Append(recSet.Description); result.Append("\" "); result.Append(IsEditable + "=\""); result.Append(recSet.IsEditable); result.Append("\" "); result.Append(GlobalConstants.DataListIoColDirection + "=\""); result.Append(recSet.ColumnIODirection); result.Append("\" "); }
static bool RecordSetHasChildren(IDataListItemModel model) { return model.IsRecordset && model.Children != null && model.Children.Count > 0; }
static void ProcessFoundRecordSets(IDataListVerifyPart part, IDataListItemModel recsetToRemove, bool isUsed) { if(string.IsNullOrEmpty(part.Field)) { if(recsetToRemove != null) { recsetToRemove.IsUsed = isUsed; } } else { if(recsetToRemove == null) return; var childrenToRemove = recsetToRemove.Children.Where(c => c.Name == part.Field && c.IsField); childrenToRemove.ToList().ForEach(childToRemove => { if(childToRemove != null) { childToRemove.IsUsed = isUsed; } }); } }
static void FixNamingForScalar(IDataListItemModel scalar) { if(scalar.DisplayName.Contains("()")) { scalar.DisplayName = scalar.DisplayName.Replace("()", ""); } FixCommonNamingProblems(scalar); }
public void RemoveDataListItem(IDataListItemModel itemToRemove) { if(itemToRemove == null) return; if(!itemToRemove.IsRecordset && !itemToRemove.IsField) { ScalarCollection.Remove(itemToRemove); CheckDataListItemsForDuplicates(DataList); } else if(itemToRemove.IsRecordset) { RecsetCollection.Remove(itemToRemove); CheckDataListItemsForDuplicates(DataList); } else { foreach(var recset in RecsetCollection) { recset.Children.Remove(itemToRemove); CheckDataListItemsForDuplicates(recset.Children); } } }
public void RemoveBlankRows(IDataListItemModel item) { if(item == null) return; if(!item.IsRecordset && !item.IsField) { RemoveBlankScalars(); } else if(item.IsRecordset) { RemoveBlankRecordsets(); } else { RemoveBlankRecordsetFields(); } }
public static IDataListItemModel CreateDataListItemViewModel(IDataListViewModel dataListViewModel, string name, string description, IDataListItemModel parent) { return CreateDataListItemViewModel(dataListViewModel, name, description, parent, true); }
private void TestDataListItemModelSet(string name, bool populateAllFields = false, IDataListItemModel parent = null) { if(populateAllFields) { _testDataListItemModel = new DataListItemModel(name, enDev2ColumnArgumentDirection.None , "Test Description" , parent , CreateChildren(_testDataListItemModel, 10) , false , "" , true , true , false , false); } else { _testDataListItemModel = new DataListItemModel(name); } }
public void ValidateNames(IDataListItemModel item) { if(item == null) return; if(item.IsRecordset) { ValidateRecordset(); } else if(item.IsField) { ValidateRecordsetChildren(item.Parent); } else { ValidateScalar(); } }
static bool BuildRecordSetErrorMessages(IDataListItemModel model, out string errorMessage) { errorMessage = ""; if(RecordSetHasChildren(model)) { if(model.HasError) { { errorMessage = BuildErrorMessage(model); return true; } } var childErrors = model.Children.Where(child => child.HasError); { errorMessage = string.Join(Environment.NewLine, childErrors.Select(BuildErrorMessage)); return true; } } return false; }