Example #1
0
        public async Task <ResultObject> DeleteMenu(M_Menu menu)
        {
            var resultObj = new ResultObject {
                RowAffected = -1, ObjectValue = menu
            };

            using (var context = new MasterDbContext(contextOptions))
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        MySqlParameter[] sqlParams = new MySqlParameter[] {
                            new MySqlParameter("strId", menu.Id),
                            new MySqlParameter("strDelete_By", menu.Updated_By)
                        };

                        resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_menu_delete( ?, ?)", parameters : sqlParams);

                        transaction.Commit();

                        return(resultObj);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
        }
Example #2
0
        public ActionResult Edit(M_Menu M_Menu)
        {
            var baseM_Menu = this.Entity.M_Menu.FirstOrDefault(o => o.ID == M_Menu.ID);

            if (baseM_Menu == null)
            {
                return(this.Error("数据不存在"));
            }
            baseM_Menu = this.Request.ConvertRequestToModel <M_Menu>(baseM_Menu, M_Menu);
            switch (baseM_Menu.MenuType)
            {
            case MenuType.Directory:
                baseM_Menu.Control = string.Empty;
                baseM_Menu.Method  = string.Empty;
                baseM_Menu.Url     = string.Empty;
                break;

            case MenuType.Powers:
                baseM_Menu.Url  = string.Empty;
                baseM_Menu.Icon = string.Empty;
                break;
            }
            this.Entity.SaveChanges();
            return(this.Succeed("操作成功"));
        }
Example #3
0
        public async Task <IActionResult> Edit([Bind("nameOption,controller,action,imageClass,status,isParent,parentId,area,menuseq,Id,Is_Active,Created_Date,Created_By,Updated_Date,Updated_By")] M_Menu m_Menu)
        {
            if (ModelState.IsValid)
            {
                m_Menu.Updated_By = await base.CurrentUserId();

                ResultObject resultObj;

                try
                {
                    using (var menuBll = new MenuBLL())
                    {
                        resultObj = await menuBll.UpdateMenu(m_Menu);

                        _cache.Remove("CACHE_MASTER_MENU");
                    }

                    return(Json(new { success = true, data = (M_Menu)resultObj.ObjectValue, message = "Menu Update." }));
                }
                catch (Exception ex)
                {
                    return(Json(new { success = false, data = m_Menu, message = ex.Message }));
                }
            }

            var err = ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage).ToList();

            return(Json(new { success = false, errors = err, data = m_Menu, message = "Update Failed" }));
        }
Example #4
0
        public ActionResult Add(int ParentID = 1)
        {
            var M_Menu = new M_Menu();

            M_Menu.ParentID     = ParentID;
            this.ViewBag.M_Menu = M_Menu;
            //图标文件
            string filename           = this.Server.MapPath("/Icon.json");
            string jsonstr            = System.IO.File.ReadAllText(filename);
            var    ComboboxModelList  = Newtonsoft.Json.JsonConvert.DeserializeObject <List <ComboboxModel> >(jsonstr);
            var    CustomIconListJson = Newtonsoft.Json.JsonConvert.SerializeObject(ComboboxModelList.OrderBy(o => o.group).ToList());

            this.ViewBag.CustomIconListJson = CustomIconListJson;
            return(View("Edit"));
        }
Example #5
0
        /// <summary>
        /// 根据菜单实体对象获取菜单model
        /// </summary>
        /// <param name="menu">菜单实体对象</param>
        /// <returns></returns>
        private MenuModel GetMenuModel(M_Menu m)
        {
            MenuModel model = new MenuModel();

            model.MenuId     = m.Id;
            model.MenuName   = m.MenuName;
            model.MenuCode   = m.MenuCode;
            model.MenuUrl    = m.Href;
            model.MenuFlag   = m.MenuFlag;
            model.MenuCss    = m.IconClass;
            model.ParentId   = m.ParentId;
            model.Order      = m.Order;
            model.IsPlatform = m.IsPlatform;
            return(model);
        }
Example #6
0
        public async Task <ResultObject> InsertMenu(M_Menu menu)
        {
            //newId = null;
            var resultObj = new ResultObject {
                RowAffected = -1, ObjectValue = menu
            };


            using (var context = new MasterDbContext(contextOptions))
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        MySqlParameter[] sqlParams = new MySqlParameter[] {
                            new MySqlParameter("strnameOption", menu.nameOption),
                            new MySqlParameter("strcontroller", menu.controller),
                            new MySqlParameter("straction", menu.action),
                            new MySqlParameter("strimageClass", menu.imageClass),
                            new MySqlParameter("strstatus", menu.status),
                            new MySqlParameter("strisParent", menu.isParent),
                            new MySqlParameter("strparentId", menu.parentId),
                            new MySqlParameter("strarea", menu.area),
                            new MySqlParameter("strmenuseq", menu.menuseq),
                            new MySqlParameter("strIs_Active", menu.Is_Active),
                            new MySqlParameter("strCreated_By", menu.Created_By)
                        };

                        resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_menu_insert(@`strId`, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams);

                        //new department after insert.
                        var newMenu = context.NavBarMenu.FromSql("SELECT * FROM m_menu WHERE Id = @`strId`;").ToListAsync();
                        resultObj.ObjectValue = newMenu.Result[0];

                        transaction.Commit();

                        return(resultObj);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
        }
