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); }