コード例 #1
0
        public static async Task ClientOnReactionAdded(Cacheable <IUserMessage, ulong> arg1, ISocketMessageChannel arg2, SocketReaction arg3)
        {
            // Get the message that was reacted to
            var msg = await arg1.DownloadAsync();

            // Ignore the reaction if the message wasn't posted by a bot
            if (msg.Source != MessageSource.Bot)
            {
                return;
            }

            // Verify permissions - must be in this role for reactions to be parsed
            if (!((SocketGuildUser)msg.Author).IsInRole("RoleBasedReactions"))
            {
                return;
            }

            // Do we recognise the emote/emoji?
            var translated = "";

            if (TranslateEmoji.ContainsKey(arg3.Emote.Name))
            {
                translated = TranslateEmoji[arg3.Emote.Name];
            }
            else
            {
                Console.WriteLine($"Unrecognised reaction: {arg3.Emote.Name}");
                return;
            }

            // Sanity check - make sure there is an embed in the message, that it has fields and found a match
            if (msg.Embeds.Count == 0 ||
                msg.Embeds.First().Fields.Length == 0 ||
                msg.Embeds.First().Fields.All(f => f.Name.Contains(translated) == false))
            {
                return;
            }


            var matchingField = msg.Embeds.First().Fields.FirstOrDefault(f => f.Name.Contains(translated));

            // Sanity check - make sure there's an @ in the field name, so that we can split on it.
            // This is added by the embed builder so it should be there, but check just in case someone borks something.
            if (!matchingField.Name.Contains("@"))
            {
                return;
            }

            var roleToAdd = matchingField.Name.Split("@")[1];
            var addResult = await RoleHelper.AddRole(roleToAdd, ((SocketTextChannel)msg.Channel).Guild,
                                                     (SocketGuildUser)arg3.User.Value);

            if (addResult.Success == false)
            {
                Console.WriteLine($"Failed to add role.. {addResult.Message}");
            }
        }
コード例 #2
0
 public ActionResult Create(RoleModel roleModel)
 {
     if (ModelState.IsValid)
     {
         roleModel.CreatedDate = DateTime.Now;
         int result = roleHelper.AddRole(roleModel);
         if (result > 0)
         {
             return(RedirectToAction("index", "role", new { area = "admin" }));
         }
     }
     return(View(roleModel));
 }
コード例 #3
0
ファイル: Roles.cs プロジェクト: damoOnly/e-commerce
        protected void btnSubmitRoles_Click(object sender, System.EventArgs e)
        {
            string text        = Globals.HtmlEncode(this.txtAddRoleName.Text.Trim()).Replace(",", "");
            string description = Globals.HtmlEncode(this.txtRoleDesc.Text.Trim());

            if (string.IsNullOrEmpty(text) || text.Length > 60)
            {
                this.ShowMsg("部门名称不能为空,长度限制在60个字符以内", false);
                return;
            }
            if (RoleHelper.RoleExists(text))
            {
                this.ShowMsg("已经存在相同的部门名称", false);
                return;
            }
            RoleHelper.AddRole(text);
            RoleInfo role = RoleHelper.GetRole(text);

            role.Name        = text;
            role.Description = description;
            ValidationResults validationResults = Validation.Validate <RoleInfo>(role, new string[]
            {
                "ValRoleInfo"
            });
            string text2 = string.Empty;

            if (!validationResults.IsValid)
            {
                foreach (ValidationResult current in (System.Collections.Generic.IEnumerable <ValidationResult>)validationResults)
                {
                    text2 += Formatter.FormatErrorMessage(current.Message);
                }
                this.ShowMsg(text2, false);
                return;
            }
            RoleHelper.UpdateRole(role);
            this.BindUserGroup();
            this.ShowMsg("成功添加了一个部门", true);
        }
