public static string GetContentByTableStyle(string content, string separator, PublishmentSystemInfo publishmentSystemInfo, ETableStyle tableStyle, TableStyleInfo styleInfo, string formatString, StringDictionary attributes, string innerXml, bool isStlEntity) { var parsedContent = content; var inputType = EInputTypeUtils.GetEnumType(styleInfo.InputType); if (inputType == EInputType.Date) { var dateTime = TranslateUtils.ToDateTime(content); if (dateTime != DateUtils.SqlMinValue) { if (string.IsNullOrEmpty(formatString)) { formatString = DateUtils.FormatStringDateOnly; } parsedContent = DateUtils.Format(dateTime, formatString); } else { parsedContent = string.Empty; } } else if (inputType == EInputType.DateTime) { var dateTime = TranslateUtils.ToDateTime(content); if (dateTime != DateUtils.SqlMinValue) { if (string.IsNullOrEmpty(formatString)) { formatString = DateUtils.FormatStringDateTime; } parsedContent = DateUtils.Format(dateTime, formatString); } else { parsedContent = string.Empty; } } else if (inputType == EInputType.CheckBox || inputType == EInputType.Radio || inputType == EInputType.SelectMultiple || inputType == EInputType.SelectOne)//选择类型 { var selectedTexts = new ArrayList(); var selectedValues = TranslateUtils.StringCollectionToStringList(content); var styleItems = styleInfo.StyleItems; if (styleItems == null) { styleItems = BaiRongDataProvider.TableStyleDao.GetStyleItemInfoList(styleInfo.TableStyleId); } foreach (var itemInfo in styleItems) { if (selectedValues.Contains(itemInfo.ItemValue)) { if (isStlEntity) { selectedTexts.Add(itemInfo.ItemValue); } else { selectedTexts.Add(itemInfo.ItemTitle); } } } if (separator == null) { parsedContent = TranslateUtils.ObjectCollectionToString(selectedTexts); } else { parsedContent = TranslateUtils.ObjectCollectionToString(selectedTexts, separator); } } //else if (styleInfo.InputType == EInputType.TextArea) //{ // parsedContent = StringUtils.ReplaceNewlineToBR(parsedContent); //} else if (inputType == EInputType.TextEditor) { /****获取编辑器中内容,解析@符号,添加了远程路径处理 20151103****/ parsedContent = StringUtility.TextEditorContentDecode(parsedContent, publishmentSystemInfo, true); } else if (inputType == EInputType.Image) { parsedContent = InputParserUtility.GetImageOrFlashHtml(publishmentSystemInfo, parsedContent, attributes, isStlEntity); } else if (inputType == EInputType.Video) { parsedContent = InputParserUtility.GetVideoHtml(publishmentSystemInfo, parsedContent, attributes, isStlEntity); } else if (inputType == EInputType.File) { parsedContent = InputParserUtility.GetFileHtmlWithoutCount(publishmentSystemInfo, parsedContent, attributes, innerXml, isStlEntity); } return(parsedContent); }
public static void SendSMS(PublishmentSystemInfo publishmentSystemInfo, ITagStyleMailSMSBaseInfo mailSMSInfo, ETableStyle tableStyle, string tableName, int relatedIdentity, ExtendedAttributes contentInfo) { try { if (mailSMSInfo.IsSMS) { var styleInfoList = RelatedIdentities.GetTableStyleInfoList(publishmentSystemInfo, tableStyle, relatedIdentity); var smsToArrayList = new ArrayList(); if (mailSMSInfo.SMSReceiver == ETriState.All || mailSMSInfo.SMSReceiver == ETriState.True) { if (!string.IsNullOrEmpty(mailSMSInfo.SMSTo)) { var mobiles = mailSMSInfo.SMSTo.Split(';', ','); foreach (var mobile in mobiles) { if (!string.IsNullOrEmpty(mobile) && StringUtils.IsMobile(mobile) && !smsToArrayList.Contains(mobile)) { smsToArrayList.Add(mobile); } } } } if (mailSMSInfo.SMSReceiver == ETriState.All || mailSMSInfo.SMSReceiver == ETriState.False) { var smsTo = contentInfo.GetExtendedAttribute(mailSMSInfo.SMSFiledName); if (!string.IsNullOrEmpty(smsTo)) { var mobiles = smsTo.Split(';', ','); foreach (var mobile in mobiles) { if (!string.IsNullOrEmpty(mobile) && StringUtils.IsMobile(mobile) && !smsToArrayList.Contains(mobile)) { smsToArrayList.Add(mobile); } } } } var builder = new StringBuilder(); if (mailSMSInfo.IsSMSTemplate && !string.IsNullOrEmpty(mailSMSInfo.SMSContent)) { builder.Append(mailSMSInfo.SMSContent); } else { builder.Append(GetSMSContent(styleInfoList)); } var content = builder.ToString(); content = StringUtils.ReplaceIgnoreCase(content, "[AddDate]", DateUtils.GetDateAndTimeString(TranslateUtils.ToDateTime(contentInfo.GetExtendedAttribute(ContentAttribute.AddDate)))); foreach (var styleInfo in styleInfoList) { var theValue = InputParserUtility.GetContentByTableStyle(contentInfo.GetExtendedAttribute(styleInfo.AttributeName), publishmentSystemInfo, tableStyle, styleInfo); content = StringUtils.ReplaceIgnoreCase(content, $"[{styleInfo.AttributeName}]", theValue); } var attributeNameList = TableManager.GetAttributeNameList(tableStyle, tableName); foreach (string attributeName in attributeNameList) { var theValue = contentInfo.GetExtendedAttribute(attributeName); content = StringUtils.ReplaceIgnoreCase(content, $"[{attributeName}]", theValue); } if (content.Length > 60) { content = content.Substring(0, 60); } //var errorMessage = string.Empty; //var providerInfo = BaiRongDataProvider.SmsProviderDAO.GetFirstSmsProviderInfo(); //if (providerInfo != null) //{ // SmsProviderManager.Send(providerInfo, smsToArrayList, content, out errorMessage); //} } } catch { // ignored } }