Пример #1
0
        private void UpdateOrder(Order order, IOrderModel dto)
        {
            order.Name = dto.Name;
            var properties = dto.GetType().GetProperties();

            foreach (var prop in properties)
            {
                var value = prop.GetValue(dto);
                if (prop.CustomAttributes.Any(p => p.AttributeType == typeof(OrderFieldAttribute)))
                {
                    var valueType = GetValueType(value);
                    order.OrderItems.Add(
                        new OrderItem()
                    {
                        OrderId   = order.Id,
                        Name      = prop.Name,
                        Value     = GetStringValue(value, valueType),
                        ValueType = valueType.ToString()
                    }
                        );
                }
            }
        }