int SendItemByType(NbManagershareEntity shareEntity, List <ConfigMallgiftbagEntity> prizeList) { if (prizeList.Count <= 0) { return((int)MessageCode.NbParameterError); } var mail = new MailBuilder(shareEntity.ManagerId, "分享礼包", 0, prizeList, EnumMailType.Share, 0, 0); // var mail = new MailBuilder(shareEntity.ManagerId, point, coin, itemList, EnumMailType.Share); using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetDefault())) { transactionManager.BeginTransaction(); var f = true; if (!mail.Save(transactionManager.TransactionObject)) { f = false; } if (!NbManagershareMgr.Update(shareEntity, transactionManager.TransactionObject)) { f = false; } if (f) { transactionManager.Commit(); } else { transactionManager.Rollback(); return((int)MessageCode.Exception); } } return((int)MessageCode.Success); }
/// <summary> /// 分享礼包 /// </summary> /// <param name="name"></param> /// <param name="type"></param> /// <returns></returns> public int SendItemByShare(string name, int type) { if (string.IsNullOrEmpty(name) || type == 0) { return((int)MessageCode.NbParameterError);//参数错误 } var manager = ManagerCore.Instance.GetManagerByName(name); if (manager == null || manager.Idx == Guid.Empty) { return((int)MessageCode.LoginNoUser);//没有该经理 } var shareEntity = NbManagershareMgr.Select(manager.Idx); if (shareEntity == null || shareEntity.ManagerId == Guid.Empty) { return((int)MessageCode.LoginNoUser); } //拿取礼包奖励 MallCache.GetMallGiftBagPrize 10001为发出邀请礼包 10002为接受邀请礼包 int code = 0; List <ConfigMallgiftbagEntity> prizeList = new List <ConfigMallgiftbagEntity>(); switch (type) { case 1: if (shareEntity.OutPut != 0) { return((int)MessageCode.TourPassPrizeHasReceive); } shareEntity.OutPut = 1; shareEntity.OutTime = DateTime.Now; prizeList = CacheFactory.MallCache.GetMallGiftBagPrize(10001); code = SendItemByType(shareEntity, prizeList); break; case 2: if (shareEntity.InPut != 0) { return((int)MessageCode.TourPassPrizeHasReceive); } shareEntity.InPut = 1; shareEntity.InTime = DateTime.Now; prizeList = CacheFactory.MallCache.GetMallGiftBagPrize(10002); code = SendItemByType(shareEntity, prizeList); break; } return(code); }