Exemple #1
0
        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());
        }
Exemple #3
0
        public IEnumerable <INType> GetSubWorkflowTypes(INType type)
        {
            var childrenTypes = GetTypes(type.Children).ToList();
            var workflowTypes = childrenTypes.Where(t => t.IsWorkflowType());

            return(workflowTypes);
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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);
            }
        }
Exemple #6
0
        private bool GetHasFiles(INType type)
        {
            if (type.Name == SystemTypes.PROJECT_FILE)
            {
                return(true);
            }

            return(type.HasFiles);
        }
Exemple #7
0
        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);
        }
Exemple #12
0
 protected bool IsUserType(INType type)
 {
     return(!type.IsService && type.Kind == TypeKind.User);
 }
Exemple #13
0
 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);
 }
Exemple #15
0
 protected string GetTooltipEntryForType(INType type)
 {
     return(Environment.NewLine + type.Title + (type.IsDeleted ? " - " + "Deleted type" : string.Empty));
 }
Exemple #16
0
 protected bool IsUserType(INType type)
 {
     return((!type.IsService && type.Kind == TypeKind.User) ||
            type.Name == SystemTypes.PROJECT_FILE ||
            type.Name == SystemTypes.PROJECT_FOLDER);
 }
Exemple #17
0
 public IEnumerable <INType> GetStageTaskTypes(INType stageType)
 {
     return(GetTaskTypes(stageType));
 }