Exemplo n.º 1
0
 /// <summary>
 /// 单个或多个删除
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnDel_Click(object sender, EventArgs e)
 {
     if (dgvRoles.SelectedRows.Count > 0)
     {
         string titleMsg = "删除角色";
         if (MsgBoxHelper.MsgBoxConfirm(titleMsg, "您确定要删除选择的角色吗?会连同与角色相关的数据一并删除?") == DialogResult.Yes)
         {
             List <int> roleIds = new List <int>();
             foreach (DataGridViewRow row in dgvRoles.SelectedRows)
             {
                 RoleInfoModel roleInfo = row.DataBoundItem as RoleInfoModel;
                 roleIds.Add(roleInfo.RoleId);
             }
             bool bl = RequestStar.DeleteRoles(roleIds, 0);
             if (bl)
             {
                 MsgBoxHelper.MsgBoxShow(titleMsg, $"选择角色信息删除成功!");
                 LoadAllRoles();
             }
             else
             {
                 MsgBoxHelper.MsgErrorShow($"选择角色信息删除失败!");
                 return;
             }
         }
     }
     else
     {
         MsgBoxHelper.MsgErrorShow("请选择要删除的角色信息!");
         return;
     }
 }
Exemplo n.º 2
0
        public IHttpActionResult RoleInfo(RoleInfoModel model)
        {
            try
            {
                var SysRole = dbContext.AC_SysRoles.FirstOrDefault(p => p.Id == model.Id);
                if (SysRole != null)
                {
                    var SysRoleCode = dbContext.AC_SysRoles.Where(p => p.Code == model.Code).ToList();
                    if (SysRoleCode.Count() > 0)
                    {
                        return(JsonResultHelper.JsonResult(1000, "角色编码已存在,请重新输入!"));
                    }
                    SysRole.Name = model.RoleName;
                }
                else
                {
                    AC_SysRoles Role = new AC_SysRoles();
                    Role.Code = model.Code;
                    Role.Name = model.RoleName;
                    dbContext.AC_SysRoles.Add(Role);
                }
                dbContext.Configuration.ValidateOnSaveEnabled = false;
                dbContext.SaveChanges();
                dbContext.Configuration.ValidateOnSaveEnabled = true;

                return(JsonResultHelper.JsonResult(0, "操作成功"));
            }
            catch (Exception ex)
            {
                return(JsonResultHelper.JsonResult(1000, ex.Message));
            }
        }
Exemplo n.º 3
0
        private void dgvRoles_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            Action act = () =>
            {
                if (e.RowIndex >= 0)
                {
                    var           curCell  = dgvRoles.Rows[e.RowIndex].Cells[e.ColumnIndex];
                    string        cellVal  = curCell.FormattedValue.ToString();
                    RoleInfoModel roleInfo = dgvRoles.Rows[e.RowIndex].DataBoundItem as RoleInfoModel;
                    switch (cellVal)
                    {
                    case "修改":
                        ShowRoleInfoPage(2, roleInfo.RoleId);
                        break;

                    case "分配权限":
                        ShowRightPage(roleInfo.RoleId);
                        break;

                    case "删除":
                        DeleteRole(roleInfo);
                        break;
                    }
                }
            };

            act.TryCatch("行操作异常!");
        }
Exemplo n.º 4
0
 public RoleRelationWindow(RoleInfoModel entity, OperationAction operationAction, IUserOperationDAL userOperationDAL)
     : this(userOperationDAL)
 {
     UserAction = operationAction;
     InitData(entity);
     InitControl();
 }
