/// <summary> /// 同时发布奖品、发起抽奖 /// </summary> /// <param name="shouldMinus">是否该对用户的可发起抽奖次数减</param> public OperationResult BatchAdd(PrizeOrder porder, bool shouldMinus = false) { SqlTransaction tran = null; try { Database db = EFContext.DbContext.Database; using (SqlConnection conn = new SqlConnection(db.Connection.ConnectionString)) { conn.Open(); using (tran = conn.BeginTransaction()) { var member = MemberRepository.Entities.Where(m => m.Id == porder.Prize.Member.Id).FirstOrDefault(); porder.Prize.Member = member; if (shouldMinus) { if (member != null) { member.PubishingEnableTimes--; MemberRepository.Update(member); } } PrizeRepository.Insert(porder.Prize); PrizeOrderRepository.Insert(porder); // 现场抽奖 if (porder.RevealType == RevealType.Scene) { if (porder.SceneStaffs != null && porder.SceneStaffs.Count() > 0) { SceneStaffRepository.Insert(porder.SceneStaffs); } } tran.Commit(); } } return(new OperationResult(OperationResultType.Success, "发布奖品、发起抽奖一次性操作成功。", porder)); } catch (DataAccessException ex) { if (tran != null) { tran.Rollback(); } return(new OperationResult(OperationResultType.Error, ex.Message)); } catch (Exception ex) { if (tran != null) { tran.Rollback(); } return(new OperationResult(OperationResultType.Error, ex.Message)); } }
/// <summary> /// 添加参与抽奖的人员 /// </summary> /// <param name="staffs">抽奖人员集合信息</param> /// <returns>业务操作结果</returns> public OperationResult Add(IEnumerable <SceneStaff> staffs) { int rcount = SceneStaffRepository.Insert(staffs); if (rcount > 0) { return(new OperationResult(OperationResultType.Success, "批量添加现场抽奖人员成功。")); } else { return(new OperationResult(OperationResultType.Warning, "批量添加添加现场抽奖人员失败。")); } }
/// <summary> /// 添加参与抽奖的人员 /// </summary> /// <param name="staffs">抽奖人员信息</param> /// <returns>业务操作结果</returns> public OperationResult Add(SceneStaff staff) { int rcount = SceneStaffRepository.Insert(staff); if (rcount > 0) { return(new OperationResult(OperationResultType.Success, "现场抽奖人员添加成功。", staff)); } else { return(new OperationResult(OperationResultType.Warning, "现场抽奖人员添加失败。")); } }