Beispiel #1
0
        public virtual void UpdateOrderCheckItem(OrderCheckItem entity)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("UpdateOrderCheckItem");

            cmd.SetParameterValue <OrderCheckItem>(entity);
            cmd.ExecuteNonQuery();
        }
        public void UpdateOrderCheckItem(OrderCheckItemVM data, EventHandler <RestClientEventArgs <OrderCheckItemVM> > callback)
        {
            string         relativeUrl = "/CustomerService/OrderCheckItem/Update";
            OrderCheckItem msg         = data.ConvertVM <OrderCheckItemVM, OrderCheckItem>();

            restClient.Update(relativeUrl, msg, callback);
        }
Beispiel #3
0
        public virtual List <OrderCheckItem> GetOrderCheckItemByQuery(OrderCheckItem queryEntity)
        {
            if (queryEntity == null)
            {
                return(null);
            }
            CustomDataCommand cmd = DataCommandManager.CreateCustomDataCommandFromConfig("GetOrderCheckItem");

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(
                       cmd.CommandText, cmd,
                       new PagingInfoEntity
            {
                StartRowIndex = 0,
                MaximumRows = int.MaxValue
            },
                       "a.SysNo DESC"))
            {
                if (!string.IsNullOrEmpty(queryEntity.ReferenceTypeIn) &&
                    string.Compare(queryEntity.ReferenceTypeIn, "'DT11','DT12'") == 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "a.sysno",
                                                                 DbType.Int32, "@sysno",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryEntity.SysNo);
                }
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                             "a.ReferenceType",
                                                             DbType.String, "@ReferenceType",
                                                             QueryConditionOperatorType.Equal,
                                                             queryEntity.ReferenceType);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                             "a.ReferenceContent",
                                                             DbType.String, "@ReferenceContent",
                                                             QueryConditionOperatorType.Equal,
                                                             queryEntity.ReferenceContent);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                             "a.Status",
                                                             DbType.String, "@Status",
                                                             QueryConditionOperatorType.Equal,
                                                             queryEntity.Status);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                             "a.Description",
                                                             DbType.String, "@Description",
                                                             QueryConditionOperatorType.Equal,
                                                             queryEntity.Description);

                sqlBuilder.ConditionConstructor.AddSubQueryCondition(QueryConditionRelationType.AND,
                                                                     "a.ReferenceType",
                                                                     QueryConditionOperatorType.In,
                                                                     queryEntity.ReferenceTypeIn);

                cmd.CommandText = sqlBuilder.BuildQuerySql();
                return(cmd.ExecuteEntityList <OrderCheckItem>());
            }
        }
Beispiel #4
0
        public virtual int DeleteOrderCheckItem(OrderCheckItem entity)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("DeleteOrderCheckItemByType");

            cmd.SetParameterValue("@ReferenceType", entity.ReferenceType);
            cmd.SetParameterValue("@CompanyCode", entity.CompanyCode);
            return(cmd.ExecuteNonQuery());
        }
Beispiel #5
0
        public virtual OrderCheckItem Creat(OrderCheckItem entity)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("InsertOrderCheckItem");

            cmd.SetParameterValue <OrderCheckItem>(entity);
            cmd.ExecuteNonQuery();
            entity.SysNo = Convert.ToInt32(cmd.GetParameterValue("@SysNo"));
            return(entity);
        }
        private void CheckDeliverDateV2(SOInfo entity, OrderCheckItem csItem)
        {
            //配送信息
            bool isInvalid = SOAudit.IsInValidDeliveryTime(entity, csItem.Description, m_holidays, false);

            if (isInvalid)
            {
                ThrowException(entity, ResourceHelper.Get("SO_Audit_InvalidDeliveryDate"));
            }
        }
Beispiel #7
0
        public virtual int GetSACount(OrderCheckItem entity)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("GetSACount");

            cmd.SetParameterValue("@BeginDate", DateTime.Parse(entity.ReferenceContent));
            cmd.SetParameterValue("@EndDate", DateTime.Parse(entity.Description));
            object o = cmd.ExecuteScalar();

            if (o != null && o != DBNull.Value)
            {
                return(Convert.ToInt32(o));
            }

            return(1);
        }
Beispiel #8
0
        /// <summary>
        /// 批量创建OrderCheckItem
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        public virtual List <OrderCheckItem> BatchCreateOrderCheckItem(List <OrderCheckItem> msgs, string ReferenceType)
        {
            List <OrderCheckItem> list = new List <OrderCheckItem>();

            if (msgs.Count > 0)
            {
                if (NeedDeleteKeys.IndexOf(ReferenceType) != -1)
                {
                    OrderCheckItemDA.DeleteOrderCheckItem(msgs[0]);
                }
                foreach (OrderCheckItem item in msgs)
                {
                    OrderCheckItem orderCheckItem = CreateOrderCheckItem(item);
                    list.Add(orderCheckItem);
                }
            }
            return(list);
        }
