public Model.ReturnValue Recovery() { int id = Common.TypeHelper.ObjectToInt(Request["OrderId"], 0); model = OrderDal.GetModel(id); if (model.Id <= 0) { returnValue.ErrMessage = "订单不存在"; returnValue.Success = false; return(returnValue); } if (UserSession.GroupId != 2) { returnValue.Success = false; returnValue.ErrMessage = "请联系管理员执行此操作"; return(returnValue); } if (model.States != -1) { returnValue.Success = false; returnValue.ErrMessage = "订单未作废无法恢复"; return(returnValue); } model.States = 0; model.UpdateTime = DateTime.Now; mdlog.Status = model.States; mdlog.OperationType = "恢复订单状态"; mdlog.OrderCode = model.OrderCode; mdlog.Mobile = model.Mob; int i = 0; if (IsBack) { #region Check中奖数是否已满 List <Model.AwardsStatisticsModel> AwardsList = new Db.AwardsStatisticsDal().GetModelList().Where(w => (w.AwardsId == model.AwardId && w.AwardsType == 1) || (w.AwardsId == model.RedAwardId && w.AwardsType == 2)).ToList(); if (AwardsList.Count == 0) { returnValue.Success = false; returnValue.ErrMessage = "系统错误,请联系管理员"; return(returnValue); } foreach (var AwardsModel in AwardsList) { string sqlwhere = ""; if (AwardsModel.AwardsType == 1) { sqlwhere = string.Format(" and AwardId={0} and IsBack=0", model.AwardId); } if (AwardsModel.AwardsType == 2) { sqlwhere = string.Format(" and RedAwardId={0} and IsBack=0", model.RedAwardId); } if (OrderDal.CheckCount(sqlwhere) >= GetPrizeCount(AwardsModel.AwardsType, AwardsModel.AwardsName)) { returnValue.Success = false; returnValue.ErrMessage = "奖项总数已达上限,无法恢复订单"; return(returnValue); } } #endregion i = OrderDal.Recovery(model, mdlog); } else { i = OrderDal.EditOrder(model, mdlog); } if (i > 0) { returnValue.Success = true; return(returnValue); } returnValue.Success = false; returnValue.ErrMessage = "修改失败"; return(returnValue); }