public void AddWayBillTemplate(WayBillTemplate wayBillTemplate) { //状态 1-代表启用,2-代表禁用 var list = _wayBillTemplateRepository.GetList( p => p.TemplateName == wayBillTemplate.TemplateName.Trim() && p.ShippingMethodId == wayBillTemplate.ShippingMethodId && p.TemplateTypeId == wayBillTemplate.TemplateTypeId && p.Status != 2); if (null != list) { string countryNames = (from itemValue in list from str in wayBillTemplate.Countries.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries) where itemValue.Countries.Contains(str) select str).Aggregate(string.Empty, (current, str) => current.Contains(str) ? current : current + (str + ",")); bool isExistCountryName = !string.IsNullOrWhiteSpace(countryNames); //判断国家是否重复 if (isExistCountryName) { throw new ArgumentException("该类型的模板存在重复国家有:" + countryNames); } } Check.Argument.IsNotNull(wayBillTemplate, "运单模板"); wayBillTemplate.TemplateName = wayBillTemplate.TemplateName.Trim(); wayBillTemplate.CreatedBy = _workContext.User == null?"" :_workContext.User.UserUame; wayBillTemplate.CreatedOn = DateTime.Now; wayBillTemplate.LastUpdatedBy = _workContext.User == null ? "" : _workContext.User.UserUame; wayBillTemplate.LastUpdatedOn = DateTime.Now; _wayBillTemplateRepository.Add(wayBillTemplate); _wayBillTemplateRepository.UnitOfWork.Commit(); }
public void UpdateWayBillTemplate(WayBillTemplate wayBillTemplate) { Check.Argument.IsNotNull(wayBillTemplate, "运单模板"); Check.Argument.IsNullOrWhiteSpace(wayBillTemplate.WayBillTemplateId.ToString(), "运单模板信息ID"); WayBillTemplate wayBill = _wayBillTemplateRepository.Get(wayBillTemplate.WayBillTemplateId); if (wayBill == null) { throw new ArgumentException("该运单模板ID:{0}不存在".FormatWith(wayBillTemplate.WayBillTemplateId)); } //var isExist= _wayBillTemplateRepository.Exists( // p =>p.WayBillTemplateId!=wayBillTemplate.WayBillTemplateId&& // p.TemplateName == wayBillTemplate.TemplateName && p.ShippingMethodId == wayBillTemplate.ShippingMethodId); //if (isExist) //{ // throw new ArgumentException("运单打印模版,相同名称,相同运输方式,只能有一个模版"); //} var list = _wayBillTemplateRepository.GetList( p => p.WayBillTemplateId != wayBillTemplate.WayBillTemplateId && p.TemplateName == wayBillTemplate.TemplateName.Trim() && p.ShippingMethodId == wayBillTemplate.ShippingMethodId && p.TemplateTypeId == wayBillTemplate.TemplateTypeId); if (null != list) { string countryNames = (from itemValue in list from str in wayBillTemplate.Countries.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries) where itemValue.Countries.Contains(str) select str).Aggregate(string.Empty, (current, str) => current.Contains(str) ? current : current + (str + ",")); bool isExistCountryName = !string.IsNullOrWhiteSpace(countryNames); //判断国家是否重复 if (isExistCountryName) { throw new ArgumentException("该类型的模板存在重复国家有:" + countryNames); } } wayBill.TemplateName = wayBillTemplate.TemplateName.Trim(); wayBill.TemplateTypeId = wayBillTemplate.TemplateTypeId; wayBill.ShippingMethodId = wayBillTemplate.ShippingMethodId; wayBill.RowNumber = wayBillTemplate.RowNumber; wayBill.ColumnNumber = wayBillTemplate.ColumnNumber; wayBill.Status = wayBillTemplate.Status; wayBill.TemplateContent = wayBillTemplate.TemplateContent; wayBill.Remark = wayBillTemplate.Remark; wayBill.TemplateHeadId = wayBillTemplate.TemplateHeadId; wayBill.TemplateContentId = wayBillTemplate.TemplateContentId; wayBill.Countries = wayBillTemplate.Countries; wayBill.LinkMode = wayBillTemplate.LinkMode; wayBill.LastUpdatedBy = _workContext.User.UserUame; wayBill.LastUpdatedOn = DateTime.Now; _wayBillTemplateRepository.Modify(wayBill); _wayBillTemplateRepository.UnitOfWork.Commit(); }