Ejemplo n.º 1
0
        /// <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);
        }