Beispiel #9
0
        public virtual void CheckOrderMaster(OrderCheckItem entity, bool status)
        {
            List <OrderCheckMaster> result = new List <OrderCheckMaster>();

            result = OrderCheckMasterDA.GetCurrentOrderCheckMasterList(entity.CompanyCode);
            if (status)
            {
                foreach (OrderCheckMaster master in result)
                {
                    if (master.CheckType.Trim() == entity.ReferenceType && master.Status == OrderCheckStatus.Invalid)
                    {
                        throw new BizException(ResouceManager.GetMessageString("Customer.OrderCheck", "SavePCItemError"));
                    }
                }
            }
            //else
            //{
            //    if (!result.Exists(x => x.CheckType == entity.ReferenceType && x.Status == 1))
            //    {
            //        throw new BusinessException("只有取消勾选“订单中使用优惠券、积分、余额和礼品卡”并保存后再全部取消勾选这一级选项,才能生效。");
            //    }
            //}
        }
 public void UpdateOrderCheckItem(OrderCheckItem msg)
 {
     ObjectFactory <CSToolAppService> .Instance.UpdateOrderCheckItem(msg);
 }
 public OrderCheckItem CreateOrderCheckItem(OrderCheckItem msg)
 {
     return(ObjectFactory <CSToolAppService> .Instance.CreateOrderCheckItem(msg));
 }
Beispiel #12
0
 /// <summary>
 /// 更新OrderCheckItem状态
 /// </summary>
 /// <param name="msg"></param>
 public virtual void UpdateOrderCheckItem(OrderCheckItem msg)
 {
     ObjectFactory <OrderCheckItemProcessor> .Instance.UpdateOrderCheckItem(msg);
 }
Beispiel #13
0
 /// <summary>
 /// 创建OrderCheckItem
 /// </summary>
 /// <param name="msg"></param>
 /// <returns></returns>
 public virtual OrderCheckItem CreateOrderCheckItem(OrderCheckItem msg)
 {
     return(ObjectFactory <OrderCheckItemProcessor> .Instance.CreateOrderCheckItem(msg));
 }
Beispiel #14
0
        private static string AMTKeys     = "'1AL','2AL','3AL','4AL','5AL'"; //订单金额KEY

        /// <summary>
        /// 创建OrderCheckItem
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        public virtual OrderCheckItem CreateOrderCheckItem(OrderCheckItem msg)
        {
            if (msg.ReferenceType == "SA")
            {
                DateTime start = DateTime.Parse(msg.ReferenceContent);
                DateTime end   = DateTime.Parse(msg.Description);
                if (end < start)
                {
                    throw new BizException(ResouceManager.GetMessageString("Customer.OrderCheck", "DateTimeCheck"));
                }
                int i = OrderCheckItemDA.GetSACount(msg);
                if (i > 0)
                {
                    throw new BizException(ResouceManager.GetMessageString("Customer.OrderCheck", "TimeIntervalCheck"));
                }
            }
            else
            {
                OrderCheckItem queryCriteriaEntity = new OrderCheckItem();
                queryCriteriaEntity.ReferenceType    = msg.ReferenceType;
                queryCriteriaEntity.ReferenceContent = msg.ReferenceContent;
                queryCriteriaEntity.CompanyCode      = msg.CompanyCode;
                if (msg.ReferenceType == "PC3")
                {
                    queryCriteriaEntity.Description = msg.Description;
                }
                if (msg.ReferenceType.EndsWith("AL"))
                {
                    queryCriteriaEntity.ReferenceContent = null;
                    queryCriteriaEntity.Status           = msg.Status;
                }
                else if (msg.ReferenceType.StartsWith("DT"))
                {
                    queryCriteriaEntity.ReferenceType   = null;
                    queryCriteriaEntity.ReferenceTypeIn = DeliveryTimeKeys;
                }
                List <OrderCheckItem> result = OrderCheckItemDA.GetOrderCheckItemByQuery(queryCriteriaEntity);
                if (result != null && result.Count > 0)
                {
                    if (KeywordKeys.IndexOf(msg.ReferenceType) != -1)
                    {
                        throw new BizException(ResouceManager.GetMessageString("Customer.OrderCheck", "ExistsKeyword"));
                    }
                    else if (msg.ReferenceType.StartsWith("DT"))
                    {
                        throw new BizException(ResouceManager.GetMessageString("Customer.OrderCheck", "ExistsServiceObject"));
                    }
                    else if (msg.ReferenceType == "PC3")
                    {
                        throw new BizException(ResouceManager.GetMessageString("Customer.OrderCheck", "ExistsProductType"));
                    }
                    else if (msg.ReferenceType == "PID")
                    {
                        throw new BizException(ResouceManager.GetMessageString("Customer.OrderCheck", "ExistsProductSysNo"));
                    }
                    else if (AMTKeys.IndexOf(msg.ReferenceType) != -1 && msg.Status == OrderCheckStatus.Valid)
                    {
                        foreach (var item in result)
                        {
                            item.Status = OrderCheckStatus.Invalid;
                            OrderCheckItemDA.UpdateOrderCheckItem(item);
                        }
                    }
                }
            }
            return(OrderCheckItemDA.Creat(msg));
        }