Exemplo n.º 5
0
        public JsonResult DoUpdateRole()
        {
            string        roleId       = GetFormData("roleId");
            string        roleName     = GetFormData("roleName");
            string        roleDesc     = GetFormData("roleDesc");
            List <string> actionIdList = Request.Form.GetValues("chkPmBox").ToList();

            RoleInfoModel model = new RoleInfoModel();

            model.RoleId      = roleId;
            model.RoleName    = roleName;
            model.CnName      = roleName;
            model.Description = roleDesc;
            model.RoleStatus  = 0;

            string message = "";

            if (RoleInfoService.Instance.UpdateRoleAndPremission(model, actionIdList, out message))
            {
                return(SuccessedJson(message, "UserMgr_Premission", "UserMgr_Premission", "closeCurrent", "/usermgr/premission?rid=" + model.RoleId));
            }
            else
            {
                return(FailedJson(message));
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 添加角色记录
        /// </summary>
        /// <returns>DataTable</returns>
        public static bool InsertRoleInfo(RoleInfoModel model, string loginUserID, out string ID)
        {
            //SQL拼写
            StringBuilder sql = new StringBuilder();

            sql.AppendLine("INSERT INTO officedba.RoleInfo");
            sql.AppendLine("		(CompanyCD      ");
            sql.AppendLine("		,RoleName         ");
            sql.AppendLine("		,remark         ");
            sql.AppendLine("		,ModifiedUserID)        ");
            sql.AppendLine("VALUES                  ");
            sql.AppendLine("		(@CompanyCD     ");
            sql.AppendLine("		,@RoleName        ");
            sql.AppendLine("		,@remark       ");
            sql.AppendLine("		,'"+ loginUserID + "')       ");
            sql.AppendLine("set @ID= @@IDENTITY");

            //设置参数
            SqlParameter[] param = new SqlParameter[4];
            param[0] = SqlHelper.GetParameter("@CompanyCD", model.CompanyCD);
            param[1] = SqlHelper.GetParameter("@remark", model.Remark);
            param[2] = SqlHelper.GetParameter("@RoleName", model.RoleName);
            param[3] = SqlHelper.GetOutputParameter("@ID", SqlDbType.Int);
            SqlHelper.ExecuteTransSql(sql.ToString(), param);
            ID = param[3].Value.ToString();
            return(SqlHelper.Result.OprateCount > 0 ? true : false);
        }
Exemplo n.º 7
0
        /// <summary>
        /// 角色信息插入
        /// </summary>
        /// <param name="model">角色信息</param>
        /// <returns>插入成功与否</returns>
        public static bool InsertRoleInfo(RoleInfoModel model, out string ID)
        {
            ID = "0";
            //获取登陆用户ID
            string       loginUserID = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).UserID;// 待修改
            UserInfoUtil userInfo    = (UserInfoUtil)SessionUtil.Session["UserInfo"];

            //登陆日志
            try
            {
                bool         succ     = false;
                LogInfoModel logModel = InitLogInfo(model.RoleName);
                logModel.Element = ConstUtil.LOG_PROCESS_INSERT;
                succ             = RoleInfoDBHelper.InsertRoleInfo(model, loginUserID, out ID);
                if (!succ)
                {
                    logModel.Remark = ConstUtil.LOG_PROCESS_FAILED;
                }
                else
                {
                    logModel.Remark = ConstUtil.LOG_PROCESS_SUCCESS;
                }
                LogDBHelper.InsertLog(logModel);
                return(succ);
            }
            catch (Exception ex)
            {
                WriteSystemLog(userInfo, ex);
                return(false);
            }
        }
Exemplo n.º 8
0
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            bool authorize = false;

            SessionConfiguration oConfig  = new SessionConfiguration();
            AccountModel         oSession = oConfig.GetSessionInfo();

            RoleInfoModel oRole = (from obj in oSession.UserRoles where obj.Sequence == 1 select obj).FirstOrDefault();

            foreach (var role in allowedroles)
            {
                if (oRole.RoleName.Equals(role, StringComparison.OrdinalIgnoreCase))
                {
                    authorize = true;
                    break;
                }
                else
                {
                    authorize = false;
                }
            }

            if (!authorize)
            {
                actionContext.Response = new HttpResponseMessage
                {
                    StatusCode = HttpStatusCode.Forbidden,
                    Content    = new StringContent("You are unauthorized to access this page.")
                };
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// 角色信息修改
        /// </summary>
        /// <param name="model">角色信息</param>
        /// <returns>更新成功与否</returns>
        public static bool UpdateRoleInfo(RoleInfoModel model, int RoleID)
        {
            //获取登陆用户ID
            string       loginUserID = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).UserID; //带修改
            UserInfoUtil userInfo    = (UserInfoUtil)SessionUtil.Session["UserInfo"];

            //登陆日志
            try
            {
                bool         succ     = false;
                LogInfoModel logModel = InitLogInfo(model.RoleName);
                logModel.Element = ConstUtil.LOG_PROCESS_UPDATE;
                succ             = RoleInfoDBHelper.UpdateRoleInfo(model, loginUserID, RoleID);
                if (!succ)
                {
                    logModel.Remark = ConstUtil.LOG_PROCESS_FAILED;
                }
                else
                {
                    logModel.Remark = ConstUtil.LOG_PROCESS_SUCCESS;
                }
                LogDBHelper.InsertLog(logModel);
                return(succ);
            }
            catch (Exception)
            {
                return(false);

                throw;
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// 创建角色信息。
        /// </summary>
        /// <param name="roleInfo"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public bool CreateNewRole(RoleInfoModel roleInfo, out string message)
        {
            bool result = false;

            message = "成功创建角色信息";
            string sql             = @"
SELECT 
    COUNT(1) 
FROM 
    role_info
WHERE
    role_name = $role_name$
";
            ParameterCollection pc = new ParameterCollection();

            pc.Add("role_name", roleInfo.RoleName);

            if (Convert.ToInt32(ExecuteScalar(sql, pc)) > 0)
            {
                message = string.Format("操作失败,系统中存在名为【{0}】的角色信息", roleInfo.RoleName);
                return(false);
            }

            if (Create(roleInfo) > 0)
            {
                result = true;
                GetRoleDomainList(true);
            }

            return(result);
        }
Exemplo n.º 11
0
        private void InitRoleInfo()
        {
            string addText = "——";

            if (fModel.FId == 0)
            {
                txtRName.Clear();
                txtRemark.Clear();
                btnText = "新增";
            }
            else
            {
                RoleInfoModel roleInfo = RequestStar.GetRole(fModel.FId);
                if (roleInfo != null)
                {
                    txtRName.Text  = roleInfo.RoleName;
                    txtRemark.Text = roleInfo.Remark;
                    oldName        = roleInfo.RoleName;
                }
                btnText = "修改";
            }
            addText       += btnText;
            this.Text     += addText;
            btnSubmit.Text = btnText;
        }
Exemplo n.º 12
0
 private void DgRoleListSelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     foreach (RoleInfoModel item in DgRoleList.SelectedItems)
     {
         DgRoleSelectEnity = item;
         break;
     }
 }
Exemplo n.º 13
0
 public ActionResult AddRole(RoleInfoModel model)
 {
     if (ModelState.IsValid)
     {
         // 尝试注册用户
         RoleService.Create(model.RoleName, model.Description);
         return(RedirectToAction("Roles", "Account"));
     }
     return(View(model));
 }
Exemplo n.º 14
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="pc">pc</param>
        /// <returns>影响的记录行数</returns>
        public int DeleteMultiple(ParameterCollection pc)
        {
            int ret = 0;

            RoleInfoModel roleinfo = new RoleInfoModel();

            ret = DbUtil.Current.DeleteMultiple(roleinfo, pc);

            return(ret);
        }
Exemplo n.º 15
0
        /// <summary>
        /// 提交响应
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            //接收页面信息输入
            string roleName = txtRName.Text.Trim();
            string remark   = txtRemark.Text.Trim();

            //判空处理 ---角色名称
            if (string.IsNullOrEmpty(roleName))
            {
                MsgBoxHelper.MsgErrorShow("角色名称不能为空!");
                txtRName.Focus();
                return;
            }
            //角色名称存在性---add 不能是已存在  update 没有修改名称(不用判断存在性)  名称已修改的情况(要判断)
            if (fModel.FId == 0 || (!string.IsNullOrEmpty(oldName) && oldName != roleName))
            {
                if (RequestStar.ExistRoleName(roleName))
                {
                    MsgBoxHelper.MsgErrorShow("角色名称已经存在!");
                    txtRName.Focus();
                    return;
                }
            }
            //封装
            RoleInfoModel roleInfo = new RoleInfoModel()
            {
                RoleName = roleName,
                Remark   = remark,
                Creator  = fModel.UName
            };
            //调用方法(add)  (update)
            bool bl = false;

            if (fModel.FId == 0)
            {
                bl = RequestStar.AddRoleInfo(roleInfo);
            }
            else if (fModel.FId > 0)
            {
                roleInfo.RoleId = fModel.FId;
                bl = RequestStar.UpdateRoleInfo(roleInfo);
            }
            //判断结果给出提示
            if (bl)
            {
                MsgBoxHelper.MsgBoxShow($"{btnText}角色", $"角色:{roleName} 信息{btnText}成功!");
                //刷新列表页面数据
                fModel.ReLoad?.Invoke();
            }
            else
            {
                MsgBoxHelper.MsgErrorShow($"角色:{roleName} 信息{btnText}失败!");
                return;
            }
        }
Exemplo n.º 16
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="roleinfo">实体</param>
        /// <returns>影响的记录行数</returns>
        public int Update(RoleInfoModel roleinfo)
        {
            int ret = 0;

            roleinfo.ModifiedBy = SessionUtil.Current.UserId;
            roleinfo.ModifiedOn = DateTime.Now;

            ret = DbUtil.Current.Update(roleinfo);

            return(ret);
        }
Exemplo n.º 17
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="roleinfo">实体</param>
        /// <param name="pc">pc</param>
        /// <returns>影响的记录行数</returns>
        public int UpdateMultiple(RoleInfoModel roleinfo, ParameterCollection pc)
        {
            int ret = 0;

            roleinfo.ModifiedBy = SessionUtil.Current.UserId;
            roleinfo.ModifiedOn = DateTime.Now;

            ret = DbUtil.Current.UpdateMultiple(roleinfo, pc);

            return(ret);
        }
Exemplo n.º 18
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="roleid"></param>
        /// <returns>影响的记录行数</returns>
        public int Delete(string roleid)
        {
            int ret = 0;

            RoleInfoModel roleinfo = new RoleInfoModel();

            roleinfo.RoleId = roleid;

            ret = DbUtil.Current.Delete(roleinfo);

            return(ret);
        }
Exemplo n.º 19
0
 public MessageResult UpdateRoleInfo(RoleInfoModel roleInfo)
 {
     try
     {
         var result = roleBLL.UpdateRoleInfo(roleInfo);
         return(MessageResult.Success(result));
     }
     catch (Exception ex)
     {
         return(MessageResult.Fail(ex.Message));
     }
 }
Exemplo n.º 20
0
        /// <summary>
        /// 检查一个角色是否是超级管理员角色
        /// </summary>
        /// <param name="rId"></param>
        private void CheckIsAdmin(int rId)
        {
            isAdmin = false;
            RoleInfoModel roleInfo = RequestStar.GetRole(rId);

            if (roleInfo != null)
            {
                if (roleInfo.IsAdmin == 1)
                {
                    isAdmin = true;
                }
            }
        }
Exemplo n.º 21
0
        // 在此添加你的代码...

        public bool UpdateRoleAndPremission(RoleInfoModel roleInfo, List <string> roleActionList, out string message)
        {
            bool result = false;

            message = "操作失败,更新角色信息异常,请与管理员联系";

            try
            {
                BeginTransaction();

                if (Update(roleInfo) > 0)
                {
                    if (RemoveRoleAction(roleInfo.RoleId, null))
                    {
                        if (CreateRolePremissions(roleInfo.RoleId, roleActionList))
                        {
                            CommitTransaction();
                            GetRoleDomainList(true);
                            result  = true;
                            message = "成功更新角色信息";
                        }
                        else
                        {
                            RollbackTransaction();
                            result  = false;
                            message = "操作失败,更新角色权限信息异常,请与管理员联系";
                        }
                    }
                    else
                    {
                        RollbackTransaction();
                        result  = false;
                        message = "操作失败,移除角色权限信息异常,请与管理员联系";
                    }
                }
                else
                {
                    RollbackTransaction();
                    result  = false;
                    message = "操作失败,更新角色信息异常,请与管理员联系";
                }
            }
            catch (Exception ex)
            {
                RollbackTransaction();
                LogUtil.Error("更新角色信息异常", ex);
                throw ex;
            }

            return(result);
        }
Exemplo n.º 22
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(RoleInfoModel model, string rights)
        {
            int i = role_dal.Add(model); //添加角色

            if (i > 0)                   //当角色添加成功时,插入俞雨以前做的权限,防止影响其他地方
            {
                int           rid     = role_dal.GetMaxId();
                List <string> cmdlist = new List <string>();
                cmdlist.Add(string.Format("delete from rolerightrelative where roleID={0}", rid));
                cmdlist.AddRange(rights.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(s => string.Format("insert into rolerightrelative(roleID,rightID) values ({0},{1})", rid, s)));
                role_dal.Update(cmdlist);
            }
            return(i);
        }
Exemplo n.º 23
0
        /// <summary>
        /// 数据初始化
        /// </summary>
        private void InitData()
        {
            propertyList = new PropertyInfoBLL().GetAllPropertyinfo();
            rolelist     = role_bll.GetRoles(string.Empty);
            RoleInfoModel allinfo = new RoleInfoModel();

            allinfo.rid      = 0;
            allinfo.roleName = "全部";
            rolelist.Insert(0, allinfo);
            this.roleselect.DataTextField  = "roleName";
            this.roleselect.DataValueField = "rid";
            this.roleselect.DataSource     = rolelist;
            this.roleselect.DataBind();
        }
Exemplo n.º 24
0
        public ActionResult Edit(long id)
        {
            SetPrivileges();
            var           model  = _iPrivilegesService.GetPlatformRole(id);
            RoleInfoModel result = new RoleInfoModel()
            {
                ID = model.Id, RoleName = model.RoleName
            };
            var s = new Newtonsoft.Json.JsonSerializerSettings();

            s.ReferenceLoopHandling   = ReferenceLoopHandling.Ignore;
            ViewBag.RolePrivilegeInfo = Newtonsoft.Json.JsonConvert.SerializeObject(model.RolePrivilegeInfo.Select(item => new { Privilege = item.Privilege }), s);
            return(View(result));
        }
Exemplo n.º 25
0
        public void TestRoleInfoModelCreateTable()
        {
            var entity = new RoleInfoModel {
                RoleName = "RoleName", RoleDisplayName = "RoleDisplayName", CreateDateTime = DateTime.Now, Id = Guid.NewGuid().ToString(), LastUpdateDateTime = DateTime.Now
            };
            RoleInfoModel result;

            using (var session = sessions.OpenSession())
            {
                session.Save(entity);
                session.Flush();
                result = session.Get <RoleInfoModel>(entity.Id);
            }
            Assert.AreEqual(entity.RoleName, result.RoleName);
        }
Exemplo n.º 26
0
        //private const string RegisterEmail = "ODS.Email";
        //private const string QueryStringKey = "ODS.QueryString";

        public Configurations()
        {
            Exception = new ExceptionModel();

            PageTitle   = "Merachel";
            HasHeader   = true;
            HasFooter   = true;
            HasMenuBar  = true;
            IsDashBoard = false;
            ModuleName  = "New Form";
            MenuName    = "New Form";

            // Get current logon user without domain.
            string userName = string.Empty;

            if (HttpContext.Current.User.Identity.Name.IndexOf('@') > 0)
            {
                userName = HttpContext.Current.User.Identity.Name.Split('@')[0];
            }
            else
            {
                if (HttpContext.Current.User.Identity.Name.IndexOf('\\') > 0)
                {
                    userName = HttpContext.Current.User.Identity.Name.Split('\\')[1];
                }
            }

            SessionUserName = userName;

            // Get all default settings.
            this.MerachelUrl    = GetServiceUrl(); //GetScheme() + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.ApplicationPath.TrimEnd('/');
            this.MerachelWebUrl = GetWebUrl();

            JavaScriptAndCssVersion = ConfigurationManager.AppSettings["JavaScriptAndCssVersion"];
            string cookieVersion = ConfigurationManager.AppSettings["CookieVersion"];

            // Get configuration settings.
            CookieNameConfiguration = "merachel-configuration-" + cookieVersion;
            CookieValue             = "{}";

            AccountModel session = GetSessionInfo();

            if (session != null)
            {
                RoleInfoModel role = (from obj in session.UserRoles where obj.Sequence == 1 select obj).FirstOrDefault();
                RoleName = role.RoleName;
            }
        }
Exemplo n.º 27
0
        /// <summary>
        /// 根据条件获取实体集合
        /// </summary>
        /// <param name="pc">pc</param>
        /// <param name="obc">obc</param>
        /// <returns>实体</returns>
        public List <RoleInfoModel> RetrieveMultiple(ParameterCollection pc, OrderByCollection obc)
        {
            List <RoleInfoModel> roleinfos = new List <RoleInfoModel>();

            RoleInfoModel roleinfo = new RoleInfoModel();
            DataTable     dt       = DbUtil.Current.RetrieveMultiple(roleinfo, pc, obc);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                roleinfo = new RoleInfoModel();
                roleinfo.ConvertFrom(dt, i);
                roleinfos.Add(roleinfo);
            }

            return(roleinfos);
        }
