public Result <object> PushCheck(TargetInfoObject entity, int appId, ContentType contentType) { if (entity == null) { throw new ArgumentNullException("entity"); } if (appId < 0) { throw new ArgumentException("appId"); } var result = new Result <object> { Status = 200, }; var history = new PushHistoryEntity { ContentId = entity.ContentId, AppId = appId, ContentType = contentType.ToString(), TargetType = entity.IsToAllUsers ? TargetType.AllUser.ToString() : TargetType.Config.ToString() }; _pushHistoryService.Repository.Insert(history); result.Data = history.Id; if (entity.IsToAllUsers) { return(result); } var appInfo = WeChatCommonService.GetAppInfo(appId); var verifyResult = _pushFacadeService.Verify(new ConfigedInfo(appInfo), entity, contentType); var passPart = verifyResult.Data.Success; //string.Join(",", passPart.ToDepartments.Select(JsonHelper.ToJson)) string.Join(",", passPart.ToTags.Select(JsonHelper.ToJson)) history.ToDepartments = (passPart.ToDepartments != null && passPart.ToDepartments.Any()) ? JsonHelper.ToJson(passPart.ToDepartments) : null; history.ToTags = passPart.ToTags != null?JsonHelper.ToJson(passPart.ToTags) : null; history.ToUsers = passPart.ToUsers != null?string.Join("|", passPart.ToUsers) : null; //updated _pushHistoryService.Repository.Update(history, new List <string> { "ToDepartments", "ToTags", "ToUsers" }); if (verifyResult.Status == 200) { return(result); } result.Status = verifyResult.Status; var errorResult = verifyResult.Data.Error; _historyDetailService.Repository.Insert(new PushHistoryDetailEntity { HistoryId = history.Id, ErrorDepartments = errorResult.ErrorDepartments != null ? JsonHelper.ToJson(errorResult.ErrorDepartments) : null, ErrorTags = errorResult.ErrorTags != null ? JsonHelper.ToJson(errorResult.ErrorTags) : null, ErrorUsers = errorResult.ErrorUsers != null ? string.Join("|", errorResult.ErrorUsers) : null, ErrorType = ErrorType.Checked.ToString(), }); return(result); }
/// <summary> /// template method /// </summary> protected virtual void CreatePushHistory(PushHistoryEntity pushHistoryEntity) { _pushHistoryService.Repository.GetByKey(1); _historyDetailService.Repository.GetByKey(1); }