Пример #1
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Update(C_ActivityMessageEntity pEntity, IDbTransaction pTran)
 {
     _currentDAO.Update(pEntity, pTran);
 }
Пример #2
0
        protected override EmptyResponseData ProcessRequest(DTO.Base.APIRequest <SetActivityMessageRP> pRequest)
        {
            var rd   = new EmptyResponseData();
            var para = pRequest.Parameters;
            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            var ActivityMessageBLL = new C_ActivityMessageBLL(loggingSessionInfo);
            var ActivityBLL        = new C_ActivityBLL(loggingSessionInfo);
            //事物
            var pTran = ActivityMessageBLL.GetTran();

            using (pTran.Connection)
            {
                try
                {
                    //新增消息集合
                    var AddDataList = new List <C_ActivityMessageEntity>();
                    //编辑消息集合
                    var UpdateDataList = new List <C_ActivityMessageEntity>();
                    //删除消息集合
                    var DelList = new List <Guid>();
                    #region 数据处理
                    foreach (var item in para.ActivityMessageList)
                    {
                        //模板
                        //C_MessageTemplateEntity TemplateData = C_MessageTemplateBLL.GetByID(new Guid(item.TemplateID));

                        if (string.IsNullOrWhiteSpace(item.MessageID))
                        {
                            #region 新增
                            C_ActivityMessageEntity AddData = new C_ActivityMessageEntity();
                            //AddData.MessageID = System.Guid.NewGuid();
                            AddData.ActivityID  = new Guid(para.ActivityID);
                            AddData.TemplateID  = new Guid();
                            AddData.MessageType = item.MessageType.Trim();
                            AddData.Content     = item.Content == null ? "" : item.Content;
                            AddData.SendTime    = Convert.ToDateTime(item.SendTime);
                            AddData.CustomerID  = loggingSessionInfo.ClientID;
                            AddData.AdvanceDays = item.AdvanceDays;
                            AddData.SendAtHour  = item.SendAtHour;
                            AddDataList.Add(AddData);
                            #endregion
                        }
                        else
                        {
                            C_ActivityMessageEntity Data = ActivityMessageBLL.GetByID(item.MessageID);
                            if (Data == null)
                            {
                                throw new APIException("消息对象为NULL!")
                                      {
                                          ErrorCode = ERROR_CODES.INVALID_BUSINESS
                                      }
                            }
                            ;

                            if (item.IsEnable == 1)
                            {
                                //更新
                                Data.SendTime    = Convert.ToDateTime(item.SendTime);
                                Data.Content     = item.Content;
                                Data.TemplateID  = new Guid();
                                Data.AdvanceDays = item.AdvanceDays;
                                Data.SendAtHour  = item.SendAtHour;
                                UpdateDataList.Add(Data);
                            }
                            else
                            {
                                //删除
                                DelList.Add(Data.MessageID.Value);
                            }
                        }
                    }
                    #endregion

                    #region 执行
                    if (AddDataList.Count > 0)
                    {
                        //新增消息
                        foreach (var item in AddDataList)
                        {
                            ActivityMessageBLL.Create(item, pTran);
                        }
                    }

                    if (UpdateDataList.Count > 0)
                    {
                        //编辑消息
                        foreach (var item in UpdateDataList)
                        {
                            ActivityMessageBLL.Update(item, pTran);
                        }
                    }
                    if (DelList.Count > 0)
                    {
                        //删除消息
                        foreach (var item in DelList)
                        {
                            ActivityMessageBLL.Delete(item, pTran);
                        }
                    }

                    pTran.Commit();
                    #endregion

                    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);
                }
                catch (Exception ex)
                {
                    pTran.Rollback();//回滚事务
                    throw new APIException(ex.Message);
                }
            }
            return(rd);
        }
Пример #3
0
 /// <summary>
 /// 创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Create(C_ActivityMessageEntity pEntity)
 {
     _currentDAO.Create(pEntity);
 }
Пример #4
0
 /// <summary>
 /// 分页根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public PagedQueryResult <C_ActivityMessageEntity> PagedQueryByEntity(C_ActivityMessageEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex)
 {
     return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex));
 }
Пример #5
0
 /// <summary>
 /// 根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public C_ActivityMessageEntity[] QueryByEntity(C_ActivityMessageEntity pQueryEntity, OrderBy[] pOrderBys)
 {
     return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys));
 }
Пример #6
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="pEntity"></param>
 public void Delete(C_ActivityMessageEntity pEntity)
 {
     _currentDAO.Delete(pEntity);
 }
Пример #7
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Update(C_ActivityMessageEntity pEntity)
 {
     _currentDAO.Update(pEntity);
 }