コード例 #1
0
        public void Deal(SkuContract contract)
        {
            var skuNameDbEntity = ConvertToSkuName(contract);  //转换成t_prop对象
            var facade          = new T_PropFacade();
            var skuFacade       = new T_Sku_PropertyFacade();
            var result          = facade.GetIdByParentId(contract.SkuId); //获取子数据

            foreach (var i in result)                                     //把所有子数据都删除
            {
                facade.Delete(new T_PropEntity {
                    prop_id = i
                });
            }
            var skuValueDbEntityList = ConvertToSkuValue(contract); //生成新的sku值的列表(t_prop表)
            var skuDbEntity          = ConvertToSku(contract);      //转换成T_Sku_Property表

            switch (contract.Operation)
            {
            case OptEnum.Create:
                facade.Create(skuNameDbEntity);
                skuFacade.Create(skuDbEntity);
                foreach (var i in skuValueDbEntityList)
                {
                    facade.Create(i);
                }
                break;

            case OptEnum.Update:
                facade.Update(skuNameDbEntity);
                skuFacade.Update(skuDbEntity);
                foreach (var i in skuValueDbEntityList)    //创建子对象
                {
                    facade.Create(i);
                }
                break;

            case OptEnum.Delete:
                facade.Delete(skuNameDbEntity);
                skuFacade.Delete(skuDbEntity);
                break;
            }
        }
コード例 #2
0
        public void Deal(ItemContract contract)
        {
            var itemFacade                = new T_ItemFacade();
            var itemSkuPropFacade         = new T_ItemSkuPropFacade();
            var skuPriceFacade            = new T_Sku_PriceFacade();
            var skuFacade                 = new T_SkuFacade();
            var itemDeliveryMappingFacade = new T_Item_Delivery_MappingFacade();
            var itemPropertyFacade        = new T_Item_PropertyFacade();
            var propFacade                = new T_PropFacade();

            itemFacade.Delete(new T_ItemEntity {
                item_id = contract.ItemId
            });
            itemSkuPropFacade.DeleteByItemId(contract.ItemId);
            skuPriceFacade.DeleteByItemId(contract.ItemId);
            skuFacade.DeleteByItemId(contract.ItemId);
            itemDeliveryMappingFacade.DeleteByItemId(contract.ItemId);
            switch (contract.Operation)
            {
            case OptEnum.Create:
            case OptEnum.Update:
                if (contract.ItemDetailList == null || contract.ItemDetailList.Count == 0)
                {
                    return;
                }
                var itemEntity         = ConvertToT_ItemEntity(contract);
                var itemSkuPropEntity  = ConvertToT_ItemSkuPropEntity(contract);
                var skuPriceEntityList = ConvertToT_Sku_PriceEntityList(contract);
                var skuEntityList      = ConvertToT_SkuEntityList(contract);
                var deliveryList       = ConvertToT_Item_Delivery_MappingEntityList(contract);
                itemFacade.Create(itemEntity);
                if (itemSkuPropEntity != null)
                {
                    itemSkuPropFacade.Create(itemSkuPropEntity);
                }
                foreach (var i in skuPriceEntityList)
                {
                    skuPriceFacade.Create(i);
                }
                foreach (var i in skuEntityList)
                {
                    skuFacade.Create(i);
                }
                foreach (var i in deliveryList)
                {
                    itemDeliveryMappingFacade.Create(i);
                }
                if (contract.ItemId.StartsWith("S_"))
                {
                    //删除库存
                    itemPropertyFacade.DeleteByItemId(contract.ItemId);
                    //添加库存
                    var inventory = new T_Item_PropertyEntity
                    {
                        item_property_id = Guid.NewGuid().ToString("N"),
                        item_id          = contract.ItemId,
                        prop_id          = propFacade.GetIdByCode("Qty"),
                        prop_value       = "10000000",
                        status           = "1",
                        create_time      =
                            contract.CreateTime == null
                                    ? null
                                    : contract.CreateTime.Value.ToString("yyyy-MM-dd hh:mm:ss"),
                        modify_time =
                            contract.ModifyTime == null
                                    ? null
                                    : contract.ModifyTime.Value.ToString("yyyy-MM-dd hh:mm:ss")
                    };
                    itemPropertyFacade.Create(inventory);
                }
                break;
            }
        }