Exemplo n.º 1
0
        private void FillObject(ICollection <UM_AttributeField> target, AttributeFieldsModel source)
        {
            if (source == null || source.List == null)
            {
                return;
            }

            var newAttributes = source.List.ToDictionary(n => n.ID);
            var oldAttributes = target.ToDictionary(n => (Guid?)n.ID);

            var deleteAttributes = (from n in target
                                    where !newAttributes.ContainsKey(n.ID)
                                    select n).ToList();

            var insertAttributes = (from n in source.List
                                    where !oldAttributes.ContainsKey(n.ID)
                                    select n).ToList();

            var updateAttributes = (from n in source.List
                                    where oldAttributes.ContainsKey(n.ID)
                                    select n).ToList();

            var converter = new AttributeFieldModelEntityConverter(Session);

            foreach (var item in deleteAttributes)
            {
                item.DateDeleted = DateTime.Now;
            }

            foreach (var item in insertAttributes)
            {
                var entity = converter.Convert(item);
                target.Add(entity);
            }

            foreach (var item in updateAttributes)
            {
                var entity = oldAttributes[item.ID];
                converter.FillObject(entity, item);
            }
        }
Exemplo n.º 2
0
        private void FillObject(AttributeFieldsModel target, IEnumerable <UM_AttributeField> source)
        {
            if (source == null)
            {
                return;
            }

            var converter = new AttributeFieldEntityModelConverter(Session);

            target.List = new List <AttributeFieldModel>();

            foreach (var item in source)
            {
                if (item.DateDeleted != null)
                {
                    continue;
                }

                var model = converter.Convert(item);
                target.List.Add(model);
            }
        }