public INType GetStageType(INType workflowType) { var childrenTypes = GetTypes(workflowType.Children).ToList(); var stageType = childrenTypes.FirstOrDefault(t => t.IsWorkflowStageType()); return(stageType); }
private static string GetObjectTitle(INObject obj, INType type) { if (type.Id == MType.SMART_FOLDER_ID && obj.Attributes.ContainsKey(SystemAttributes.SMART_FOLDER_TITLE)) { return(obj.Attributes[SystemAttributes.SMART_FOLDER_TITLE].ToString()); } if (obj.Id == DObject.RootId) { return(type.Title); } var sb = new StringBuilder(); var attributes = AttributeFormatter.Format(type, obj.Attributes); foreach (var displayableAttr in type.GetDisplayAttributes()) { var attributeText = GetAttributeText(obj, attributes, displayableAttr); if (sb.Length != 0 && !string.IsNullOrEmpty(attributeText)) { sb.Append(Constants.PROJECT_TITLE_ATTRIBUTES_DELIMITER); } sb.Append(attributeText); } return(sb.ToString()); }
public IEnumerable <INType> GetSubWorkflowTypes(INType type) { var childrenTypes = GetTypes(type.Children).ToList(); var workflowTypes = childrenTypes.Where(t => t.IsWorkflowType()); return(workflowTypes); }
private void GetAllTypes(INType type, HashSet <INType> taskSet, HashSet <INType> workflowSet, HashSet <INType> stageSet) { var childrenTypes = GetTypes(type.Children).ToList(); foreach (var childrenType in childrenTypes) { if (taskSet.Contains(childrenType) || workflowSet.Contains(childrenType)) { continue; } if (childrenType.IsWorkflowType()) { workflowSet.Add(childrenType); } if (childrenType.IsTaskType()) { taskSet.Add(childrenType); } if (childrenType.IsWorkflowStageType()) { stageSet.Add(childrenType); } GetAllTypes(childrenType, taskSet, workflowSet, stageSet); } }
public PType(INType type) { if (type == null) { return; } Id = type.Id; Name = type.Name; Title = type.Title; Sort = type.Sort; HasFiles = GetHasFiles(type); Kind = type.Kind; IsDeleted = type.IsDeleted; IsService = type.IsService; IsProject = type.IsProject; Children = type.Children; Attributes = type.Attributes; IsMountable = type.IsMountable; if (type.Icon != null) { Icon = Convert.ToBase64String(type.Icon); } }
private bool GetHasFiles(INType type) { if (type.Name == SystemTypes.PROJECT_FILE) { return(true); } return(type.HasFiles); }
private IEnumerable <INType> GetTaskTypes(INType type) { if (type == null) { return(Enumerable.Empty <INType>()); } var childrenTypes = GetTypes(type.Children).ToList(); var taskTypes = childrenTypes.Where(t => t.IsTaskType()); return(taskTypes); }
private static bool MatchesListView(INType type) { if (type.Name == SystemTypes.SMART_FOLDER) { return(true); } if (type.Name == SystemTypes.SHORTCUT) { return(true); } return(!type.IsService && type.Kind == TypeKind.User); }
public static string GetTitle(this INObject obj, INType type) { if (type.IsProjectFileOrFolder()) { DValue name; if (obj.Attributes.TryGetValue(SystemAttributes.PROJECT_ITEM_NAME, out name)) { return(name); } return("unnamed"); } return(GetObjectTitle(obj, type)); }
private static IEnumerable <INAttribute> GetDisplayAttributes(this INType type) { return(type.Attributes.Where(d => d.ShowInTree).OrderBy(d => d.DisplaySortOrder)); }
public static IReadOnlyDictionary <string, DValue> Format(INType objectType, IReadOnlyDictionary <string, DValue> values) { var cloneValues = values.ToDictionary(k => k.Key, v => v.Value.Clone()); if (objectType == null) { return(cloneValues); } foreach (var value in cloneValues) { var attribute = objectType.Attributes.FirstOrDefault(a => a.Name.Equals(value.Key)); if (attribute == null) { continue; } var format = attribute.ParsedConfiguration().Format; if (string.IsNullOrEmpty(format)) { continue; } try { if (value.Value.DoubleValue != null) { value.Value.StrValue = string.Format(format, value.Value.DoubleValue.Value); continue; } if (value.Value.DateValue != null) { value.Value.StrValue = string.Format(format, value.Value.DateValue.Value); continue; } if (value.Value.IntValue != null) { value.Value.StrValue = string.Format(format, value.Value.IntValue.Value); continue; } if (value.Value.StrValue != null) { value.Value.StrValue = string.Format(format, value.Value.StrValue); } if (value.Value.DecimalValue != null) { var cultureName = attribute.ParsedConfiguration().Culture; var cultureInfo = !string.IsNullOrEmpty(cultureName) ? new CultureInfo(cultureName) : CultureInfo.CurrentUICulture; value.Value.StrValue = string.Format(cultureInfo, format, value.Value.DecimalValue); } } catch (FormatException) { } } return(cloneValues); }
protected bool IsUserType(INType type) { return(!type.IsService && type.Kind == TypeKind.User); }
public IEnumerable <INType> GetSubTaskTypes(INType type) { return(GetTaskTypes(type)); }
private static bool MatchesPilotStorage(INType type) { return(type.Name == SystemTypes.PROJECT_FOLDER || type.Name == SystemTypes.PROJECT_FILE); }
protected string GetTooltipEntryForType(INType type) { return(Environment.NewLine + type.Title + (type.IsDeleted ? " - " + "Deleted type" : string.Empty)); }
protected bool IsUserType(INType type) { return((!type.IsService && type.Kind == TypeKind.User) || type.Name == SystemTypes.PROJECT_FILE || type.Name == SystemTypes.PROJECT_FOLDER); }
public IEnumerable <INType> GetStageTaskTypes(INType stageType) { return(GetTaskTypes(stageType)); }