Esempio n. 1
0
 /// <summary>
 /// 是否可继续提交
 /// </summary>
 /// <param name="order"></param>
 /// <param name="nextStatus"></param>
 /// <returns></returns>
 public RES CanContinue(YunOrder order, int currentStatus, int nextStatus)
 {
     if ((int)ENUM.订单及消费项状态.未支付 == currentStatus)
     {
         ///下一步有效状态  未使用
         if (order.Status == (int)ENUM.订单及消费项状态.未支付 && order.QRCodeList.Count == order.QRCodeList.Count(p => p.Status == (int)ENUM.订单及消费项状态.未支付))
         {
             return(RES.New.SetAsOK(true));
         }
     }
     else if ((int)ENUM.订单及消费项状态.未使用 == currentStatus)
     {
         ///下一步有效状态  部分使用 无可用项目 退款处理中
         if (order.Status == (int)ENUM.订单及消费项状态.未使用 && order.QRCodeList.Count == order.QRCodeList.Count(p => p.Status == (int)ENUM.订单及消费项状态.未使用))
         {
             return(RES.New.SetAsOK(true));
         }
     }
     else if ((int)ENUM.订单及消费项状态.部分使用 == currentStatus)
     {
         ///下一步有效状态  部分使用 无可用项目
     }
     else if ((int)ENUM.订单及消费项状态.无可用项目 == currentStatus)
     {
         ///下一步有效状态    无可用项目
     }
     else if ((int)ENUM.订单及消费项状态.全部已退款 == currentStatus)
     {
         ///下一步有效状态    无可用项目
     }
     return(RES.New.SetAsOK(true));
 }
Esempio n. 2
0
        /// <summary>
        /// 创建一个未支付订单
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public RES CreatePrepayOrder(string goodsIDStr, long count, string sourceIDStr, string consumerIDStr)
        {
            var res = RES.New;

            if (!string.IsNullOrWhiteSpace(goodsIDStr) && 0 < count && !string.IsNullOrWhiteSpace(goodsIDStr) && !string.IsNullOrWhiteSpace(goodsIDStr))
            {
                var db = ModelEF.GetInst();
                ///若数据符合要求
                var goodsID    = new Guid(goodsIDStr);
                var sourceID   = new Guid(sourceIDStr);
                var consumerID = new Guid(consumerIDStr);
                var yunOrder   = new YunOrder();
                yunOrder.GoodsID    = goodsID;
                yunOrder.SourceID   = sourceID;
                yunOrder.ConsumerID = consumerID;
                yunOrder.Count      = (int)count;
                yunOrder.ID         = Guid.NewGuid();
                yunOrder.Status     = (int)ENUM.订单及消费项状态.未支付;
                //yunOrder.OrderID =GUID. MD5.ToMD5( ORDER.NewOrderID);

                for (int k = 0; k < count; k++)
                {
                    var item = new YunQRCode();
                    item.ID      = Guid.NewGuid();
                    item.OrderID = yunOrder.ID;
                    item.QRCode  = item.OrderID.ToString() + k;
                    //item.Status = (int)ENUM.EntityStatus.正常;
                    item.Status = (int)ENUM.订单及消费项状态.未支付;
                    db.YunQRCodes.Add(item);
                }

                db.YunOrders.Add(yunOrder);
                db.SaveChanges();
            }
            return(res.SetAsOK());
        }