Ejemplo n.º 1
0
        /// <summary>
        /// 添加按钮
        /// </summary>
        public int AddButton(ButtonEntity Button)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into tbButton([Name],[Code],[Icon],[Sort],[Description],CreateTime,CreateBy,UpdateTime,UpdateBy)");
            strSql.Append(" values ");
            strSql.Append("(@Name,@Code,@Icon,@Sort,@Description,@CreateTime,@CreateBy,@UpdateTime,@UpdateBy)");
            strSql.Append(";SELECT @@IDENTITY");   //返回插入用户的主键
            SqlParameter[] paras =
            {
                new SqlParameter("@Name",        SqlDbType.VarChar,    50),
                new SqlParameter("@Code",        SqlDbType.VarChar,    50),
                new SqlParameter("@Icon",        SqlDbType.VarChar,    50),
                new SqlParameter("@Sort",        SqlDbType.Int),
                new SqlParameter("@Description", SqlDbType.VarChar,   100),
                new SqlParameter("@CreateTime",  SqlDbType.DateTime),
                new SqlParameter("@CreateBy",    SqlDbType.NVarChar,  100),
                new SqlParameter("@UpdateTime",  SqlDbType.DateTime),
                new SqlParameter("@UpdateBy",    SqlDbType.NVarChar, 100)
            };
            paras[0].Value = Button.Name;
            paras[1].Value = Button.Code;
            paras[2].Value = Button.Icon;
            paras[3].Value = Button.Sort;
            paras[4].Value = Button.Description;
            paras[5].Value = Button.CreateTime;
            paras[6].Value = Button.CreateBy;
            paras[7].Value = Button.UpdateTime;
            paras[8].Value = Button.UpdateBy;
            return(Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.connStr, CommandType.Text, strSql.ToString(), paras)));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 同步按钮
        /// </summary>
        /// <param name="menu"></param>
        /// <param name="buttons"></param>
        /// <param name="transaction"></param>
        /// <returns></returns>
        private async Task <bool> SyncButton(MenuEntity menu, List <MenuButtonAddModel> buttons, IDbTransaction transaction)
        {
            if (menu.Type != MenuType.Route)
            {
                return(true);
            }

            var oldButtons = await _buttonRepository.QueryByMenu(menu.RouteName, transaction);

            #region ==更新以及新增按钮==

            foreach (var newBtn in buttons)
            {
                var  oldBtn = oldButtons.FirstOrDefault(m => m.Code.EqualsIgnoreCase(newBtn.Code));
                bool result;
                if (oldBtn != null)
                {
                    oldBtn.Name = newBtn.Text;
                    oldBtn.Icon = newBtn.Icon;
                    result      = await _buttonRepository.UpdateAsync(oldBtn, transaction);
                }
                else
                {
                    oldBtn = new ButtonEntity
                    {
                        MenuCode = menu.RouteName,
                        Code     = newBtn.Code.ToLower(),
                        Icon     = newBtn.Icon,
                        Name     = newBtn.Text
                    };
                    result = await _buttonRepository.UpdateAsync(oldBtn, transaction);
                }

                if (!result)
                {
                    return(false);
                }

                if (!await SyncButtonPermission(oldBtn, newBtn.Permissions, transaction))
                {
                    return(false);
                }
            }

            #endregion

            foreach (var oldBtn in oldButtons)
            {
                var isDel = !buttons.Any(m => m.Code.EqualsIgnoreCase(oldBtn.Code));
                if (isDel)
                {
                    if (!await _buttonRepository.DeleteAsync(oldBtn.Id, transaction) || !await _buttonPermissionRepository.DeleteByButton(oldBtn.Code, transaction))
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 同步按钮权限
        /// </summary>
        /// <param name="button"></param>
        /// <param name="permissions"></param>
        /// <param name="transaction"></param>
        /// <returns></returns>
        private async Task <bool> SyncButtonPermission(ButtonEntity button, List <string> permissions, IDbTransaction transaction)
        {
            //删除旧数据
            if (await _buttonPermissionRepository.DeleteByButton(button.Code, transaction))
            {
                if (permissions == null || !permissions.Any())
                {
                    return(true);
                }

                //添加新数据
                var entityList = new List <ButtonPermissionEntity>();
                permissions.ForEach(code =>
                {
                    entityList.Add(new ButtonPermissionEntity {
                        ButtonCode = button.Code, PermissionCode = code.ToLower()
                    });
                });

                if (await _buttonPermissionRepository.AddAsync(entityList, transaction))
                {
                    return(true);
                }
            }

            return(false);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// 编辑
 /// </summary>
 /// <returns></returns>
 public ActionResult EditButton()
 {
     try
     {
         int          id           = Convert.ToInt32(Request["id"]);
         string       originalName = Request["originalName"];
         UserEntity   uInfo        = ViewData["Account"] as UserEntity;
         ButtonEntity buttonEdit   = new ButtonEntity();
         buttonEdit.Id          = id;
         buttonEdit.Name        = Request["Name"];
         buttonEdit.Code        = Request["Code"];
         buttonEdit.Icon        = Request["Icon"];
         buttonEdit.Sort        = int.Parse(Request["Sort"]);
         buttonEdit.Description = Request["Description"];
         buttonEdit.UpdateBy    = uInfo.AccountName;
         buttonEdit.UpdateTime  = DateTime.Now;
         bool result = new ButtonBLL().EditButton(buttonEdit, originalName);
         if (result)
         {
             return(Content("{\"msg\":\"修改成功!\",\"success\":true}"));
         }
         else
         {
             return(Content("{\"msg\":\"修改失败!\",\"success\":false}"));
         }
     }
     catch (Exception ex)
     {
         return(Content("{\"msg\":\"修改失败," + ex.Message + "\",\"success\":false}"));
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 新增
 /// </summary>
 /// <returns></returns>
 public ActionResult AddButton()
 {
     try
     {
         UserEntity   uInfo     = ViewData["Account"] as UserEntity;
         ButtonEntity buttonAdd = new ButtonEntity();
         buttonAdd.Name        = Request["Name"];
         buttonAdd.Code        = Request["Code"];
         buttonAdd.Icon        = Request["Icon"];
         buttonAdd.Sort        = int.Parse(Request["Sort"]);
         buttonAdd.Description = Request["Description"];
         buttonAdd.CreateBy    = uInfo.AccountName;
         buttonAdd.CreateTime  = DateTime.Now;
         buttonAdd.UpdateBy    = uInfo.AccountName;
         buttonAdd.UpdateTime  = DateTime.Now;
         int buttonId = new ButtonBLL().AddButton(buttonAdd);
         if (buttonId > 0)
         {
             return(Content("{\"msg\":\"添加成功!\",\"success\":true}"));
         }
         else
         {
             return(Content("{\"msg\":\"添加失败!\",\"success\":false}"));
         }
     }
     catch (Exception ex)
     {
         return(Content("{\"msg\":\"添加失败," + ex.Message + "\",\"success\":false}"));
     }
 }
Ejemplo n.º 6
0
 /// <summary>
 /// 修改 按钮
 /// </summary>
 public bool EditButton(ButtonEntity button, string originalButtonName)
 {
     if (button.Name != originalButtonName && dal.GetButtonByButtonName(button.Name) != null)
     {
         throw new Exception("已经存在此按钮!");
     }
     return(dal.EditButton(button));
 }
Ejemplo n.º 7
0
        public Button MapButton(ButtonEntity src, SwitchEntity liveSwitch, Button dest)
        {
            var mapped = mapper.Map(src, dest);

            mapped.ButtonStates?.Sort((i, j) => i.Order - j.Order);
            SetCurrentIcon(mapped, liveSwitch?.Value ?? GetSwitchValue(mapped));
            return(mapped);
        }
Ejemplo n.º 8
0
 public event Action <int> onclick; //点击事件
 /// <summary>
 /// 初始化
 /// </summary>
 public override void OnInit()
 {
     base.OnInit();
     buttonPause  = transform.Find("button_pause").GetComponent <ButtonEntity>() ?? throw new Exception("null");
     buttonResume = transform.Find("button_resume").GetComponent <ButtonEntity>() ?? throw new Exception("null");
     buttonMenu   = transform.Find("button_menu").GetComponent <ButtonEntity>() ?? throw new Exception("null");
     gPause       = transform.Find("Pause").gameObject ?? throw new Exception("null");
     text_score   = transform.Find("text_score").GetComponent <Text>() ?? throw new Exception("null");
 }
Ejemplo n.º 9
0
        /// <summary>
        /// 添加 按钮
        /// </summary>
        public int AddButton(ButtonEntity button)
        {
            ButtonEntity roleCompare = dal.GetButtonByButtonName(button.Name);

            if (roleCompare != null)
            {
                throw new Exception("已经存在此按钮!");
            }
            return(dal.AddButton(button));
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 把DataRow行转成实体类对象
        /// </summary>
        private void DataRowToModel(ButtonEntity model, DataRow dr)
        {
            if (!DBNull.Value.Equals(dr["Id"]))
            {
                model.Id = int.Parse(dr["Id"].ToString());
            }
            if (!DBNull.Value.Equals(dr["Name"]))
            {
                model.Name = dr["Name"].ToString();
            }
            if (!DBNull.Value.Equals(dr["Code"]))
            {
                model.Code = dr["Code"].ToString();
            }
            if (!DBNull.Value.Equals(dr["Icon"]))
            {
                model.Icon = dr["Icon"].ToString();
            }
            if (!DBNull.Value.Equals(dr["Sort"]))
            {
                model.Sort = Convert.ToInt32(dr["Sort"].ToString());
            }

            if (!DBNull.Value.Equals(dr["Description"]))
            {
                model.Description = dr["Description"].ToString();
            }

            if (!DBNull.Value.Equals(dr["CreateTime"]))
            {
                model.CreateTime = Convert.ToDateTime(dr["CreateTime"]);
            }
            if (!DBNull.Value.Equals(dr["CreateBy"]))
            {
                model.CreateBy = dr["CreateBy"].ToString();
            }

            if (!DBNull.Value.Equals(dr["UpdateTime"]))
            {
                model.UpdateTime = Convert.ToDateTime(dr["UpdateTime"]);
            }
            if (!DBNull.Value.Equals(dr["UpdateBy"]))
            {
                model.UpdateBy = dr["UpdateBy"].ToString();
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 根据按钮名获取按钮
        /// </summary>
        public ButtonEntity GetButtonByButtonName(string ButtonName)
        {
            string       sql    = "select top 1 Id,Name,Code,Icon,Sort,[Description],CreateTime,CreateBy,UpdateTime,UpdateBy from tbButton where Name = @ButtonName";
            ButtonEntity Button = null;
            DataTable    dt     = SqlHelper.GetDataTable(SqlHelper.connStr, CommandType.Text, sql, new SqlParameter("@ButtonName", ButtonName));

            if (dt.Rows.Count > 0)
            {
                Button = new ButtonEntity();
                DataRowToModel(Button, dt.Rows[0]);
                return(Button);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 12
0
        public override void Start()
        {
            _game.Color = Color.FromDraw(System.Drawing.Color.FromArgb(42, 42, 42));
            _selectKey  = Key.Return;

            var btnStart   = new ButtonEntity(_game.HalfWidth, _game.HalfHeight, null, null, "Start");
            var btnOptions = new ButtonEntity(_game.HalfWidth, _game.HalfHeight, null, null, "Options");
            var btnQuit    = new ButtonEntity(_game.HalfWidth, _game.HalfHeight + 100, null, null, "Quit");

            btnStart.ClickHandler.MouseClick += button => SceneManager.LoadScene("SceneOne");

            btnQuit.ClickHandler.MouseClick += button => _game.Close();

            _selectables = new LoopList <ButtonEntity>(new List <ButtonEntity> {
                btnStart, btnOptions, btnQuit
            });

            AddMultiple(btnStart, btnQuit);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 修改 按钮
        /// </summary>
        public bool EditButton(ButtonEntity Button)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update tbButton set ");
            strSql.Append("Name=@Name,Code=@Code,Icon=@Icon,Sort=@Sort,Description=@Description,UpdateBy=@UpdateBy,UpdateTime=@UpdateTime");
            strSql.Append(" where Id=@Id");

            SqlParameter[] paras =
            {
                new SqlParameter("@Id",          SqlDbType.Int),
                new SqlParameter("@Name",        SqlDbType.VarChar,    50),
                new SqlParameter("@Code",        SqlDbType.VarChar,    50),
                new SqlParameter("@Icon",        SqlDbType.VarChar,    50),
                new SqlParameter("@Sort",        SqlDbType.Int),
                new SqlParameter("@Description", SqlDbType.VarChar,   100),
                new SqlParameter("@UpdateTime",  SqlDbType.DateTime),
                new SqlParameter("@UpdateBy",    SqlDbType.NVarChar, 100)
            };
            paras[0].Value = Button.Id;
            paras[1].Value = Button.Name;
            paras[2].Value = Button.Code;
            paras[3].Value = Button.Icon;
            paras[4].Value = Button.Sort;
            paras[5].Value = Button.Description;
            paras[6].Value = Button.UpdateTime;
            paras[7].Value = Button.UpdateBy;
            object obj = SqlHelper.ExecuteNonQuery(SqlHelper.connStr, CommandType.Text, strSql.ToString(), paras);

            if (Convert.ToInt32(obj) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 14
0
        public void Show( int pScore, float pTime )
        {
            NextLevelButton = new ButtonEntity("Next Level", Director.Instance.CurrentScene, GamePhysics.Instance, Support.TiledSpriteFromFile("Application/assets/images/button_85x56.png", 1, 3).TextureInfo, new Vector2i(0,0));
            NextLevelButton.setPosition(491, 35);
            //			NextLevelButton.addToScene(2);
            NextLevelButton.ButtonUpAction += (sender, e) => {
                NextLevelButtonReleased();
            };
            NextLevelButton.addToScene(2);
            LevelSelectButton = new ButtonEntity("LevelSelect", Director.Instance.CurrentScene, GamePhysics.Instance, Support.TiledSpriteFromFile("Application/assets/images/button_85x56.png", 1, 3).TextureInfo, new Vector2i(0,0));
            LevelSelectButton.setPosition(260, 35);
            LevelSelectButton.ButtonUpAction += (sender, e) => {
                LevelSelectButtonReleased();
            };
            LevelSelectButton.addToScene(2);
            QuitButton = new ButtonEntity("Quit", Director.Instance.CurrentScene, GamePhysics.Instance, Support.TiledSpriteFromFile("Application/assets/images/button_85x56.png", 1, 3).TextureInfo, new Vector2i(0,0));
            QuitButton.setPosition(107, 35);
            QuitButton.ButtonUpAction += (sender, e) => {
                QuitButtonReleased();
            };
            QuitButton.addToScene(2);
            this.Visible = true;
            YourScoreText.Text = pScore.ToString();
            BestScoreText.Text = pScore.ToString();

            int minutes = (int)System.Math.Floor( pTime / 60.0f );
            float seconds = pTime - (60 * minutes);
            YourTimeText.Text = minutes + ":" + seconds.ToString("00.0");
            BestTimeText.Text = minutes + ":" + seconds.ToString("00.0");
            //			AppMain.UI_INPUT_ENABLED = true;
            //			AppMain.GAMEPLAY_INPUT_ENABLED = false;

            //			Sequence sequence = new Sequence();
            //			sequence.Add( new DelayTime( 0.1f ) );
            //			sequence.Add( new CallFunc( () => Enable() ) );
            //			(Director.Instance.CurrentScene).RunAction( sequence );
        }
Ejemplo n.º 15
0
 public ButtonEntity MapButton(ButtonInput src, ButtonEntity dest)
 {
     return(mapper.Map(src, dest));
 }
Ejemplo n.º 16
0
 public ScoreTick(ButtonEntity entity, time_t pos, TickKind kind)
 {
     Entity   = entity;
     Position = pos;
     Kind     = kind;
 }
Ejemplo n.º 17
0
 public StateTick(ButtonEntity entity, time_t pos, JudgeState state)
 {
     Entity   = entity;
     Position = pos;
     State    = state;
 }
Ejemplo n.º 18
0
 public override void StayTrigger(ButtonEntity entity)
 {
     entity.SpriteRenderer.color = new Color(1, 1, 1, 1f) * (entity.Submit ? Color.red : Color.white);
 }
Ejemplo n.º 19
0
 public static IObservable <StateChange <ButtonEntity, EntityState <ButtonAttributes> > > StateAllChangesWithCurrent(this ButtonEntity entity)
 {
     return(entity.StateAllChangesWithCurrent <ButtonEntity, EntityState <ButtonAttributes>, ButtonAttributes>());
 }
Ejemplo n.º 20
0
        /// <summary>
        /// 同步按钮
        /// </summary>
        /// <param name="menu"></param>
        /// <param name="buttons"></param>
        /// <param name="uow"></param>
        /// <returns></returns>
        private async Task <bool> SyncButton(MenuEntity menu, List <MenuButtonAddModel> buttons, IUnitOfWork uow)
        {
            if (menu.Type != MenuType.Route)
            {
                return(true);
            }

            if (buttons == null)
            {
                buttons = new List <MenuButtonAddModel>();
            }

            var oldButtons = await _buttonRepository.QueryByMenu(menu.RouteName, uow);

            #region ==更新以及新增按钮==

            foreach (var newBtn in buttons)
            {
                var  oldBtn = oldButtons.FirstOrDefault(m => m.Code.EqualsIgnoreCase(newBtn.Code));
                bool result;
                if (oldBtn != null)
                {
                    oldBtn.Name = newBtn.Text;
                    oldBtn.Icon = newBtn.Icon;
                    result      = await _buttonRepository.UpdateAsync(oldBtn, uow);
                }
                else
                {
                    if (await _buttonRepository.ExistsByCode(newBtn.Code.ToLower(), uow))
                    {
                        _logger.LogError($"按钮编码{newBtn.Code}不能重复");
                        result = false;
                    }
                    else
                    {
                        oldBtn = new ButtonEntity
                        {
                            MenuCode = menu.RouteName,
                            Code     = newBtn.Code.ToLower(),
                            Icon     = newBtn.Icon,
                            Name     = newBtn.Text
                        };
                        result = await _buttonRepository.AddAsync(oldBtn, uow);
                    }
                }

                if (!result)
                {
                    return(false);
                }

                if (!await SyncButtonPermission(oldBtn, newBtn.Permissions, uow))
                {
                    return(false);
                }
            }

            #endregion

            foreach (var oldBtn in oldButtons)
            {
                var isDel = !buttons.Any(m => m.Code.EqualsIgnoreCase(oldBtn.Code));
                if (isDel)
                {
                    if (!await _buttonRepository.DeleteAsync(oldBtn.Id, uow) || !await _buttonPermissionRepository.DeleteByButton(oldBtn.Code, uow))
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }