Example #1
0
        public static ShipmentPackage ToCoreModel(this ShipmentPackageEntity entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }

            var retVal = new ShipmentPackage();

            retVal.InjectFrom(entity);

            if (entity.Items != null)
            {
                retVal.Items = entity.Items.Select(x => x.ToCoreModel()).ToList();
            }
            return(retVal);
        }
Example #2
0
        /// <summary>
        /// Patch CatalogBase type
        /// </summary>
        /// <param name="source"></param>
        /// <param name="target"></param>
        public static void Patch(this ShipmentPackageEntity source, ShipmentPackageEntity target)
        {
            if (target == null)
            {
                throw new ArgumentNullException("target");
            }


            var patchInjectionPolicy = new PatchInjection <ShipmentPackageEntity>(x => x.PackageType, x => x.Weight, x => x.ShipmentId, x => x.Height, x => x.Length,
                                                                                  x => x.Width, x => x.MeasureUnit, x => x.WeightUnit);

            if (!source.Items.IsNullCollection())
            {
                source.Items.Patch(target.Items, (sourceItem, targetItem) => sourceItem.Patch(targetItem));
            }

            target.InjectFrom(patchInjectionPolicy, source);
        }
        public static ShipmentPackageEntity ToDataModel(this ShipmentPackage package, CustomerOrderEntity orderEntity)
        {
            if (package == null)
            {
                throw new ArgumentNullException("package");
            }

            var retVal = new ShipmentPackageEntity();

            retVal.InjectFrom(package);

            if (package.Items != null)
            {
                retVal.Items = new ObservableCollection <ShipmentItemEntity>(package.Items.Select(x => x.ToDataModel(orderEntity)));
            }

            return(retVal);
        }