示例#1
0
文件: Error.cs 项目: 3F/IeXod
        /// <summary>
        /// Main task method
        /// </summary>
        /// <returns></returns>
        public override bool Execute()
        {
            Log.LogError(null, Code, HelpKeyword, File, 0, 0, 0, 0, Text ?? TaskResources.GetString("ErrorAndWarning.EmptyMessage"));

            // careful to return false. Otherwise the build would continue.
            return(false);
        }
示例#2
0
        protected override bool ReadObject(Appointment app, object boundObject, bool raiseChanged)
        {
            bool   res = base.ReadObject(app, boundObject, raiseChanged);
            string xml = (string)TaskResources.GetPropertyValue(boundObject);

            if (!string.IsNullOrEmpty(xml))
            {
                // Synchronize C1GanttView and C1Schedule resources
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(xml);
                XmlNodeList list = doc.DocumentElement.SelectNodes("resourceRef/@resourceID");
                app.Resources.Clear();
                foreach (XmlNode node in list)
                {
                    int id = int.Parse(node.Value);
                    foreach (CommonResource resource in _resources)
                    {
                        if (resource.GanttID.Equals(id))
                        {
                            app.Resources.Add(_owner.DataStorage.ResourceStorage.Resources[resource.SchedID]);
                        }
                    }
                }
            }
            return(res);
        }
示例#3
0
        override public string FormatResourceString(string resourceName, params object[] args)
        {
            ErrorUtilities.VerifyThrowArgumentNull(resourceName, nameof(resourceName));
            ErrorUtilities.VerifyThrowInvalidOperation(TaskResources != null, "Shared.TaskResourcesNotRegistered", TaskName);
            ErrorUtilities.VerifyThrowInvalidOperation(TaskSharedResources != null, "Shared.TaskResourcesNotRegistered", TaskName);

            // NOTE: the ResourceManager.GetString() method is thread-safe
            string resourceString = TaskResources.GetString(resourceName, CultureInfo.CurrentUICulture);

            if (resourceString == null)
            {
                resourceString = TaskSharedResources.GetString(resourceName, CultureInfo.CurrentUICulture);
            }

            ErrorUtilities.VerifyThrowArgument(resourceString != null, "Shared.TaskResourceNotFound", resourceName, TaskName);

            return(FormatString(resourceString, args));
        }
示例#4
0
        public static List <TaskResources> EditingResources()
        {
            List <TaskResources> TaskResourcesCollection = new List <TaskResources>();
            TaskResources        Record1 = new TaskResources()
            {
                ResourceId   = 1,
                ResourceName = "Martin Tamer"
            };
            TaskResources Record2 = new TaskResources()
            {
                ResourceId   = 2,
                ResourceName = "Rose Fuller"
            };
            TaskResources Record3 = new TaskResources()
            {
                ResourceId   = 3,
                ResourceName = "Margaret Buchanan"
            };
            TaskResources Record4 = new TaskResources()
            {
                ResourceId   = 4,
                ResourceName = "Fuller King"
            };
            TaskResources Record5 = new TaskResources()
            {
                ResourceId   = 5,
                ResourceName = "Davolio Fuller"
            };
            TaskResources Record6 = new TaskResources()
            {
                ResourceId   = 6,
                ResourceName = "Van Jack"
            };
            TaskResources Record7 = new TaskResources()
            {
                ResourceId   = 7,
                ResourceName = "Fuller Buchanan"
            };
            TaskResources Record8 = new TaskResources()
            {
                ResourceId   = 8,
                ResourceName = "Jack Davolio"
            };
            TaskResources Record9 = new TaskResources()
            {
                ResourceId   = 9,
                ResourceName = "Tamer Vinet"
            };
            TaskResources Record10 = new TaskResources()
            {
                ResourceId   = 10,
                ResourceName = "Vinet Fuller"
            };
            TaskResources Record11 = new TaskResources()
            {
                ResourceId   = 11,
                ResourceName = "Bergs Anton"
            };
            TaskResources Record12 = new TaskResources()
            {
                ResourceId   = 12,
                ResourceName = "Construction Supervisor"
            };

            TaskResourcesCollection.Add(Record1);
            TaskResourcesCollection.Add(Record2);
            TaskResourcesCollection.Add(Record3);
            TaskResourcesCollection.Add(Record4);
            TaskResourcesCollection.Add(Record5);
            TaskResourcesCollection.Add(Record6);
            TaskResourcesCollection.Add(Record7);
            TaskResourcesCollection.Add(Record8);
            TaskResourcesCollection.Add(Record9);
            TaskResourcesCollection.Add(Record10);
            TaskResourcesCollection.Add(Record11);
            TaskResourcesCollection.Add(Record12);
            return(TaskResourcesCollection);
        }
