Exemple #1
0
 public static DalRole ToDalRole(this ServiceRole role)
 {
     return(new DalRole
     {
         ID = role.ID,
         Name = role.Name,
         Priority = role.Priority
     });
 }
        public async Task <object> Invoke(ServiceRole role, params object[] args)
        {
            object preResult  = null;
            object postResult = null;
            object midResult  = null;

            // TODO: 这里需要加入 契约式的返回参数
            // 用于级联业务,例如先登陆后请求,该处的登陆应该具有:如果未登陆提示登陆的功能。
            // 也就是说需要对RenrenAsyncRespArgs进行重构,使其支持契约式的传递。
            // 需要增加对前置条件和后置角色时的处理,目前暂时不支持该功能
            // try the precondition
            if (this._preCondition != null)
            {
                preResult = await this._preCondition.Service.Invoke(ServiceRole.PreCondition, args);

                if ((preResult as IRenrenAsyncRespArgs).Status == RespStatus.Successed)
                {
                    preResult = await this.Accecpt(this._preCondition.Visitor, preResult);
                }
                else
                {
                    return(preResult);
                }
            }

            if (this._preCondition != null && (preResult as IRenrenAsyncRespArgs).Status == RespStatus.Successed)
            {
                midResult = await DoInvoke(args);
            }
            else
            {
                midResult = await DoInvoke(args);
            }

            if (this._postCondition != null)
            {
                postResult = await this._postCondition.Service.Invoke(ServiceRole.PostCondition, args);

                if ((postResult as IRenrenAsyncRespArgs).Status == RespStatus.Successed)
                {
                    postResult = await this.Accecpt(this._postCondition.Visitor, postResult);
                }
                else
                {
                    return(postResult);
                }
            }
            else
            {
                postResult = midResult;
            }

            return(postResult);
        }
Exemple #3
0
 public override void CreateRole(string roleName)
 {
     try
     {
         var newRole = new ServiceRole()
         {
             Name = roleName
         };
         userService.AddRole(newRole);
     }
     catch (Exception ex)
     {
         logger.Error(ex);
     }
 }
Exemple #4
0
        //public enum ServiceClaimRight
        //{
        //    Save,
        //    Go,
        //    Close
        //}

        //private Claim cliam4check;

        //private void LoadClaim4Check()
        //{
        //    if (cliam4check == null || cliam4check.Id == 0)cliam4check = new Claim(Id, loadObject: false);
        //}

        private bool UserIsCurrentClaimRole(ServiceRole role, bool roleOrSpecialist = false)
        {
            if (IsNullOrEmpty(CurUserAdSid)) return false;
            bool result = false;

            var cl = new Claim(Id, loadObject: false);
            //LoadClaim4Check();

            if (role == ServiceRole.CurTech)
            {
                return (roleOrSpecialist && cl.SpecialistSid == CurUserAdSid) || cl.CurTechSid == CurUserAdSid;
            }
            else if (role == ServiceRole.CurAdmin)
            {
                return (roleOrSpecialist && cl.SpecialistSid == CurUserAdSid) || cl.CurAdminSid == CurUserAdSid;
            }
            else if (role == ServiceRole.CurManager)
            {
                return (roleOrSpecialist && cl.SpecialistSid == CurUserAdSid) || cl.CurManagerSid == CurUserAdSid;
            }
            else if (role == ServiceRole.CurEngeneer)
            {
                return (roleOrSpecialist && cl.SpecialistSid == CurUserAdSid) || cl.CurEngeneerSid == CurUserAdSid;
            }
            else if (role == ServiceRole.CurEngeneer)
            {
                return (roleOrSpecialist && cl.SpecialistSid == CurUserAdSid) || cl.SpecialistSid == CurUserAdSid;
            }
            else if (role == ServiceRole.CurSpecialist)
            {
                return cl.SpecialistSid == CurUserAdSid;
            }

            return result;
        }
Exemple #5
0
        public void SendNote(string subject, string text, ServiceRole[] to)
        {
            //Замена по маске
            subject = subject.Replace("%ID%", Id.ToString());

            text = text.Replace("%ID%", Id.ToString());
            string link = $"{ConfigurationManager.AppSettings["ServiceUrl"]}/Claim/Index/{Id}";
            text = text.Replace("%LINK%", $@"<p><a href=""{link}"">{link}</a></p>");

            SendMailTo(text, subject, to);
        }
Exemple #6
0
 public void AddRole(ServiceRole role)
 {
     unit.Roles.Create(role.ToDalRole());
     unit.Save();
 }
 public Task <object> Invoke(ServiceRole role, params object[] args)
 {
     throw new NotImplementedException();
 }
 public Task <object> Invoke(ServiceRole role, params object[] args)
 {
     return((this._target as IService).Invoke(role, args));
 }