Exemplo n.º 28
0
 private void InitData(RoleInfoModel entity)
 {
     InitProperty(entity);
     TxtRoleName.Text            = entity.RoleName;
     TxtRoleDisplayName.Text     = entity.RoleDisplayName;
     TxtWorkflowName.Text        = entity.WorkflowName;
     TxtWorkflowDisplayName.Text = entity.WorkflowDisplayName;
     ExistUserGroupList          = UserOperationDAL.QueryAllUserGroupByRoleId(entity.Id);
     ExistUserInfoList           = UserOperationDAL.QueryAllUserInfoByRoleId(entity.Id);
     ExistActionInfoList         = UserOperationDAL.QueryAllActionInfoByRoleId(entity.Id);
     ClearBindData();
     LvUserGroupName.ItemsSource = ExistUserGroupList.DeepCopy();
     LvUserName.ItemsSource      = ExistUserInfoList.DeepCopy();
     LvActionName.ItemsSource    = ExistActionInfoList.DeepCopy();
     LvWorkflowState.ItemsSource = UserOperationDAL.QueryAllWorkflowStateByRoleId(entity.Id);
 }
Exemplo n.º 29
0
        public ActionResult Edit(long id)
        {
            SetPrivileges();
            var           model  = _iPrivilegesService.GetPlatformRole(id);
            RoleInfoModel result = new RoleInfoModel()
            {
                ID = model.Id, RoleName = model.RoleName
            };
            var settings = new JsonSerializerSettings();

            settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
            var privilege = RoleApplication.GetPrivileges(model.Id);

            ViewBag.RolePrivilegeInfo = JsonConvert.SerializeObject(privilege.Select(item => new { Privilege = item }), settings);
            return(View(result));
        }
