private DataTable GetDataTableForListItem(Constraint constraint) { CheckValidationObject(constraint); dependencyRelation = new DependencyRelations(constraint, collectionEntityInstance[numberRow]); return(dependencyRelation.SetRelationColumnsValue_GetReferenceTable(true, true)); //ReferenceTableDataSource; }
private void CheckValidationObject(Constraint constraint) { var entityInstanceID = collectionEntityInstance[numberRow].RelationColumnsValue.FirstOrDefault(x => x.ConstraintID == constraint.ConstraintObjID).EntityInstanceID; var olderValueCell = oldValueCell == null ? "" : oldValueCell.ToString(); var CleanValue = !string.IsNullOrEmpty(olderValueCell) ? GetObjID(olderValueCell) : ""; if (entityInstanceID == null) { entityInstanceID = ""; } if (entityInstanceID != CleanValue) //Проверяем соответсвует ли запись в Excel и в объекте collectionEntityInstance[numberRow] { UpdateValueFromRow(); } }
public Relation(Constraint constraint, string referenceEntityInstanceID) { this._constraint = constraint; this._referenceEntityInstanceID = referenceEntityInstanceID; }
internal List <ListItem> GetData(Excel.Application excelApplication) { #region get Schema if (TemplateAndShemaData.schema == null) { FillSchema(); TemplateAndShemaData.schema = Schema; } else { Schema = (Schema)TemplateAndShemaData.schema; } #endregion ParsersExcel(); #region get Template if (TemplateAndShemaData.template == null) { GetTemplate(); TemplateAndShemaData.template = template; } else { template = (Template)TemplateAndShemaData.template; } #endregion #region get CollectionEntityInstance if (TemplateAndShemaData.collectionEntityInstance != null) { collectionEntityInstance = (List <EntityInstance>)TemplateAndShemaData.collectionEntityInstance; } else { TemplateAndShemaData.collectionEntityInstance = collectionEntityInstance = new List <EntityInstance>(); } while (collectionEntityInstance.Count <= numberRow) { var entityInstance = new EntityInstance(string.Empty, template.Entity.SystemName, false); entityInstance.Constraints = template.Entity.Constraints; entityInstance.SetRelationColumnsValue(); collectionEntityInstance.Add(entityInstance); } #endregion var field = FindConstraint(NameColumn); var dt = new DataTable(); if (field is Constraint) { dt = GetDataTableForListItem(constraintLink = field as Constraint); fieldType = FieldType.Constraint; } else if (field is TemplateField) { GetFieldType(field as TemplateField); return(null); } return(CreateListItems(dt)); }