示例#5
0
文件: Warning.cs 项目: enricosada/sln
        /// <summary>
        /// Main task method
        /// </summary>
        /// <returns></returns>
        public override bool Execute()
        {
            Log.LogWarning(null, Code, HelpKeyword, File, 0, 0, 0, 0, Text ?? TaskResources.GetString("ErrorAndWarning.EmptyMessage"));

            return(true);
        }
        private PipelineFile <TObject> LoadFile <TObject, TConverter>(String path, IDictionary <String, Object> mustacheContext, CancellationToken cancellationToken, ref Int32 fileCount)
            where TConverter : IYamlTypeConverter, new()
        {
            fileCount++;
            if (m_options.MaxFiles > 0 && fileCount > m_options.MaxFiles)
            {
                throw new FormatException(TaskResources.YamlFileCount(m_options.MaxFiles));
            }

            cancellationToken.ThrowIfCancellationRequested();
            FileData                file = m_fileProvider.GetFile(path);
            String                  mustacheReplaced;
            StringReader            reader = null;
            CancellationTokenSource mustacheCancellationTokenSource = null;

            try
            {
                // Read front-matter
                IDictionary <String, Object> frontMatter = null;
                reader = new StringReader(file.Content);
                String line = reader.ReadLine();
                if (!String.Equals(line, "---", StringComparison.Ordinal))
                {
                    // No front-matter. Reset the reader.
                    reader.Dispose();
                    reader = new StringReader(file.Content);
                }
                else
                {
                    // Deseralize front-matter.
                    cancellationToken.ThrowIfCancellationRequested();
                    StringBuilder frontMatterBuilder = new StringBuilder();
                    while (true)
                    {
                        line = reader.ReadLine();
                        if (line == null)
                        {
                            throw new FormatException(TaskResources.YamlFrontMatterNotClosed(path));
                        }
                        else if (String.Equals(line, "---", StringComparison.Ordinal))
                        {
                            break;
                        }
                        else
                        {
                            frontMatterBuilder.AppendLine(line);
                        }
                    }

                    var frontMatterDeserializer = new Deserializer();
                    try
                    {
                        frontMatter = frontMatterDeserializer.Deserialize <IDictionary <String, Object> >(frontMatterBuilder.ToString());
                    }
                    catch (Exception ex)
                    {
                        throw new FormatException(TaskResources.YamlFrontMatterNotValid(path, ex.Message), ex);
                    }
                }

                // Merge the mustache replace context.
                frontMatter = frontMatter ?? new Dictionary <String, Object>();
                if (mustacheContext != null)
                {
                    foreach (KeyValuePair <String, Object> pair in mustacheContext)
                    {
                        frontMatter[pair.Key] = pair.Value;
                    }
                }

                // Prepare the mustache options.
                mustacheCancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
                // var mustacheOptions = new MustacheEvaluationOptions
                // {
                //     CancellationToken = mustacheCancellationTokenSource.Token,
                //     EncodeMethod = MustacheEncodeMethods.JsonEncode,
                //     MaxResultLength = m_options.MustacheEvaluationMaxResultLength,
                // };

                // Parse the mustache template.
                cancellationToken.ThrowIfCancellationRequested();
                var mustacheParser = new MustacheTemplateParser(useDefaultHandlebarHelpers: true, useCommonTemplateHelpers: true);
                MustacheExpression mustacheExpression = mustacheParser.Parse(template: reader.ReadToEnd());

                // Limit the mustache evaluation time.
                if (m_options.MustacheEvaluationTimeout > TimeSpan.Zero)
                {
                    mustacheCancellationTokenSource.CancelAfter(m_options.MustacheEvaluationTimeout);
                }

                try
                {
                    // Perform the mustache evaluation.
                    mustacheReplaced = mustacheExpression.Evaluate(
                        replacementObject: frontMatter,
                        additionalEvaluationData: null,
                        parentContext: null,
                        partialExpressions: null
                        //options: mustacheOptions
                        );
                }
                catch (System.OperationCanceledException ex) when(mustacheCancellationTokenSource.IsCancellationRequested && !cancellationToken.IsCancellationRequested)
                {
                    throw new System.OperationCanceledException(TaskResources.MustacheEvaluationTimeout(path, m_options.MustacheEvaluationTimeout.TotalSeconds), ex);
                }

                m_trace.Verbose("{0}", new TraceFileContent($"{file.Name} after mustache replacement", mustacheReplaced));
            }
            finally
            {
                reader?.Dispose();
                reader = null;
                mustacheCancellationTokenSource?.Dispose();
                mustacheCancellationTokenSource = null;
            }

            // Deserialize
            DeserializerBuilder deserializerBuilder = new DeserializerBuilder();

            deserializerBuilder.WithTypeConverter(new TConverter());
            Deserializer deserializer = deserializerBuilder.Build();
            TObject      obj          = deserializer.Deserialize <TObject>(mustacheReplaced);

            m_trace.Verbose("{0}", new TraceObject <TObject, TConverter>($"{file.Name} after deserialization ", obj));
            var result = new PipelineFile <TObject> {
                Name = file.Name, Directory = file.Directory, Object = obj
            };

            return(result);
        }