private IEnumerable <Teleform.Reporting.Attribute> GetAttributes() { IEnumerable <Teleform.Reporting.Attribute> FilteredAttrsList; if (FilterAttributeIDList != null) { FilteredAttrsList = Entity.Attributes.Where(o => !FilterAttributeIDList.Contains(o.ID)); } else { FilteredAttrsList = Entity.Attributes; } if (userID != null) { var PermittedEntitieNamesList = StorageUserObgects.Select <UserEntityPermission>(userID, userID).getReadPermittedEntities().AsEnumerable().Select(x => x["entityID"].ToString()).ToList <string>(); foreach (var item in PermittedEntitieNamesList) { if (item == "202535855") { } } FilteredAttrsList = FilteredAttrsList.Where(x => PermittedEntitieNamesList.Contains(x.EntityID.ToString())); foreach (var item in FilteredAttrsList) { if (item.EntityID == "202535855") { } } } if (string.IsNullOrEmpty(AttributeFilterBox.Text)) { return(FilteredAttrsList.Where(o => !o.Name.ToLower().Contains("objid") && !o.Name.ToLower().Contains("parentid"))); } else { return(FilteredAttrsList.Where(o => !o.Name.ToLower().Contains("objid") && !o.Name.ToLower().Contains("parentid") && o.Name.ToLower().Contains(AttributeFilterBox.Text.ToLower()))); } }
private IEnumerable <Teleform.Reporting.Attribute> GetAttributesForAdministration() { IEnumerable <Teleform.Reporting.Attribute> filterList; if (FilterAttributeIDList != null) { filterList = Entity.Attributes.Where(o => !FilterAttributeIDList.Contains(o.ID) && !o.IsListAttribute); //&& o.FPath.IndexOf('/') == -1 } else { filterList = Entity.Attributes; //.Where(x => x.FPath.IndexOf('/') == -1); } if (string.IsNullOrEmpty(AttributeFilterBox.Text)) { return(filterList.Where(o => !o.Name.ToLower().Contains("objid") && !o.Name.ToLower().Contains("parentid"))); } else { return(filterList.Where(o => !o.Name.ToLower().Contains("objid") && !o.Name.ToLower().Contains("parentid") && o.Name.ToLower().Contains(AttributeFilterBox.Text.ToLower()))); } }
private object GetAttributesForInputExcelBased() { IEnumerable <Teleform.Reporting.Attribute> filterList = new List <Teleform.Reporting.Attribute>(); if (FilterAttributeIDList != null) { //делает выборку, если добавленные атрибуты нужно убрать из списка в дизайнере filterList = Entity.Attributes.Where(o => o.AppType == AppType.parentid && !FilterAttributeIDList.Contains(o.ID) && !o.IsListAttribute && !o.FPath.Contains("/") && o.Type.Name != "Table").AsEnumerable(); } else { filterList = Entity.Attributes.Where(x => !x.FPath.Contains("/") && x.Type.Name != "Table").AsEnumerable(); } var constraint = entity.Constraints.ToArray(); List <Teleform.Reporting.Attribute> list = new List <Teleform.Reporting.Attribute>(); for (int i = 0; i < constraint.Count(); i++) { var attribute = entity.Attributes.FirstOrDefault(x => x.FPath == (constraint[i].ConstraintName + "/objID")); // && !FilterAttributeIDList.Contains(x.ID)); if (attribute != null) { list.Add(attribute); } } //Добавляем ссылку на себя (Table_Table) к списку полей if (entity.IsHierarchic) { list.Add(entity.Attributes.FirstOrDefault(x => x.FPath == (constraint.FirstOrDefault(o => o.RefTblName == entity.SystemName).ConstraintName + "/name"))); } filterList = filterList.Concat(list.AsEnumerable()); return(filterList.Where(o => o.Name.ToLower() != "objid")); }