public ApplyAuditStreamSolutionRule NewSolutionRule(ApplyAuditStream solution, IMembersFilter filter, string name, string companyRegion, string description = null, int priority = 0, bool enable = false, string entityType = null) { var prev = context.ApplyAuditStreamSolutionRuleDb.Where(r => r.Name == name).FirstOrDefault(); if (prev != null) { return(prev); } var result = new ApplyAuditStreamSolutionRule() { Name = name, Description = description, Priority = priority, Enable = enable, EntityType = entityType, Create = DateTime.Now, RegionOnCompany = companyRegion, Companies = filter?.Companies, CompanyRefer = filter?.CompanyRefer, CompanyTags = filter.CompanyTags, CompanyCodeLength = filter.CompanyCodeLength, Duties = filter?.Duties, DutiesTags = filter?.DutiesTags, DutyIsMajor = filter?.DutyIsMajor ?? DutiesIsMajor.BothCanGo, AuditMembers = filter?.AuditMembers, AuditMembersCount = filter?.AuditMembersCount ?? 0, Solution = solution }; context.ApplyAuditStreamSolutionRules.Add(result); context.SaveChanges(); return(result); }
public static ApplyAuditStreamSolutionRuleDto ToSolutionRuleDtoModel(this ApplyAuditStreamSolutionRule model) { if (model == null) { return(null); } return(new ApplyAuditStreamSolutionRuleDto() { Id = model.Id, AuditMembers = (model.AuditMembers?.Length ?? 0) == 0 ? Array.Empty <string>() : model.AuditMembers?.Split("##"), AuditMembersCount = model.AuditMembersCount, Companies = (model.Companies?.Length ?? 0) == 0 ? Array.Empty <string>() : model.Companies?.Split("##"), CompanyRefer = model.CompanyRefer, CompanyTags = (model.CompanyTags?.Length ?? 0) == 0 ? Array.Empty <string>() : model.CompanyTags.Split("##"), CompanyCodeLength = (model.CompanyCodeLength?.Length ?? 0) == 0 ? Array.Empty <int>() : model.CompanyCodeLength.Split("##").Select(d => Convert.ToInt32(d)), Create = model.Create, Description = model.Description, Duties = (model.Duties?.Length ?? 0) == 0 ? Array.Empty <int>() : model.Duties?.Split("##").Select(d => Convert.ToInt32(d)), DutyTags = (model.DutiesTags?.Length ?? 0) == 0 ? Array.Empty <string>() : model.DutiesTags?.Split("##"), DutyIsMajor = model.DutyIsMajor, Enable = model.Enable, EntityType = model.EntityType, Name = model.Name, Priority = model.Priority, SolutionName = model.Solution.Name, CompanyRegion = model.RegionOnCompany }); }
public IActionResult AddStreamSolutionRule([FromBody] StreamSolutionRuleCreateDataModel model) { var auditUser = currentUserService.CurrentUser; if (model.Auth?.AuthByUserID != null && auditUser?.Id != model.Auth?.AuthByUserID) { if (model.Auth.Verify(googleAuthService, currentUserService.CurrentUser?.Id)) { auditUser = usersService.GetById(model.Auth.AuthByUserID); } else { return(new JsonResult(ActionStatusMessage.Account.Auth.AuthCode.Invalid)); } } ApplyAuditStreamSolutionRule checkExist = applyAuditStreamServices.EditSolutionRule(model.Name); if (checkExist != null) { return(new JsonResult(ActionStatusMessage.ApplyMessage.AuditStreamMessage.StreamSolutionRule.AlreadyExist)); } // 判断新增实体的权限 var result = CheckPermission(auditUser, model.Filter, model.CompanyRegion, model.CompanyRegion); if (result.Status != 0) { return(new JsonResult(result)); } ApplyAuditStream solution = applyAuditStreamServices.EditSolution(model.SolutionName); if (solution == null) { return(new JsonResult(ActionStatusMessage.ApplyMessage.AuditStreamMessage.StreamSolution.NotExist)); } // 判断所需要调用的方案的权限 result = CheckPermission(auditUser, null, solution.RegionOnCompany, solution.RegionOnCompany); if (result.Status != 0) { return(new JsonResult(result)); } var r = applyAuditStreamServices.NewSolutionRule(solution, model.Filter.ToModel <BaseMembersFilter>(), model.Name, model.CompanyRegion, model.Description, model.Priority, model.Enable, model.EntityType); return(new JsonResult(ActionStatusMessage.Success)); }
public IActionResult GetStreamSolutionRule(string name) { ApplyAuditStreamSolutionRule checkExist = null; applyAuditStreamServices.EditSolutionRule(name, (n) => { checkExist = n; return(false); }); if (checkExist == null) { return(new JsonResult(ActionStatusMessage.ApplyMessage.AuditStreamMessage.StreamSolutionRule.NotExist)); } return(new JsonResult(new StreamSolutionRuleViewModel() { Data = new StreamSolutionRuleDataModel() { Rule = checkExist.ToSolutionRuleDtoModel().ToSolutionRuleVDtoModel(usersService, companiesService) } })); }
public static ApplyAuditStreamSolutionRule ToApplyAuditStreamSolutionRule(this IMembersFilter model, ApplyAuditStreamSolutionRule raw = null) { if (model == null) { return(null); } if (raw == null) { raw = new ApplyAuditStreamSolutionRule(); } raw.AuditMembers = model.AuditMembers; raw.Companies = model.Companies; raw.CompanyCodeLength = model.CompanyCodeLength; raw.CompanyRefer = model.CompanyRefer; raw.CompanyTags = model.CompanyTags; raw.Duties = model.Duties; raw.DutiesTags = model.DutiesTags; raw.DutyIsMajor = model.DutyIsMajor; raw.RegionOnCompany = model.RegionOnCompany; return(raw); }
public IActionResult DeleteStreamSolutionRule(string name, string authByUserId, string code) { var auth = new GoogleAuthDataModel() { AuthByUserID = authByUserId, Code = code }; var auditUser = currentUserService.CurrentUser; if (auth?.AuthByUserID != null && auditUser?.Id != auth?.AuthByUserID) { if (auth.Verify(googleAuthService, currentUserService.CurrentUser?.Id)) { auditUser = usersService.GetById(auth.AuthByUserID); } else { return(new JsonResult(ActionStatusMessage.Account.Auth.AuthCode.Invalid)); } } ApplyAuditStreamSolutionRule node = applyAuditStreamServices.EditSolutionRule(name); if (node == null) { return(new JsonResult(ActionStatusMessage.ApplyMessage.AuditStreamMessage.StreamSolutionRule.NotExist)); } var result = CheckPermission(auditUser, node.ToDtoModel(), node.RegionOnCompany, node.RegionOnCompany); if (result != null && result.Status != 0) { return(new JsonResult(result)); } node.Remove(); context.ApplyAuditStreamSolutionRules.Update(node); context.SaveChanges(); return(new JsonResult(ActionStatusMessage.Success)); }