Esempio n. 1
0
 public JsonActionResult <bool> AdjustIndex([FromUri] AdjustIndexParam param)
 {
     return(SafeExecute(() =>
     {
         return ProductService.AdjustIndex(param);
     }));
 }
Esempio n. 2
0
        public bool AdjustIndex(AdjustIndexParam param)
        {
            if (param == null || param.ID == null)
            {
                return(false);
            }
            var pointGoods = Repository.GetByKey(param.ID);

            if (pointGoods == null)
            {
                return(false);
            }
            Product exchangeEntity = null;

            if (param.Direction == EAdjustDirection.Up)
            {
                var pre = Repository.GetQueryable().Where(t => t.Index == (pointGoods.Index - 1)).FirstOrDefault();
                if (pre == null)
                {
                    return(true);
                }
                else
                {
                    exchangeEntity = pre;
                }
            }
            else if (param.Direction == EAdjustDirection.Down)
            {
                var next = Repository.GetQueryable().Where(t => t.Index == (pointGoods.Index + 1)).FirstOrDefault();
                if (next == null)
                {
                    return(true);
                }
                else
                {
                    exchangeEntity = next;
                }
            }
            if (exchangeEntity != null)
            {
                var exchangeIndex = exchangeEntity.Index;
                exchangeEntity.Index = pointGoods.Index;
                pointGoods.Index     = exchangeIndex;
                return(Repository.Update(new List <Product> {
                    exchangeEntity, pointGoods
                }) == 2);
            }
            return(false);
        }