示例#1
0
        public JsonResult Delete(int RoleId)
        {
            string UserName = "******";

            if (Session["DetailUser"] != null)
            {
                var User = Session["DetailUser"] as UserViewModel;
                UserName = User.UserName;
            }

            MenuAccessViewModel menuAccess = new MenuAccessViewModel();

            menuAccess.mRoleId  = RoleId;
            menuAccess.updateBy = UserName;

            string json        = JsonConvert.SerializeObject(menuAccess);
            var    buffer      = Encoding.UTF8.GetBytes(json);
            var    byteContent = new ByteArrayContent(buffer);

            byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            string              API_END_POINT = API_URL + "MenuAccess/DeleteMenuAccess/";
            HttpClient          client        = new HttpClient();
            HttpResponseMessage response      = client.PutAsync(API_END_POINT, byteContent).Result;
            var result = response.Content.ReadAsStringAsync().Result.ToString();

            return(Json(bool.Parse(result), JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public MenuAccessViewModel GetMenuAccessByRoleId(int id)
        {
            using (MarcommEntities db = new MarcommEntities())
            {
                var menu_accesses = (from p in db.m_menu_access
                                     where p.m_role_id.Equals(id) && !p.is_delete
                                     select new
                {
                    role_id = p.m_role_id,
                    role_code = p.m_role.code,
                    role_name = p.m_role.name,
                    menu_name = p.m_menu.name,
                    menu_id = p.m_menu_id
                }).ToList();

                MenuAccessViewModel MenuAccess = new MenuAccessViewModel();

                var availableMenus = GetAllMenus();
                foreach (var menu_access in menu_accesses)
                {
                    availableMenus.FirstOrDefault(x => x.Value.Equals(menu_access.menu_id.ToString())).Selected = true;
                }

                MenuAccess.mRoleId        = menu_accesses.FirstOrDefault().role_id;
                MenuAccess.mRoleCode      = menu_accesses.FirstOrDefault().role_code;
                MenuAccess.mRoleName      = menu_accesses.FirstOrDefault().role_name;
                MenuAccess.availableMenus = availableMenus;

                return(MenuAccess);
            }
        }
示例#3
0
        public static ResponResultViewModel Update(MenuAccessViewModel entity)
        {
            ResponResultViewModel result = new ResponResultViewModel();

            try
            {
                using (var db = new MinProContext())
                {
                    if (entity.id == 0)
                    {
                        t_menu_access ma = new t_menu_access();
                        ma.menu_id    = entity.menu_id;
                        ma.role_id    = entity.role_id;
                        ma.created_by = 1;
                        ma.created_on = DateTime.Now;

                        db.t_menu_access.Add(ma);
                        db.SaveChanges();
                        result.Entity = entity;
                    }
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
            }
            return(result);
        }
示例#4
0
        public static ResponseResult Create(MenuAccessViewModel entity)
        {
            ResponseResult result = new ResponseResult();

            using (var db = new XBC_Context())
            {
                t_menu_access ma = new t_menu_access();
                ma.role_id = entity.role_id;
                ma.menu_id = entity.menu_id;

                ma.created_by = entity.UserId;
                ma.created_on = DateTime.Now;

                db.t_menu_access.Add(ma);
                db.SaveChanges();

                var         json = new JavaScriptSerializer().Serialize(ma);
                t_audit_log log  = new t_audit_log();
                log.type        = "Insert";
                log.json_insert = json;

                log.created_by = entity.UserId;
                log.created_on = DateTime.Now;
                db.t_audit_log.Add(log);

                db.SaveChanges();

                entity.id     = ma.id;
                result.Entity = entity;
            }
            return(result);
        }
示例#5
0
        public void EditMenuAccess(MenuAccessViewModel menuAccess)
        {
            using (MarcommEntities db = new MarcommEntities())
            {
                m_menu_access menu_access = new m_menu_access();
                menu_access.m_role_id = menuAccess.mRoleId;
                menu_access.is_delete = menuAccess.isDelete;

                var menu_is_already_exist = (from p in db.m_menu_access
                                             where p.m_role_id.Equals(menu_access.m_role_id) && !p.is_delete
                                             select p).ToList();

                foreach (var menu_id in menuAccess.selectedMenus)
                {
                    if (!menu_is_already_exist.Any(x => x.m_menu_id.Equals(int.Parse(menu_id))))
                    {
                        menu_access.m_menu_id    = int.Parse(menu_id);
                        menu_access.is_delete    = false;
                        menu_access.created_by   = menuAccess.createdBy;
                        menu_access.created_date = menuAccess.createdDate;
                        db.m_menu_access.Add(menu_access);
                        db.SaveChanges();
                    }
                    else
                    {
                        menu_access                 = menu_is_already_exist.Where(x => x.m_menu_id.Equals(int.Parse(menu_id))).SingleOrDefault();
                        menu_access.is_delete       = true;
                        menu_access.updated_by      = menuAccess.updateBy;
                        menu_access.updated_date    = menuAccess.updatedDate;
                        db.Entry(menu_access).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
            }
        }
        //GET: Create
        public ActionResult Create()
        {
            ViewBag.RoleMenu = new SelectList(RoleRepo.Get(), "Id", "Name");
            ViewBag.ListMenu = new SelectList(MenuRepo.Get(), "Id", "Name");
            MenuAccessViewModel model = new MenuAccessViewModel();

            return(PartialView("_Create", model));
        }
        //GET: Edit
        public ActionResult Edit(int id)
        {
            ViewBag.RoleMenu = new SelectList(RoleRepo.Get(), "Id", "Name");
            ViewBag.ListMenu = new SelectList(MenuRepo.Get(), "Id", "Name");
            ViewBag.IdMenu   = new SelectList(MenuRepo.Get(), "Id", "Id");
            MenuAccessViewModel model = MenuAccessRepo.GetById(id);

            return(PartialView("_Edit", model));
        }
        public ActionResult Delete(MenuAccessViewModel model)
        {
            ResponseResult result = MenuAccessRepo.Delete(model);

            return(Json(new
            {
                success = result.Success,
                message = result.ErrorMessage,
                entity = result.Entity
            }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Create(MenuAccessViewModel model)
        {
            model.Create_By = User.Identity.Name;
            ResultResponse result = MenuAccessRepo.Update(model);

            return(Json(new
            {
                success = result.Success,
                entity = model,
                message = result.Message
            }, JsonRequestBehavior.AllowGet));
        }
 public bool Put(MenuAccessViewModel menuAccess)
 {
     try
     {
         service.EditMenuAccess(menuAccess);
         return(true);
     }
     catch (Exception e)
     {
         return(false);
     }
 }
示例#11
0
        public static ResultResponse Update(MenuAccessViewModel entity)
        {
            ResultResponse result = new ResultResponse();

            try
            {
                using (var db = new MarComContext())
                {
                    if (entity.Id == 0)
                    {
                        foreach (var item in entity.Menu)
                        {
                            M_Menu_Access menuaccess = new M_Menu_Access();
                            menuaccess.M_Role_Id = entity.M_Role_Id;
                            menuaccess.M_Menu_Id = item.M_Menu_Id;
                            menuaccess.Is_Delete = entity.Is_Delete;

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

                            db.M_Menu_Access.Add(menuaccess);
                        }
                        db.SaveChanges();
                    }
                    else
                    {
                        M_Menu_Access menuaccess = db.M_Menu_Access.Where(c => c.Id == entity.Id).FirstOrDefault();
                        if (menuaccess != null)
                        {
                            menuaccess.M_Role_Id = entity.M_Role_Id;
                            menuaccess.M_Menu_Id = entity.M_Menu_Id;

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

                            db.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
            }
            return(result);
        }
示例#12
0
        public void CreateMenuAccess(MenuAccessViewModel menuAccess)
        {
            using (MarcommEntities db = new MarcommEntities())
            {
                m_menu_access menu_access = new m_menu_access();
                menu_access.m_role_id    = menuAccess.mRoleId;
                menu_access.is_delete    = false;
                menu_access.created_by   = menuAccess.createdBy;
                menu_access.created_date = DateTime.Now;

                foreach (var menu_id in menuAccess.selectedMenus)
                {
                    menu_access.m_menu_id = int.Parse(menu_id);
                    db.m_menu_access.Add(menu_access);
                    db.SaveChanges();
                }
            }
        }
示例#13
0
        public void DeleteMenuAccess(MenuAccessViewModel menuAccess)
        {
            using (MarcommEntities db = new MarcommEntities())
            {
                var menu_is_already_exist = (from p in db.m_menu_access
                                             where p.m_role_id.Equals(menuAccess.mRoleId) && !p.is_delete
                                             select p).ToList();

                foreach (var menu in menu_is_already_exist)
                {
                    m_menu_access menu_access = menu;
                    menu_access.is_delete       = true;
                    menu_access.updated_by      = menuAccess.updateBy;
                    menu_access.updated_date    = DateTime.Now;
                    db.Entry(menu_access).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
        }
示例#14
0
        public static MenuAccessViewModel GetId(long id)
        {
            MenuAccessViewModel result = new MenuAccessViewModel();

            using (var db = new MinProContext())
            {
                result = (from ma in db.t_menu_access
                          select new MenuAccessViewModel
                {
                    id = ma.id,
                    menu_id = ma.id,
                    role_id = ma.role_id,
                }).FirstOrDefault();
                if (result == null)
                {
                    result = new MenuAccessViewModel();
                }
            }
            return(result);
        }
示例#15
0
        public static MenuAccessViewModel GetById(int id)
        {
            MenuAccessViewModel result = new MenuAccessViewModel();

            using (var db = new MarComContext())
            {
                result = (from ma in db.M_Menu_Access
                          join r in db.M_Role on ma.M_Role_Id equals r.Id
                          join m in db.M_Menu on ma.M_Menu_Id equals m.Id
                          where ma.Id == id
                          select new MenuAccessViewModel
                {
                    Id = ma.Id,
                    M_Menu_Id = ma.M_Menu_Id,
                    M_Role_Id = ma.M_Role_Id,
                    RoleCode = r.Code,
                    MenuName = m.Name,
                }).FirstOrDefault();
            }
            return(result);
        }
示例#16
0
        public static ResponseResult Delete(MenuAccessViewModel entity)
        {
            ResponseResult result = new ResponseResult();

            using (var db = new XBC_Context())
            {
                t_menu_access ma = db.t_menu_access.Where(o => o.id == entity.id).FirstOrDefault();
                db.t_menu_access.Remove(ma);
                if (ma != null)
                {
                    object data = new
                    {
                        ma.id,
                        ma.menu_id,
                        ma.role_id
                    };
                    var         json = new JavaScriptSerializer().Serialize(data);
                    t_audit_log log  = new t_audit_log();
                    log.type        = "DELETE";
                    log.json_before = json;

                    log.created_by = entity.UserId;
                    log.created_on = DateTime.Now;

                    var json2 = new JavaScriptSerializer().Serialize(ma);
                    log.json_after = json2;
                    db.t_audit_log.Add(log);
                    db.SaveChanges();

                    result.Entity = entity;
                }
                else
                {
                    result.Success      = false;
                    result.ErrorMessage = " not found! ";
                }
            }
            return(result);
        }
示例#17
0
        public static MenuAccessViewModel ById(long id)
        {
            MenuAccessViewModel result = new MenuAccessViewModel();

            using (var db = new XBC_Context())
            {
                result = (from ma in db.t_menu_access
                          join m in db.t_menu on ma.menu_id equals m.id
                          join r in db.t_role on ma.role_id equals r.id
                          select new MenuAccessViewModel
                {
                    id = ma.id,
                    role_id = ma.role_id,
                    menu_id = ma.menu_id,
                    menu_name = m.title,
                    role_name = r.name
                }).FirstOrDefault();
                if (result == null)
                {
                    result = new MenuAccessViewModel();
                }
            }
            return(result);
        }
示例#18
0
        public ActionResult Create(MenuAccessViewModel model)
        {
            ResponResultViewModel result = MenuAccessRepo.Update(model);

            return(Json(new { success = result.Success, message = result.Message, entity = result.Entity }, JsonRequestBehavior.AllowGet));
        }
示例#19
0
        //GET:Delete
        public ActionResult Delete(int id)
        {
            MenuAccessViewModel model = MenuAccessRepo.GetById(id);

            return(PartialView("_Delete", model));
        }
示例#20
0
 public ActionResult Delete(MenuAccessViewModel model)
 {
     return(RedirectToAction("Index"));
 }