Beispiel #15
0
        /// <summary>
        /// 更新OrderCheckItem状态
        /// </summary>
        public virtual void UpdateOrderCheckItem(OrderCheckItem msg)
        {
            if (!string.IsNullOrEmpty(msg.ReferenceType) && msg.ReferenceType.StartsWith("DT"))
            {
                OrderCheckItem queryCriteriaEntity = new OrderCheckItem();
                queryCriteriaEntity.ReferenceContent = msg.ReferenceContent;
                queryCriteriaEntity.ReferenceType    = msg.ReferenceType;
                List <OrderCheckItem> result = OrderCheckItemDA.GetOrderCheckItemByQuery(queryCriteriaEntity);
                if (result != null && result.Count > 0 && result[0].SysNo != msg.SysNo)
                {
                    throw new BizException(ResouceManager.GetMessageString("Customer.OrderCheck", "ExistsOrderCheckItem"));
                }
                OrderCheckItemDA.UpdateOrderCheckItem(msg);
            }
            else if (!string.IsNullOrEmpty(msg.ReferenceType) && msg.ReferenceType == "PC")
            {
                OrderCheckItem queryCriteriaEntity = new OrderCheckItem();
                queryCriteriaEntity.ReferenceType = msg.ReferenceType;
                List <OrderCheckItem> oldList = OrderCheckItemDA.GetOrderCheckItemByQuery(queryCriteriaEntity);
                if (string.IsNullOrEmpty(msg.SysNos))  //disable all
                {
                    CheckOrderMaster(msg, false);
                    foreach (var oldEntity in oldList)
                    {
                        if (oldEntity.Status != OrderCheckStatus.Invalid)
                        {
                            oldEntity.SysNo  = oldEntity.SysNo;
                            oldEntity.Status = OrderCheckStatus.Invalid;
                            OrderCheckItemDA.UpdateOrderCheckItem(oldEntity);
                        }
                    }
                }
                else
                {
                    CheckOrderMaster(msg, true);
                    string[]   sysNoArray = msg.SysNos.Split(',');
                    List <int> sysNoList  = new List <int>();
                    foreach (var item in sysNoArray)
                    {
                        sysNoList.Add(int.Parse(item));
                    }

                    foreach (var oldEntity in oldList)
                    {
                        if (sysNoList.Exists(x => x == oldEntity.SysNo))//active
                        {
                            if (oldEntity.Status != OrderCheckStatus.Valid)
                            {
                                oldEntity.SysNo  = oldEntity.SysNo;
                                oldEntity.Status = OrderCheckStatus.Valid;
                                OrderCheckItemDA.UpdateOrderCheckItem(oldEntity);
                            }
                        }
                        else//disable
                        {
                            if (oldEntity.Status != OrderCheckStatus.Invalid)
                            {
                                oldEntity.SysNo  = oldEntity.SysNo;
                                oldEntity.Status = OrderCheckStatus.Invalid;
                                OrderCheckItemDA.UpdateOrderCheckItem(oldEntity);
                            }
                        }
                    }
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(msg.ReferenceType) && AMTKeys.IndexOf(msg.ReferenceType) != -1)
                {
                    OrderCheckItem queryCriteriaEntity = new OrderCheckItem();
                    queryCriteriaEntity.ReferenceType = msg.ReferenceType;
                    queryCriteriaEntity.Status        = msg.Status;
                    List <OrderCheckItem> result = OrderCheckItemDA.GetOrderCheckItemByQuery(queryCriteriaEntity);
                    if (result != null && result.Count > 0 && msg.Status == OrderCheckStatus.Valid)
                    {
                        foreach (var item in result)
                        {
                            item.Status = OrderCheckStatus.Invalid;
                            OrderCheckItemDA.UpdateOrderCheckItem(item);
                        }
                    }
                }
                OrderCheckItemDA.UpdateOrderCheckItem(msg);
            }
        }