Beispiel #1
0
 /// <summary>
 /// 创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Create(C_PrizesEntity pEntity)
 {
     _currentDAO.Create(pEntity);
 }
Beispiel #2
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Update(C_PrizesEntity pEntity, IDbTransaction pTran)
 {
     _currentDAO.Update(pEntity, pTran);
 }
Beispiel #3
0
 /// <summary>
 /// 分页根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public PagedQueryResult <C_PrizesEntity> PagedQueryByEntity(C_PrizesEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex)
 {
     return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex));
 }
Beispiel #4
0
 /// <summary>
 /// 根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public C_PrizesEntity[] QueryByEntity(C_PrizesEntity pQueryEntity, OrderBy[] pOrderBys)
 {
     return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys));
 }
Beispiel #5
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="pEntity"></param>
 public void Delete(C_PrizesEntity pEntity)
 {
     _currentDAO.Delete(pEntity);
 }
Beispiel #6
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Update(C_PrizesEntity pEntity)
 {
     _currentDAO.Update(pEntity);
 }
Beispiel #7
0
        protected override EmptyResponseData ProcessRequest(DTO.Base.APIRequest <SetPrizesRP> pRequest)
        {
            var rd   = new EmptyResponseData();
            var para = pRequest.Parameters;
            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            var ActivityBLL        = new C_ActivityBLL(loggingSessionInfo);
            var PrizesBLL          = new C_PrizesBLL(loggingSessionInfo);
            var PrizesDetailBLL    = new C_PrizesDetailBLL(loggingSessionInfo);
            var pTran = ActivityBLL.GetTran();

            using (pTran.Connection)
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(para.ActivityID))
                    {
                        throw new APIException("必须输入活动编号!")
                              {
                                  ErrorCode = ERROR_CODES.INVALID_BUSINESS
                              }
                    }
                    ;
                    if (string.IsNullOrWhiteSpace(para.PrizesID))
                    {//新增
                        C_PrizesEntity AddPrizesData = new C_PrizesEntity();
                        AddPrizesData.ActivityID = new Guid(para.ActivityID);
                        AddPrizesData.PrizesType = para.PrizesType;
                        AddPrizesData.PrizesName = para.PrizesDetailList.FirstOrDefault().CouponTypeName;
                        AddPrizesData.CustomerID = loggingSessionInfo.ClientID;
                        AddPrizesData.SendDate   = DateTime.Now;
                        List <IWhereCondition> complexCondition = new List <IWhereCondition> {
                        };
                        complexCondition.Add(new EqualsCondition()
                        {
                            FieldName = "ActivityID", Value = para.ActivityID
                        });
                        if (PrizesBLL.Query(complexCondition.ToArray(), null).ToList().Count > 0)
                        {
                            throw new APIException("不能重复创建奖品!")
                                  {
                                      ErrorCode = ERROR_CODES.INVALID_BUSINESS
                                  }
                        }
                        ;
                        PrizesBLL.Create(AddPrizesData);

                        Guid?PrizesID = PrizesBLL.Query(complexCondition.ToArray(), null).ToList().FirstOrDefault().PrizesID;
                        foreach (var itemes in para.PrizesDetailList)
                        {
                            C_PrizesDetailEntity AddDetailData = new C_PrizesDetailEntity();
                            AddDetailData.PrizesID       = PrizesID;
                            AddDetailData.CouponTypeID   = new Guid(itemes.CouponTypeID);
                            AddDetailData.CustomerID     = loggingSessionInfo.ClientID;
                            AddDetailData.NumLimit       = itemes.NumLimit;
                            AddDetailData.CouponTypeName = itemes.CouponTypeName;
                            AddDetailData.CouponTypeDesc = itemes.CouponTypeDesc;
                            PrizesDetailBLL.Create(AddDetailData, pTran);
                        }
                    }
                    else
                    {//编辑奖品明细
                        foreach (var itemes in para.PrizesDetailList)
                        {
                            C_PrizesDetailEntity AddDetailData = new C_PrizesDetailEntity();
                            AddDetailData.PrizesID       = new Guid(para.PrizesID);
                            AddDetailData.CouponTypeID   = new Guid(itemes.CouponTypeID);
                            AddDetailData.CustomerID     = loggingSessionInfo.ClientID;
                            AddDetailData.NumLimit       = itemes.NumLimit;
                            AddDetailData.CouponTypeName = itemes.CouponTypeName;
                            AddDetailData.CouponTypeDesc = itemes.CouponTypeDesc;
                            if (string.IsNullOrWhiteSpace(itemes.PrizesDetailID))
                            {
                                PrizesDetailBLL.Create(AddDetailData, pTran);
                            }
                            else
                            {
                                AddDetailData.PrizesDetailID = new Guid(itemes.PrizesDetailID);
                                if (itemes.IsEnable == 1)
                                {
                                    PrizesDetailBLL.Update(AddDetailData, pTran);
                                }
                                else
                                {
                                    PrizesDetailBLL.Delete(AddDetailData, pTran);
                                }
                            }
                        }
                    }
                    pTran.Commit();
                    if (ActivityBLL.IsActivityValid(para.ActivityID))
                    {
                        var activity = ActivityBLL.GetByID(para.ActivityID);
                        if (activity != null)
                        {
                            activity.Status = 0;
                        }
                        ActivityBLL.Update(activity);
                    }
                }
                catch (APIException apiEx)
                {
                    pTran.Rollback();//回滚事物
                    throw new APIException(apiEx.ErrorCode, apiEx.Message);
                }
            }
            return(rd);
        }