コード例 #4
0
ファイル: Roles.aspx.cs プロジェクト: yuelinsoft/himedi
        protected void btnSubmitRoles_Click(object sender, EventArgs e)
        {
            string str  = Globals.HtmlEncode(txtAddRoleName.Text.Trim());
            string str2 = Globals.HtmlEncode(txtRoleDesc.Text.Trim());

            if (string.IsNullOrEmpty(str) || (str.Length > 60))
            {
                ShowMsg("部门名称不能为空,长度限制在60个字符以内", false);
            }
            else if (!RoleHelper.RoleExists(str))
            {
                RoleHelper.AddRole(str);
                RoleInfo role = RoleHelper.GetRole(str);
                role.Name        = str;
                role.Description = str2;
                ValidationResults results = Hishop.Components.Validation.Validation.Validate <RoleInfo>(role, new string[] { "ValRoleInfo" });
                string            msg     = string.Empty;
                if (!results.IsValid)
                {
                    foreach (ValidationResult result in (IEnumerable <ValidationResult>)results)
                    {
                        msg = msg + Formatter.FormatErrorMessage(result.Message);
                    }
                    ShowMsg(msg, false);
                }
                else
                {
                    RoleHelper.UpdateRole(role);
                    BindUserGroup();
                    ShowMsg("成功添加了一个部门", true);
                }
            }
            else
            {
                ShowMsg("已经存在相同的部门名称", false);
            }
        }
コード例 #5
0
        private async void AddRole()
        {
            var name   = NameEntry.Text;
            var access = Picker.SelectedIndex;

            if (name == "" || access == -1)
            {
                await DisplayAlert("Error", "Not all values set", "OK");

                return;
            }

            var role = new Role
            {
                Name            = name,
                PriviledgeLevel = access,
                Id    = Guid.NewGuid().ToString(),
                Color = AppState.RoleColor.colorName
            };

            RoleHelper.AddRole(role);

            await Navigation.PopModalAsync();
        }
コード例 #6
0
ファイル: ROLEEdit.aspx.cs プロジェクト: sx81128/AppInOneBPM
    protected void btnOK_Click(object sender, EventArgs e)
    {
        try
        {
            SYS_ROLE valObj = new SYS_ROLE();


            if (txtROLE_ID.Value != "")
            {
                valObj.ROLE_ID = Convert.ToInt32(txtROLE_ID.Value);
            }

            valObj.ROLE_NAME = Convert.ToString(txtROLE_NAME.Value);

            //valObj.CREATER = Convert.ToString(txtCREATER.Value);

            valObj.SNAME = Convert.ToString(txtSNAME.Value);


            valObj.RNAME = Convert.ToString(txtRNAME.Value);
            if (keyid != "")
            {
                valObj.ROLE_ID = Convert.ToInt32(keyid);

                count = RoleHelper.EditRole(valObj);// BLLTable<SYS_ROLE>.Factory(conn).Update(valObj, SYS_ROLE.Attribute.ROLE_ID);
            }
            else
            {
                valObj.CREATIME = DateTime.Now;
                keyid           = RoleHelper.AddRole(valObj, pid);
                count           = keyid == "" ? 0 : 1;// BLLTable<SYS_ROLE>.Factory(conn).Insert(valObj, SYS_ROLE.Attribute.ROLE_ID);
            }
            if (count > 0)
            {
                StringBuilder        sbData = new StringBuilder("({valObj:''");
                List <AttributeItem> lstCol = valObj.af_AttributeItemList;
                for (int i = 0; i < lstCol.Count; i++)
                {
                    object val = valObj.GetValue(lstCol[i]);
                    if (val != null)
                    {
                        if (lstCol[i] == SYS_ROLE.Attribute.CREATIME)
                        {
                            continue;
                        }
                        sbData.Append(",").Append(lstCol[i].FieldName).Append(":'").Append(val.ToString()).Append("'");
                    }
                }
                sbData.Append("})");

                string re = "re";
                if (pid != "")
                {
                    re = "ROLEManage.aspx?PID=" + pid;
                }

                Button btn = (Button)sender;
                if (btn.ID == "btnOK")
                {
                    if (ViewState["hadSave"] == null)
                    {
                        ScriptManager.RegisterStartupScript(Page, this.GetType(), "goto", "if (window.opener){window.opener.returnValue = '" + re + "';}else{window.returnValue = '" + re + "';}window.close();", true);
                    }
                    else
                    {
                        ScriptManager.RegisterStartupScript(Page, this.GetType(), "goto", "if (window.opener){window.opener.returnValue = '" + re + "';}else{window.returnValue = '" + re + "';}window.close();", true);
                    }
                }
                else
                {
                    txtROLE_NAME.Value   = "";
                    txtCREATER.Value     = "";
                    ViewState["hadSave"] = 1;
                }
            }
        }
        catch (Exception ex)
        {
            lbInfo.Text = ex.Message;
        }
    }