Beispiel #1
0
        private IEnumerable <string> AddOrUpdateStat(Node node, ParsingContext context, string sectionId, bool isUpdate)
        {
            var errors = ParseStat(node, context, sectionId, out var stat);

            if (!errors.Any())
            {
                if (isUpdate)
                {
                    errors = errors.Concat(_statService.AddOrUpdate(stat).FormatErrors(node));
                }
                else
                {
                    errors = errors.Concat(_statService.Add(stat).FormatErrors(node));
                }
            }
            if (!errors.Any())
            {
                if (!isUpdate || !_sections[sectionId].Stats.Contains(stat))
                {
                    _sections[sectionId].Stats.Add(stat !);
                }
                else
                {
                    _sections[sectionId].Stats[_sections[sectionId].Stats.IndexOf(stat)] = stat !;
                }
            }

            return(errors);
        }