/// <summary> /// Updates the expander. /// </summary> /// <param name="expander">The expander.</param> public void UpdateExpander(IExpander expander) { var config = new MapperConfiguration(cfg => cfg.CreateMap <IExpander, IExpander>()); var mapper = config.CreateMapper(); var row = _expander .Where((x => x.ExpansionLabel.Trim() == expander.ExpansionLabel)) .FirstOrDefault(); if (row != null) //We have a matching item { var pos = _expander.IndexOf(row); row = mapper.Map <IExpander>(expander); row.UpdatedByNanite = true; _expander[pos] = row; } else { IExpander expanderObject = new ExpanderObject { ExpansionLabel = expander.ExpansionLabel, ExpansionString = expander.ExpansionString, ExpansionValue = expander.ExpansionValue, IsMultiple = expander.IsMultiple, Delimiter = expander.Delimiter, UpdatedByNanite = true }; //expanderObject = mapper.Map<IExpander>(expander); //expanderObject.UpdatedByNanite = true; _expander.Add(expanderObject); } }
public void UpdateExpander(IExpander expander) { var row = _expander .Where((x => x.ExpansionLabel == expander.ExpansionLabel)) .FirstOrDefault(); if (row != null && row.UpdatedByNanite) //We already have a matching item { _expander.Remove(row); } expander.UpdatedByNanite = true; _expander.Add(expander); }