public async Task <SendResponse> DeleteBodyAsync(EditTemplateRequest request) { var partitionKey = TemplateMyNoSqlEntity.GeneratePartitionKey(); var rowKey = TemplateMyNoSqlEntity.GenerateRowKey(request.TemplateId.ToString()); var templateEntity = await _templateWriter.GetAsync(partitionKey, rowKey); if (templateEntity == null) { _logger.LogError("Template with part.key {partitionKey} & row key {rowKey} doesn't exist.", partitionKey, rowKey); return(new SendResponse { Result = SmsSendResult.TEMPLATE_NOT_FOUND, ErrorMessage = "Template doesn't exist." }); } templateEntity.Template.BrandLangBodies.First(b => b.Brand == request.Brand).LangBodies .Remove(request.Lang); if (!templateEntity.Template.BrandLangBodies.First(b => b.Brand == request.Brand).LangBodies.Any()) { templateEntity.Template.BrandLangBodies = templateEntity.Template.BrandLangBodies .Where(b => b.Brand != request.Brand).ToArray(); } await _templateWriter.InsertOrReplaceAsync(templateEntity); return(new SendResponse { Result = SmsSendResult.OK }); }
/// <summary> /// 修改富媒体短信内容接口 /// </summary> /// <param name="request">请求参数信息</param> /// <returns>请求结果信息</returns> public async Task <EditTemplateResponse> EditTemplate(EditTemplateRequest request) { return(await new EditTemplateExecutor().Client(this).Execute <EditTemplateResponse, EditTemplateResult, EditTemplateRequest>(request).ConfigureAwait(false)); }
/// <summary> /// 修改富媒体短信内容接口 /// </summary> /// <param name="request">请求参数信息</param> /// <returns>请求结果信息</returns> public EditTemplateResponse EditTemplate(EditTemplateRequest request) { return(new EditTemplateExecutor().Client(this).Execute <EditTemplateResponse, EditTemplateResult, EditTemplateRequest>(request)); }
public async Task <SendResponse> EditTemplateAsync(EditTemplateRequest request) { var partitionKey = TemplateMyNoSqlEntity.GeneratePartitionKey(); var rowKey = TemplateMyNoSqlEntity.GenerateRowKey(request.TemplateId.ToString()); var templateEntity = await _templateWriter.GetAsync(partitionKey, rowKey); if (templateEntity == null) { _logger.LogError("Template with part.key {partitionKey} & row key {rowKey} doesn't exist.", partitionKey, rowKey); return(new SendResponse { Result = SmsSendResult.TEMPLATE_NOT_FOUND, ErrorMessage = "Template doesn't exist." }); } if (string.IsNullOrEmpty(request.TemplateBody)) { var blb = templateEntity.Template.BrandLangBodies.FirstOrDefault(b => b.Brand == request.Brand); if (blb != null) { var lng = request.Lang.ToString(); if (blb.LangBodies.ContainsKey(lng)) { blb.LangBodies.Remove(lng); _logger.LogInformation("Lang body with lang {lang} has been removed from brand ({brand}).", request.Lang, request.Brand); if (!blb.LangBodies.Any()) { templateEntity.Template.BrandLangBodies = templateEntity.Template.BrandLangBodies .Where(b => b.Brand != blb.Brand).ToArray(); _logger.LogInformation("Brand ({brand}) removed because it no longer has lang bodies.", request.Brand); } return(new SendResponse { Result = SmsSendResult.OK }); } } } var lang = request.Lang.ToString(); var brandLangBodies = templateEntity.Template.BrandLangBodies.FirstOrDefault(b => b.Brand == request.Brand); if (brandLangBodies == null) { _logger.LogInformation("Template (ID: {templateId}) for required brand {brand} doesn't exist, creating new one.", templateEntity.Template.Id, request.Brand); templateEntity.Template.BrandLangBodies = templateEntity.Template.BrandLangBodies.Append(new BrandLangBody { Brand = request.Brand, LangBodies = new Dictionary <string, string> { { lang, request.TemplateBody } } }).ToArray(); } else { if (!brandLangBodies.LangBodies.ContainsKey(lang)) { _logger.LogInformation("Template (ID: {templateId}) for brand {brand} with required lang {lang} doesn't exist, creating new one.", templateEntity.Template.Id, request.Brand, request.Lang); brandLangBodies.LangBodies.Add(lang, request.TemplateBody); } brandLangBodies.LangBodies[lang] = request.TemplateBody; } if (!string.IsNullOrEmpty(request.DefaultBrand)) { templateEntity.Template.DefaultBrand = request.DefaultBrand; } templateEntity.Template.DefaultLang = request.DefaultLang; await _templateWriter.InsertOrReplaceAsync(templateEntity); return(new SendResponse { Result = SmsSendResult.OK }); }