Exemplo n.º 30
0
        public void TestRoleInfoModelQueryAll()
        {
            var insertEntity = new RoleInfoModel {
                RoleName = "RoleName", RoleDisplayName = "RoleDisplayName", CreateDateTime = DateTime.Now, Id = Guid.NewGuid().ToString(), LastUpdateDateTime = DateTime.Now
            };

            using (var session = sessions.OpenSession())
            {
                session.Save(insertEntity);
                session.Flush();
                ICriteria crit       = session.CreateCriteria(typeof(RoleInfoModel));
                var       entityList = crit.List();
                var       resultList = session.CreateQuery("from RoleInfoModel ").List <RoleInfoModel>();
                Assert.AreEqual(entityList.Count, resultList.Count);
            }
        }
Exemplo n.º 31
0
        public void AddStateRoleByCondition(string workflowName, string stateNodeName, PartnerLinkModel partnerLink)
        {
            var workflowStateEntity = GetWorkflowStateInfoByCondition(workflowName, stateNodeName);
            var roleInfoEntity = UserOperationDAL.QueryRoleInfoByWorkflowStateId(workflowStateEntity.Id);
            if (roleInfoEntity == null)
            {
                roleInfoEntity = UserOperationDAL.QueryRoleInfoByCondition(workflowName, partnerLink.MyRole);
                if (roleInfoEntity == null)
                {
                    roleInfoEntity = new RoleInfoModel
                    {
                        CreateDateTime = DateTime.Now,
                        LastUpdateDateTime = DateTime.Now,
                        RoleDisplayName = partnerLink.MyRole,
                        RoleName = partnerLink.MyRole,
                        WorkflowName = workflowName,
                        WorkflowDisplayName = workflowName,
                    };
                    DataOperationBLL.Current.Insert(roleInfoEntity);

                }
                else
                {
                    roleInfoEntity.RoleDisplayName = partnerLink.MyRole;
                    roleInfoEntity.WorkflowDisplayName = workflowName;
                    roleInfoEntity.LastUpdateDateTime = DateTime.Now;
                    DataOperationBLL.Current.Modify(roleInfoEntity);
                }
                UserOperationDAL.AddWorkflowStateInRole(workflowStateEntity.Id, roleInfoEntity.Id);
            }
            else
            {
                roleInfoEntity.RoleName = partnerLink.MyRole;
                roleInfoEntity.WorkflowName = workflowName;
                roleInfoEntity.RoleDisplayName = partnerLink.MyRole;
                roleInfoEntity.WorkflowDisplayName = workflowName;
                roleInfoEntity.LastUpdateDateTime = DateTime.Now;
                DataOperationBLL.Current.Modify(roleInfoEntity);
            }
        }