public Result <CheckResult> Verify(ConfigedInfo appInfo, TargetInfoObject targetInfo, Result <CheckResult> result) { base.Init(result); if (targetInfo.Users == null || !targetInfo.Users.Any()) { if (result.Status == 0) { result.Status = 200; } result.Data.Success.ToUsers = new List <string>(); return(result); } if (!appInfo.AssignedUserIds.Any()) { result.Status = 99; result.Data.Error.ErrorUsers = targetInfo.Users; return(result); } //including under tag var allAssignedUsers = appInfo.AssignedUserIds; var errorUsers = targetInfo.Users.Where(targetUser => { var user = WeChatCommonService.lstUser.FirstOrDefault(x => string.Equals(x.userid, targetUser, StringComparison.CurrentCultureIgnoreCase)); return (allAssignedUsers.All( assignedUser => string.Compare(assignedUser, targetUser, StringComparison.OrdinalIgnoreCase) != 0) || user == null || user.status == 4); }).ToList(); if (errorUsers.Any()) { result.Status = 99; } else { if (result.Status == 0) { result.Status = 200; } result.Data.Success.ToUsers = targetInfo.Users; return(result); } var successUsers = targetInfo.Users.Where(x => errorUsers.All(y => x.ToUpper() != y.ToUpper())).ToList(); result.Data.Error.ErrorUsers = errorUsers; result.Data.Success.ToUsers = successUsers; return(result); }
public Result <CheckResult> Verify(ConfigedInfo appInfo, object entity, ContentType contentType) { var instance = GetPushStrategyService(contentType); if (instance == null) { throw new Exception(string.Format("Do not find out Implemented for this TokenType(type name:{0}).", contentType)); } return(instance.CheckPushRule(entity, appInfo)); }
public Result <CheckResult> Verify(ConfigedInfo appInfo, TargetInfoObject targetInfo, Result <CheckResult> result) { base.Init(result); if (targetInfo.Tags == null || !targetInfo.Tags.Any()) { if (result.Status == 0) { result.Status = 200; } return(result); } if (result.Status == 0) { result.Status = 200; } result.Data.Success.ToTags = targetInfo.Tags.ConvertTagIdToObject(); return(result); //if (!appInfo.AppInfoResult.allow_tags.tagid.Any()) //{ // result.Status = 99; // result.Data.Error.ErrorTags = targetInfo.Tags.ConvertTagIdToObject(); // return result; //} //var allAssignedTags = appInfo.AppInfoResult.allow_tags.tagid; //var errorTags = targetInfo.Tags.Where(x => !allAssignedTags.Any(y => x == y)).ToList(); //if (errorTags.Any()) //{ // result.Status = 99; //} //else //{ // if (result.Status == 0) // { // result.Status = 200; // } // result.Data.Success.ToTags = targetInfo.Tags.ConvertTagIdToObject(); // return result; //} //var successTags = targetInfo.Tags.Where(x => errorTags.Any(y => x == y)).ToList(); //result.Data.Success.ToTags = successTags.ConvertTagIdToObject(); //result.Data.Error.ErrorTags = errorTags.ConvertTagIdToObject(); //return result; }
public Result <CheckResult> CheckPushRule(object entity, ConfigedInfo appInfo) { var result = new Result <CheckResult>(); foreach (var rule in _rules) { rule.Verify(appInfo, (TargetInfoObject)entity, result); } //base.HandlerResult(result, appInfo, entity); return(result); }
public Result <CheckResult> Verify(ConfigedInfo appInfo, TargetInfoObject targetInfo, Result <CheckResult> result) { base.Init(result); if (targetInfo.Departments == null || !targetInfo.Departments.Any()) { if (result.Status == 0) { result.Status = 200; } result.Data.Success.ToDepartments = new List <Desc>(); return(result); } if (!appInfo.AssignedDepartmentIds.Any()) { result.Status = 99; result.Data.Error.ErrorDepartments = targetInfo.Departments.ConvertDepartmentIdToObject(); return(result); } var allAssignedDepartments = WeChatCommonService.GetSubDepartments(appInfo.AssignedDepartmentIds); var errorDepartments = targetInfo.Departments.Where(depart => allAssignedDepartments.All(x => x.id != depart)).ToList(); if (errorDepartments.Any()) { result.Status = 99; } else { if (result.Status == 0) { result.Status = 200; } result.Data.Success.ToDepartments = targetInfo.Departments.ConvertDepartmentIdToObject(); return(result); } var successDepartments = targetInfo.Departments.Where(x => errorDepartments.All(y => x != y)).ToList(); result.Data.Error.ErrorDepartments = errorDepartments.ConvertDepartmentIdToObject(); result.Data.Success.ToDepartments = successDepartments.ConvertDepartmentIdToObject(); return(result); }
public Result <CheckResult> CheckPushRule(object entity, ConfigedInfo appInfo) { throw new NotImplementedException(); }