/// <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="prizeorders">奖单集合</param> /// <returns></returns> public OperationResult Add(IEnumerable <PrizeOrder> prizeorders) { int rcount = PrizeOrderRepository.Insert(prizeorders); if (rcount > 0) { return(new OperationResult(OperationResultType.Success, "批量添加奖单成功。")); } else { return(new OperationResult(OperationResultType.Warning, "批量添加奖单成功。")); } }
/// <summary> /// 添加奖品 /// </summary> /// <param name="prizebetting">奖品信息</param> /// <param name="shouldMinus">是否该对用户的可发起抽奖次数减</param> /// <returns>业务操作结果</returns> public OperationResult Add(PrizeOrder prizeorder, bool shouldMinus = false) { int rcount = PrizeOrderRepository.Insert(prizeorder); if (rcount > 0) { if (shouldMinus) { var member = MemberRepository.Entities.Where(m => m.Id == prizeorder.Prize.Member.Id).FirstOrDefault(); if (member != null) { member.PubishingEnableTimes--; MemberRepository.Update(member); } } return(new OperationResult(OperationResultType.Success, "发布奖单成功。", prizeorder)); } else { return(new OperationResult(OperationResultType.Warning, "发布奖单失败。")); } }