public ActionResult AllOperate(string opstr, int?AdvertiseID, int?Cate) { try { if (string.IsNullOrEmpty(opstr) || !AdvertiseID.HasValue || !Cate.HasValue) { return(Json(new { IsSuccess = false, ReturnStr = "输入的参数不能为空" }, JsonRequestBehavior.AllowGet)); } else { string[] _Oparr = opstr.Split('*'); foreach (string Paras in _Oparr) { try { if (!string.IsNullOrEmpty(Paras)) { string[] _Para = Paras.Split(','); if (_Para.Length == 5) { string _PID = _Para[0]; string _NewPID = _Para[1]; byte _Position = byte.Parse(_Para[2]); decimal _PromotionPrice = decimal.Parse(_Para[3]); int _PromotionNum = int.Parse(_Para[4]); if (!string.IsNullOrEmpty(_PID) && !string.IsNullOrEmpty(_NewPID)) { //删除 if (Cate == 1) { manager.DeleteAdProduct(AdvertiseID.Value, _PID); } //保存 else if (Cate == 2) { manager.UpdateAdProduct(AdvertiseID.Value, _PID, _NewPID, _Position, _PromotionPrice, _PromotionNum); } } } } } catch { } } } return(Json(new { IsSuccess = true, ReturnStr = Cate.Value == 1 ? "批量删除成功" : "批量保存成功" }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { IsSuccess = false, ReturnStr = "保存失败" }, JsonRequestBehavior.AllowGet)); } }
public JsonResult SavePercentage(string opstr) { try { if (string.IsNullOrEmpty(opstr)) { return(Json(new { IsSuccess = false, ReturnStr = "输入的参数不能为空" }, JsonRequestBehavior.AllowGet)); } else { string[] _Oparr = opstr.Split('*'); foreach (string Paras in _Oparr) { try { if (!string.IsNullOrEmpty(Paras)) { string[] _Para = Paras.Split(','); if (_Para.Length == 2) { string _PKID = _Para[0]; string _PERC = _Para[1]; if (!string.IsNullOrEmpty(_PKID) && !string.IsNullOrEmpty(_PERC)) { manager.UpdateCouponCategoryPercentage(int.Parse(_PKID), int.Parse(_PERC)); } } } } catch { } } } return(Json(new { IsSuccess = true, ReturnStr = "批量保存成功" }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { IsSuccess = false, ReturnStr = "保存失败" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult AllOperate(string opstr, int?Cate) { try { if (string.IsNullOrEmpty(opstr) || !Cate.HasValue) { return(Json(new { IsSuccess = false, ReturnStr = "输入的参数不能为空" }, JsonRequestBehavior.AllowGet)); } else { string[] _Oparr = opstr.Split('*'); foreach (string Paras in _Oparr) { try { if (!string.IsNullOrEmpty(Paras)) { string[] _Para = Paras.Split(','); if (_Para.Length == 8) { int _PKID = int.Parse(_Para[0]); string _PID = _Para[1]; byte _Position = byte.Parse(_Para[2]); decimal _PromotionPrice = decimal.Parse(_Para[3]); decimal _MarketPrice = decimal.Parse(_Para[4]); int _PromotionNum = int.Parse(_Para[5]); int _MaxNum = int.Parse(_Para[6]); int _NumLeft = int.Parse(_Para[7]); if (!string.IsNullOrEmpty(_PID)) { //删除 if (Cate == 1) { manager.DeleteFlashSalesProduct(_PKID); } //保存 else if (Cate == 2) { FlashSalesProduct _FlashSalesProduct = new FlashSalesProduct { PKID = _PKID, PID = _PID, Position = _Position, PromotionPrice = _PromotionPrice, MarketPrice = _MarketPrice, PromotionNum = _PromotionNum, MaxNum = _MaxNum, NumLeft = _NumLeft, FlashSalesProductPara = _PImanager.GetFlashSalesProductParaByPID(_PID) }; manager.UpdateFlashSalesProduct(_FlashSalesProduct); } } } } } catch { } } } return(Json(new { IsSuccess = true, ReturnStr = Cate.Value == 1 ? "批量删除成功" : "批量保存成功" }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { IsSuccess = false, ReturnStr = "保存失败" }, JsonRequestBehavior.AllowGet)); } }
public override void Process(TagHelperContext context, TagHelperOutput output) { #region Display Value var modelType = Field.Metadata.ModelType; var list = new List <string>(); if (Field.Model != null) { // 数组 or 泛型集合 if (modelType.IsArray || (modelType.IsGenericType && typeof(List <>).IsAssignableFrom(modelType.GetGenericTypeDefinition()))) { foreach (var item in Field.Model as dynamic) { list.Add(item.ToString()); } } else { list.Add(Field.Model.ToString()); } } if (ListVM == null || ListVM.Model == null) { throw new Exception("The ListVM of the Selector is null"); } var listVM = ListVM.Model as IBasePagedListVM <TopBasePoco, ISearcher>; var value = new List <string>(); if (context.Items.ContainsKey("model") == true) { listVM.CopyContext(context.Items["model"] as BaseVM); } if (list.Count > 0) { listVM.Ids = list; listVM.NeedPage = false; listVM.IsSearched = false; listVM.ClearEntityList(); listVM.SearcherMode = ListVMSearchModeEnum.Batch; if (!string.IsNullOrEmpty(Paras)) { var p = Paras.Split(','); Regex r = new Regex("(\\s*)\\S*?=\\S*?(\\s*)"); foreach (var item in p) { var s = Regex.Split(item, "="); if (s != null && s.Length == 2) { listVM.SetPropertyValue(s[0], s[1]); } } } var entityList = listVM.GetEntityList().ToList(); foreach (var item in entityList) { value.Add(item.GetType().GetProperty(TextBind?.Metadata.PropertyName)?.GetValue(item).ToString()); } } #endregion if (Display) { output.TagName = "label"; output.TagMode = TagMode.StartTagAndEndTag; output.Attributes.Add("class", "layui-form-label"); output.Attributes.Add("style", "text-align:left;padding:9px 0;"); var val = string.Empty; if (Field.Model != null) { if (Field.Model.GetType().IsEnumOrNullableEnum()) { val = PropertyHelper.GetEnumDisplayName(Field.Model.GetType(), Field.Model.ToString()); } else { val = Field.Model.ToString(); } } output.Content.AppendHtml(string.Join(",", value)); base.Process(context, output); } else { var windowid = Guid.NewGuid().ToString(); if (MultiSelect == null) { MultiSelect = false; var type = Field.Metadata.ModelType; if (type.IsArray || (type.IsGenericType && typeof(List <>).IsAssignableFrom(type.GetGenericTypeDefinition())))// Array or List { MultiSelect = true; } } if (WindowWidth == null) { WindowWidth = 800; } output.TagName = "input"; output.TagMode = TagMode.StartTagOnly; output.Attributes.Add("type", "text"); output.Attributes.Add("id", Id + "_Display"); output.Attributes.Add("name", Field.Name + "_Display"); if (listVM.Searcher != null) { var searcher = listVM.Searcher; searcher.CopyContext(listVM); searcher.DoInit(); } var content = output.GetChildContentAsync().Result.GetContent().Trim(); #region 移除因 RowTagHelper 生成的外层 div 即 <div class="layui-col-xs6"></div> var regStart = new Regex(@"^<div\s+class=""layui-col-md[0-9]+"">"); var regEnd = new Regex("</div>$"); content = regStart.Replace(content, string.Empty); content = regEnd.Replace(content, string.Empty); #endregion var reg = new Regex("(name=\")([0-9a-zA-z]{0,}[.]?)(Searcher[.]?[0-9a-zA-z]{0,}\")", RegexOptions.Multiline | RegexOptions.IgnoreCase); content = reg.Replace(content, "$1$3"); content = content.Replace("<script>", "$$script$$").Replace("</script>", "$$#script$$"); var searchPanelTemplate = $@"<script type=""text/template"" id=""Temp{Id}"">{content}</script>"; output.Attributes.Add("value", string.Join(",", value)); output.Attributes.Add("placeholder", EmptyText ?? Program._localizer["PleaseSelect"]); output.Attributes.Add("class", "layui-input"); this.Disabled = true; var vmQualifiedName = ListVM.Metadata.ModelType.AssemblyQualifiedName; vmQualifiedName = vmQualifiedName.Substring(0, vmQualifiedName.LastIndexOf(", Version=")); var Filter = new Dictionary <string, object> { { "_DONOT_USE_VMNAME", vmQualifiedName }, { "_DONOT_USE_KFIELD", TextBind?.Metadata.PropertyName }, { "_DONOT_USE_VFIELD", ValBind == null ? "ID" : ValBind?.Metadata.PropertyName }, { "_DONOT_USE_FIELD", Field.Name }, { "_DONOT_USE_MULTI_SEL", MultiSelect }, { "_DONOT_USE_SEL_ID", Id }, { "Ids", list } }; if (!string.IsNullOrEmpty(SubmitFunc)) { Filter.Add("_DONOT_USE_SUBMIT", SubmitFunc); } if (listVM.Searcher != null) { var props = listVM.Searcher.GetType().GetProperties(); props = props.Where(x => !_excludeTypes.Contains(x.PropertyType)).ToArray(); foreach (var prop in props) { if (!_excludeParams.Contains(prop.Name)) { Filter.Add($"Searcher.{prop.Name}", prop.GetValue(listVM.Searcher)); } } } if (!string.IsNullOrEmpty(Paras)) { var p = Paras.Split(','); Regex r = new Regex("(\\s*)\\S*?=\\S*?(\\s*)"); foreach (var item in p) { var s = Regex.Split(item, "="); if (s != null && s.Length == 2) { if (Filter.ContainsKey(s[0])) { Filter[s[0]] = s[1]; } else { Filter.Add(s[0], s[1]); } } } } var hiddenStr = string.Empty; var sb = new StringBuilder(); foreach (var item in list) { sb.Append($"<input type='hidden' name='{Field.Name}' value='{item.ToString()}' />"); } hiddenStr = sb.ToString(); output.PreElement.AppendHtml($@"<div id=""{Id}_Container"" style=""position:absolute;right:{SelectButtonWidth?.ToString() ?? "50"}px;left:0px;width:auto"">"); output.PostElement.AppendHtml($@" {hiddenStr} </div> <button class='layui-btn layui-btn-sm layui-btn-warm' type='button' id='{Id}_Select' style='color:white;position:absolute;right:0px'>{SelectButtonText ?? " . . . "}</button> <hidden id='{Id}' name='{Field.Name}' /> <script> var {Id}filter = {{}}; $('#{Id}_Select').on('click',function(){{ {(string.IsNullOrEmpty(BeforeOnpenDialogFunc) == true ? "" : "var data={};" + FormatFuncName(BeforeOnpenDialogFunc) + ";")} var filter = {JsonConvert.SerializeObject(Filter)}; var vals = $('#{Id}_Container input[type=hidden]');