public int RechargePkg(Model.VO.RechargeVO entity) { //尚需完善 CustClubCardModule.ClubCardMgm clubCardMgm = new CustClubCardModule.ClubCardMgm(); int clubCardState = clubCardMgm.GetCardStatusByClubCardID(entity.ClubCardID); if (clubCardState != Convert.ToInt32(ClubCardStatus.OpenCard)) { throw new Exception("非有效会员卡,请联系后台管理员"); } RechargeLogData rechargeLogData = new RechargeLogData(); ClubCardPackagePO clubCardPkgPO = new ClubCardPackagePO(); List<ClubCardPackageDetailPO> clubCardPkgDetailPOList = new List<ClubCardPackageDetailPO>(); ClubCardPackageData clubCardPkgData = new ClubCardPackageData(); MarktingPlanModule.PackageMgm pkgMgm = new MarktingPlanModule.PackageMgm(); MarktingPlanModule.IPkgItemsMgm pkgItemsMgm = new MarktingPlanModule.PkgItemsMgm(); //PackageData packageData = new PackageData(); //PkgItemsData pkgItemsData = new PkgItemsData(); PackageVO packageVO = pkgMgm.GetPackageByID(Convert.ToInt32(entity.ClubCardPackageID));//此处ClubCardPackageID即为PackageID PackagePO packagePO = Mapper.Map<PackageVO, PackagePO>(packageVO); List<PkgItemVO> pkgItemList = pkgItemsMgm.GetItemsByPkgID(packagePO.PackageID); clubCardPkgPO.PackageID = packagePO.PackageID; clubCardPkgPO.ClubCardID = entity.ClubCardID; clubCardPkgPO.PackageName = packagePO.PackageName; clubCardPkgPO.OriginalAmount = entity.PlatformRechargeAmount; clubCardPkgPO.ActualAmount = entity.ActualRechargeAmount; clubCardPkgPO.DiscountRate = entity.DiscountRate; clubCardPkgPO.DiscountInfo = entity.DiscountInfo; clubCardPkgPO.DiscountRate = Convert.ToDecimal(CardSPackageStatus.Available); clubCardPkgPO.Salesman = entity.SalesMan; clubCardPkgPO.SalesTime = DateTime.Now; clubCardPkgPO.SaleStore = entity.RechargeStore;//从login信息中获取 clubCardPkgPO.CreatedDate = DateTime.Now; clubCardPkgPO.CreatorID = entity.CreatorID; clubCardPkgPO.LastModifiedDate = DateTime.Now; clubCardPkgPO.LastModifierID =entity.LastModifierID; clubCardPkgPO.ClubCardPackageID = SerialNoGenerator.GenClubCardPkgID(); foreach (var item in pkgItemList) { ClubCardPackageDetailPO clubCardPkgDetailPO = new ClubCardPackageDetailPO(); clubCardPkgDetailPO.ClubCardPackageID = clubCardPkgPO.ClubCardPackageID; clubCardPkgDetailPO.ItemID = item.ItemID; clubCardPkgDetailPO.ItemName = item.ItemName; clubCardPkgDetailPO.OriginalCount = item.ConsumeCount;//消费项目次数 clubCardPkgDetailPO.RemainCount = item.ConsumeCount; clubCardPkgDetailPO.CreatedDate = DateTime.Now; clubCardPkgDetailPO.CreatorID = entity.CreatorID; clubCardPkgDetailPO.LastModifiedDate = DateTime.Now; clubCardPkgDetailPO.LastModifierID = entity.LastModifierID; clubCardPkgDetailPOList.Add(clubCardPkgDetailPO); } ClubCardData clubCardData = new ClubCardData(); ClubCardPO clubCardPO = clubCardData.GetClubCardByID(entity.ClubCardID); clubCardPO.Balance = clubCardPO.Balance + entity.PlatformRechargeAmount; clubCardPO.LastModifiedDate = DateTime.Now; clubCardPO.LastModifierID = entity.LastModifierID; SqlConnection conn = new SqlConnection(PubConstant.ConnectionString); conn.Open(); SqlTransaction tx = conn.BeginTransaction(); try { clubCardPkgData.AddClubCardPkg(clubCardPkgPO); clubCardPkgData.AddClubCardPkgDetailList(clubCardPkgDetailPOList); // entity.RechargeSerialNo = SerialNoGenerator.GenRechargeSerialNo(entity.RechargeStore); rechargeLogData.AddRechargeLog(Mapper.Map<RechargeVO, RechargeLogPO>(entity)); tx.Commit(); } catch { tx.Rollback(); throw new Exception("套餐充值失败"); } return 1; }