Example #7
0
        public async Task <ResultObject> UpdateMenu(M_Menu menu)
        {
            var resultObj = new ResultObject {
                RowAffected = -1, ObjectValue = menu
            };

            using (var context = new MasterDbContext(contextOptions))
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        context.Entry(menu).State = EntityState.Modified;

                        MySqlParameter[] sqlParams = new MySqlParameter[] {
                            new MySqlParameter("strId", menu.Id),
                            new MySqlParameter("strnameOption", menu.nameOption),
                            new MySqlParameter("strcontroller", menu.controller),
                            new MySqlParameter("straction", menu.action),
                            new MySqlParameter("strimageClass", menu.imageClass),
                            new MySqlParameter("strstatus", menu.status),
                            new MySqlParameter("strisParent", menu.isParent),
                            new MySqlParameter("strparentId", menu.parentId),
                            new MySqlParameter("strarea", menu.area),
                            new MySqlParameter("strmenuseq", menu.menuseq),
                            new MySqlParameter("strIs_Active", menu.Is_Active),
                            new MySqlParameter("strCreated_By", menu.Updated_By)
                        };


                        //Output Parameter no need to define. @`strId`
                        resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_menu_update(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams);

                        transaction.Commit();

                        return(resultObj);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
        }
Example #8
0
        public ActionResult Add(M_Menu M_Menu)
        {
            M_Menu.AddTime = DateTime.Now;
            switch (M_Menu.MenuType)
            {
            case MenuType.Directory:
                M_Menu.Control = string.Empty;
                M_Menu.Method  = string.Empty;
                M_Menu.Url     = string.Empty;
                break;

            case MenuType.Powers:
                M_Menu.Url  = string.Empty;
                M_Menu.Icon = string.Empty;
                break;
            }
            this.Entity.M_Menu.Add(M_Menu);
            this.Entity.SaveChanges();
            return(this.Succeed("操作成功"));
        }
Example #9
0
        public static ResultResponse Delete(int id)
        {
            ResultResponse result = new ResultResponse();

            try
            {
                using (var db = new MarComContext())
                {
                    M_Menu menu = db.M_Menu.Where(m => m.Id == id).FirstOrDefault();
                    if (menu != null)
                    {
                        menu.Is_Delete = true;
                        db.SaveChanges();
                        result.Message = "Data Deleted ! Data menu with code " + menu.Code + " has been deleted";
                    }
                }
            }
            catch (Exception)
            {
                result.Success = false;
                result.Message = "Delete data not success";
            }
            return(result);
        }
Example #10
0
        public ActionResult TableList(M_Menu M_Menu)
        {
            List <M_Menu> Base_MenuList = this.Entity.M_Menu.AsNoTracking().OrderBy(o => o.Sort).ToList();

            return(this.ToTableJson(Base_MenuList));
        }
Example #11
0
        public static ResultResponse Update(MenuViewModel entity)
        {
            ResultResponse result = new ResultResponse();

            try
            {
                using (var db = new MarComContext())
                {
                    if (entity.Id == 0)
                    {
                        bool notExist = db.M_Menu.Any(mm => mm.Name.Equals(entity.Name));
                        if (notExist)
                        {
                            result.Success = false;
                            result.Message = "Souvenir with name " + entity.Name + " already Exist !";
                        }
                        else
                        {
                            M_Menu menu = new M_Menu();
                            menu.Code       = entity.Code;
                            menu.Name       = entity.Name;
                            menu.Controller = entity.Controller;
                            menu.Parent_Id  = entity.Parent_Id;
                            menu.Is_Delete  = entity.Is_Delete;

                            menu.Create_By   = entity.Create_By;
                            menu.Create_Date = DateTime.Now;

                            db.M_Menu.Add(menu);
                            db.SaveChanges();
                        }
                    }
                    else
                    {
                        M_Menu menu = db.M_Menu.Where(m => m.Id == entity.Id).FirstOrDefault();
                        if (menu != null)
                        {
                            bool notExist = db.M_Menu.Any(mm => mm.Name.Equals(entity.Name) && mm.Code != entity.Code);
                            if (notExist)
                            {
                                result.Success = false;
                                result.Message = "Souvenir with name " + entity.Name + " already Exist !";
                            }
                            else
                            {
                                menu.Code       = entity.Code;
                                menu.Name       = entity.Name;
                                menu.Controller = entity.Controller;
                                menu.Parent_Id  = entity.Parent_Id;

                                menu.Update_By   = entity.Update_By;
                                menu.Update_Date = DateTime.Now;

                                db.SaveChanges();
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
            }
            return(result);
        }