Exemple #1
0
        public IActionResult EditStreamNode([FromBody] StreamNodeCreateDataModel 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));
                }
            }
            // 所有的编辑都需要使用id获取,否则将不支持修改名称
            var n = applyAuditStreamServices.GetNode(model.Id);

            if (n == null)
            {
                return(new JsonResult(ActionStatusMessage.ApplyMessage.AuditStreamMessage.Node.NotExist));
            }
            // 判断新增实体的权限
            var permit = CheckPermission(auditUser, model?.Filter, model.CompanyRegion, n.RegionOnCompany);

            if (permit.Status != 0)
            {
                return(new JsonResult(permit));
            }
            // 通过ToModel将前端Filter注入到原库内
            model.Filter.ToModel <ApplyAuditStreamNodeAction>().ToApplyAuditStreamNodeAction(n);
            n.Description     = model.Description;
            n.Create          = n.Create;
            n.Name            = model.Name;
            n.RegionOnCompany = model.CompanyRegion;
            context.ApplyAuditStreamNodeActions.Update(n);
            context.SaveChanges();
            return(new JsonResult(ActionStatusMessage.Success));
        }
Exemple #2
0
        public IActionResult AddStreamNode([FromBody] StreamNodeCreateDataModel 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));
                }
            }

            var prevNode = applyAuditStreamServices.EditNode(model.Name);

            if (prevNode != null)
            {
                return(new JsonResult(ActionStatusMessage.ApplyMessage.AuditStreamMessage.Node.AlreadyExist));
            }

            var permit = CheckPermission(auditUser, model?.Filter, model.CompanyRegion, model.CompanyRegion);

            if (permit.Status != 0)
            {
                return(new JsonResult(permit));
            }

            var r = applyAuditStreamServices.NewNode(model.Filter.ToModel <BaseMembersFilter>(), model.Name, model.CompanyRegion, model.Description);

            if (DateTime.Now.Subtract(r.Create).TotalSeconds > 10)
            {
                return(new JsonResult(ActionStatusMessage.ApplyMessage.AuditStreamMessage.Node.AlreadyExist));
            }
            return(new JsonResult(ActionStatusMessage.Success));
        }