private void btnCreate_Click(object sender, EventArgs e) { decimal defaultNumber = default(decimal); decimal? addNumber = default(decimal?); decimal price = default(decimal); decimal? addPrice = default(decimal?); ValuationMethods valuationMethod = default(ValuationMethods); if (this.ValidateRegionValues(out defaultNumber, out addNumber, out price, out addPrice, out valuationMethod)) { IList <ShippingTemplateGroupInfo> list = new List <ShippingTemplateGroupInfo>(); string value = this.hidRegionJson.Value; if (!string.IsNullOrEmpty(value)) { IList <ShippingTemplateGroupMode> list2 = new List <ShippingTemplateGroupMode>(); list2 = JsonHelper.ParseFormJson <List <ShippingTemplateGroupMode> >(value); if (list2 != null && list2.Count > 0) { foreach (ShippingTemplateGroupMode item in list2) { ShippingTemplateGroupInfo shippingTemplateGroupInfo = new ShippingTemplateGroupInfo(); shippingTemplateGroupInfo.AddPrice = item.AddPrice; shippingTemplateGroupInfo.AddNumber = item.AddNumber; shippingTemplateGroupInfo.DefaultNumber = item.DefaultNumber; shippingTemplateGroupInfo.Price = item.DefaultPrice; string safeIDList = Globals.GetSafeIDList(item.RegionIds, ',', true); string[] array = safeIDList.Split(','); foreach (string obj in array) { ShippingRegionInfo shippingRegionInfo = new ShippingRegionInfo(); shippingRegionInfo.RegionId = obj.ToInt(0); shippingTemplateGroupInfo.ModeRegions.Add(shippingRegionInfo); } list.Add(shippingTemplateGroupInfo); } } } IList <ShippingTemplateFreeGroupInfo> list3 = new List <ShippingTemplateFreeGroupInfo>(); string value2 = this.hidFreeJson.Value; if (!string.IsNullOrEmpty(value2)) { IList <ShippingTemplateFreeGroupMode> list4 = new List <ShippingTemplateFreeGroupMode>(); list4 = JsonHelper.ParseFormJson <List <ShippingTemplateFreeGroupMode> >(value2); if (list4 != null && list4.Count > 0) { foreach (ShippingTemplateFreeGroupMode item2 in list4) { ShippingTemplateFreeGroupInfo shippingTemplateFreeGroupInfo = new ShippingTemplateFreeGroupInfo(); shippingTemplateFreeGroupInfo.ConditionType = item2.ConditionType; shippingTemplateFreeGroupInfo.ConditionNumber = item2.ConditionNumber; string safeIDList2 = Globals.GetSafeIDList(item2.RegionIds, ',', true); string[] array2 = safeIDList2.Split(','); foreach (string obj2 in array2) { ShippingFreeRegionInfo shippingFreeRegionInfo = new ShippingFreeRegionInfo(); shippingFreeRegionInfo.RegionId = obj2.ToInt(0); shippingTemplateFreeGroupInfo.ModeRegions.Add(shippingFreeRegionInfo); } list3.Add(shippingTemplateFreeGroupInfo); } } } string text = Globals.StripAllTags(this.txtModeName.Text.Trim()).Replace("\\", "").Replace("<", "") .Replace(">", ""); if (text == "" || text.Length > 20) { this.ShowMsg("模板名称不能为空,长度限制在20字符以内,不允许包含脚本标签和特殊字符,系统会自动过滤", false); } else if (SalesHelper.IsExistTemplateName(text, 0)) { this.ShowMsg("模板名称重复,请重新输入", false); } else { ShippingTemplateInfo shippingTemplateInfo = new ShippingTemplateInfo(); shippingTemplateInfo.ModeGroup = list; shippingTemplateInfo.FreeGroup = list3; shippingTemplateInfo.IsFreeShipping = (this.radIsFreeShipping.SelectedIndex != 0 && true); shippingTemplateInfo.ValuationMethod = valuationMethod; shippingTemplateInfo.TemplateName = Globals.HtmlEncode(text); shippingTemplateInfo.DefaultNumber = defaultNumber; shippingTemplateInfo.AddNumber = addNumber; shippingTemplateInfo.Price = price; shippingTemplateInfo.AddPrice = addPrice; if (SalesHelper.CreateShippingTemplate(shippingTemplateInfo)) { if (!string.IsNullOrEmpty(this.Page.Request.QueryString["source"]) && this.Page.Request.QueryString["source"] == "add") { this.CloseWindow(); } else { this.ClearControlValue(); this.ShowMsg("成功添加了一个配送方式模板", true, "ManageShippingTemplates.aspx"); } } else { this.ShowMsg("您添加的地区有重复", false); } } } }
public ShippingTemplateInfo GetShippingTemplate(int templateId, bool includeDetail) { ShippingTemplateInfo shippingTemplateInfo = null; DbCommand sqlStringCommand = base.database.GetSqlStringCommand(" SELECT * FROM Hishop_ShippingTemplates Where TemplateId =@TemplateId"); if (includeDetail) { DbCommand dbCommand = sqlStringCommand; dbCommand.CommandText += " SELECT GroupId,TemplateId,Price,AddPrice,DefaultNumber,AddNumber FROM Hishop_ShippingTypeGroups Where TemplateId =@TemplateId"; DbCommand dbCommand2 = sqlStringCommand; dbCommand2.CommandText += " SELECT sr.TemplateId,sr.GroupId,sr.RegionId FROM Hishop_ShippingRegions sr Where sr.TemplateId =@TemplateId"; DbCommand dbCommand3 = sqlStringCommand; dbCommand3.CommandText += " SELECT GroupId,TemplateId,ConditionType,ConditionNumber FROM Hishop_ShippingFreeGroups Where TemplateId =@TemplateId"; DbCommand dbCommand4 = sqlStringCommand; dbCommand4.CommandText += " SELECT sr.TemplateId,sr.GroupId,sr.RegionId FROM Hishop_ShippingFreeRegions sr Where sr.TemplateId =@TemplateId"; } base.database.AddInParameter(sqlStringCommand, "TemplateId", DbType.Int32, templateId); using (IDataReader dataReader = base.database.ExecuteReader(sqlStringCommand)) { shippingTemplateInfo = DataHelper.ReaderToModel <ShippingTemplateInfo>(dataReader); if (shippingTemplateInfo == null) { return(null); } if (includeDetail && shippingTemplateInfo != null) { dataReader.NextResult(); shippingTemplateInfo.ModeGroup = DataHelper.ReaderToList <ShippingTemplateGroupInfo>(dataReader); dataReader.NextResult(); while (dataReader.Read()) { foreach (ShippingTemplateGroupInfo item in shippingTemplateInfo.ModeGroup) { if (item.GroupId == (int)((IDataRecord)dataReader)["GroupId"]) { ShippingRegionInfo shippingRegionInfo = new ShippingRegionInfo(); shippingRegionInfo.TemplateId = (int)((IDataRecord)dataReader)["TemplateId"]; shippingRegionInfo.GroupId = (int)((IDataRecord)dataReader)["GroupId"]; shippingRegionInfo.RegionId = (int)((IDataRecord)dataReader)["RegionId"]; item.ModeRegions.Add(shippingRegionInfo); } } } dataReader.NextResult(); shippingTemplateInfo.FreeGroup = DataHelper.ReaderToList <ShippingTemplateFreeGroupInfo>(dataReader); dataReader.NextResult(); while (dataReader.Read()) { foreach (ShippingTemplateFreeGroupInfo item2 in shippingTemplateInfo.FreeGroup) { if (item2.GroupId == (int)((IDataRecord)dataReader)["GroupId"]) { ShippingFreeRegionInfo shippingFreeRegionInfo = new ShippingFreeRegionInfo(); shippingFreeRegionInfo.TemplateId = (int)((IDataRecord)dataReader)["TemplateId"]; shippingFreeRegionInfo.GroupId = (int)((IDataRecord)dataReader)["GroupId"]; shippingFreeRegionInfo.RegionId = (int)((IDataRecord)dataReader)["RegionId"]; item2.ModeRegions.Add(shippingFreeRegionInfo); } } } } } return(shippingTemplateInfo); }