public JsonResult AddVip(PromoteVipModel promoteVipModel, int[] scopes) { try { var sb = new StringBuilder(); this.promoteVipService = new PromoteVipService(); promoteVipModel.EmployeeID = this.SystemUserSession.EmployeeID; promoteVipModel.Status = 1; var promoteVip = DataTransfer.Transfer<Promote_Vip>(promoteVipModel, typeof(PromoteVipModel)); var promoteVipScopeList = new List<Promote_Vip_Scope>(); foreach (var scope in scopes) { var promoteVipScope = new Promote_Vip_Scope { ProductID = scope }; promoteVipScopeList.Add(promoteVipScope); sb.Append(scope + ","); } // 验证相同商品是否参与其他促销 var products = this.VerifyPromote(0, sb.ToString()); if (!string.IsNullOrEmpty(products)) { return this.Json(new AjaxResponse(0, "以下商品已参加其他促销活动:" + products)); } promoteVip.Scopes = promoteVipScopeList; this.promoteVipService.Add(promoteVip); } catch (Exception exception) { return this.Json(new AjaxResponse(0, "添加失败!" + exception.Message)); } return this.Json(new AjaxResponse(1, "添加成功!")); }
/// <summary> /// 验证商品参加重复促销. /// </summary> /// <param name="promoteVipID"> /// The promote vip id. /// </param> /// <param name="productIDs"> /// The product i ds. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> private string VerifyPromote(int promoteVipID, string productIDs) { if (string.IsNullOrEmpty(productIDs)) { return string.Empty; } var sb = new StringBuilder(); this.promoteVipService = new PromoteVipService(); var list = this.promoteVipService.QueryByPromoteProduct(productIDs, promoteVipID); if (list == null) { return string.Empty; } foreach (var productSearchResult in list) { sb.Append(productSearchResult.Name + ";"); } return sb.ToString(); }
public JsonResult RemoveVip(int id) { try { this.promoteVipService = new PromoteVipService(); this.promoteVipService.Remove(id); return this.Json(new AjaxResponse(1, "操作成功!")); } catch (Exception exception) { return this.Json(new AjaxResponse(0, "操作失败:" + exception.Message)); } }
public JsonResult QueryVipByID(int id) { try { this.promoteVipService = new PromoteVipService(); var promoteVip = this.promoteVipService.QueryByID(id); promoteVip.Scopes = this.promoteVipService.QueryScopeByID(id); return this.Json(promoteVip); } catch (Exception exception) { throw new Exception(exception.Message, exception); } }
/// <summary> /// 会员促销. /// </summary> /// <param name="request"> /// The request. /// </param> /// <param name="promoteName"> /// 活动名称. /// </param> /// <param name="promoteStatus"> /// 活动状态. /// </param> /// <param name="startStartTime"> /// 活动开始时间范围起点时间. /// </param> /// <param name="startEndTime"> /// 活动开始时间范围结点时间. /// </param> /// <param name="endStartTime"> /// 活动结束时间范围起点时间. /// </param> /// <param name="endEndTime"> /// 活动结束时间范围结点时间. /// </param> /// <returns> /// The <see cref="JsonResult"/>. /// </returns> public JsonResult QueryVip( [DataSourceRequest] DataSourceRequest request, string promoteName, string promoteStatus, string startStartTime, string startEndTime, string endStartTime, string endEndTime) { this.promoteMeetMoneyService = new PromoteMeetMoneyService(); if (request.Page <= 0) { request.Page = 1; } if (request.PageSize == 0) { request.PageSize = 10; } int totalCount; var stringBuilder = new StringBuilder(); if (!string.IsNullOrEmpty(promoteName)) { CheckCondition(stringBuilder); stringBuilder.Append("[Name] like '%" + promoteName + "%'"); } if (!string.IsNullOrEmpty(startStartTime)) { CheckCondition(stringBuilder); stringBuilder.Append("[StartTime] >= '" + startStartTime + "'"); } if (!string.IsNullOrEmpty(startEndTime)) { CheckCondition(stringBuilder); stringBuilder.Append("[StartTime] <= '" + startEndTime + "'"); } if (!string.IsNullOrEmpty(endStartTime)) { CheckCondition(stringBuilder); stringBuilder.Append("[EndTime] >= '" + endStartTime + "'"); } if (!string.IsNullOrEmpty(endEndTime)) { CheckCondition(stringBuilder); stringBuilder.Append("[EndTime] <= '" + endEndTime + "'"); } switch (promoteStatus) { case "1": CheckCondition(stringBuilder); stringBuilder.Append("[StartTime] > '" + DateTime.Now + "'"); break; case "2": CheckCondition(stringBuilder); stringBuilder.Append("'" + DateTime.Now + "' Between [StartTime] And [EndTime] And [Status] in (1,2) "); break; case "3": CheckCondition(stringBuilder); stringBuilder.Append("([EndTime] < '" + DateTime.Now + "' or [Status] = 3)"); break; } CheckCondition(stringBuilder); stringBuilder.Append("[IsDelete] = 0"); var condition = stringBuilder.ToString(); List<Promote_Vip> list; try { var paging = new Paging( "[Promote_Vip]", null, "[ID]", condition, request.Page, request.PageSize, "[CreateTime]", 1); int pageCount; list = new PromoteVipService().Query(paging, out pageCount, out totalCount); } catch (Exception exception) { throw new Exception(exception.Message, exception); } if (list != null) { var modelList = new List<PromoteVipModel>(); foreach (var coupon in list) { modelList.Add(DataTransfer.Transfer<PromoteVipModel>(coupon, typeof(Promote_Vip))); } foreach (var model in modelList) { switch (model.Status) { case 1: model.StatusName = "正常"; break; case 2: model.StatusName = "暂停"; break; case 3: model.StatusName = "停止"; break; } model.OperateText = this.GetVipOperationHtml( model.ID, model.Status, model.StartTime, model.EndTime); } var data = new DataSource { Data = modelList, Total = totalCount }; return this.Json(data, JsonRequestBehavior.AllowGet); } return this.Json(string.Empty); }
public JsonResult ChangesVipStatus(int id, int status) { try { if (status == 1) { var sb = new StringBuilder(); this.promoteVipService = new PromoteVipService(); var scopes = this.promoteVipService.QueryScopeByID(id); if (scopes != null) { foreach (var scope in scopes) { sb.Append(scope.ProductID + ","); } // 验证相同商品是否参与其他促销 var products = this.VerifyPromote(id, sb.ToString()); if (!string.IsNullOrEmpty(products)) { return this.Json(new AjaxResponse(0, "以下商品已参加其他促销活动:" + products)); } } } this.promoteVipService = new PromoteVipService(); this.promoteVipService.ModifyStatus(id, status); return this.Json(new AjaxResponse(1, "操作成功!")); } catch (Exception exception) { return this.Json(new AjaxResponse(0, "操作失败:" + exception.Message)); } }