Пример #1
0
        public ActionResult Edit(rs_module rs_module)
        {
            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                if (ModelState.IsValid)
                {
                    rs_module current = db.rs_module.SingleOrDefault(m => m.Name == rs_module.Name &&
                                                                     m.Controller == rs_module.Controller &&
                                                                     m.ModuleId != rs_module.ModuleId);
                    if (current != null)
                    {
                        TempData["Notification"] = NotificationHelper.Error("Module already exist.");
                    }
                    else
                    {
                        try
                        {
                            rs_module.UserUpdate = User.Identity.Name;
                            rs_module.DateUpdate = DateTime.Now;

                            db.Entry(rs_module).State = EntityState.Modified;

                            //System.Data.Objects.ObjectStateEntry stateEntry = null;
                            //if (db.ObjectStateManager.TryGetObjectStateEntry(db.CreateEntityKey("rs_module", rs_module), out stateEntry))
                            //{
                            //    // object is attached
                            //    db.rs_module.ApplyCurrentValues(rs_module);
                            //}
                            //else
                            //{
                            //    db.rs_module.Attach(rs_module);
                            //    db.ObjectStateManager.ChangeObjectState(rs_module, EntityState.Modified);
                            //}

                            db.SaveChanges();

                            Logger.Log("Edit", "Edit Module [ID:" + rs_module.ModuleId + ", Name:" + rs_module.Name + "]");

                            TempData["Notification"] = NotificationHelper.Inform("Edit Module [ID:" + rs_module.ModuleId + ", Name:" + rs_module.Name + "]");
                            return(RedirectToAction("Index"));
                        }
                        catch (Exception ex)
                        {
                            TempData["Notification"] = NotificationHelper.Error(ex.Message);
                        }
                    }
                }

                ViewBag.ParentModuleId = new SelectList(db.rs_module.Where(m => m.FlagActive == true).OrderBy(m => m.Name), "ModuleId", "Name", rs_module.ParentModuleId);
                ViewBag.UserEntry      = new SelectList(db.rs_user, "UserId", "Username", rs_module.UserEntry);
                ViewBag.UserUpdate     = new SelectList(db.rs_user, "UserId", "Username", rs_module.UserUpdate);
                return(View(rs_module));
            }
            else
            {
                return(RedirectToAction("NotAuthenticated", "Home"));
            }
        }
Пример #2
0
        //
        // GET: /Module/Delete/5

        public ActionResult Delete(int id)
        {
            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                rs_module rs_module = db.rs_module.Single(s => s.ModuleId == id);
                return(View(rs_module));
            }
            else
            {
                return(RedirectToAction("NotAuthenticated", "Home"));
            }
        }
Пример #3
0
        //
        // GET: /Module/Edit/5

        public ActionResult Edit(int id)
        {
            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                rs_module rs_module = db.rs_module.Single(s => s.ModuleId == id);
                ViewBag.ParentModuleId = new SelectList(db.rs_module.Where(m => m.FlagActive == true).OrderBy(m => m.Name), "ModuleId", "Name", rs_module.ParentModuleId);
                ViewBag.UserEntry      = new SelectList(db.rs_user, "UserId", "Username", rs_module.UserEntry);
                ViewBag.UserUpdate     = new SelectList(db.rs_user, "UserId", "Username", rs_module.UserUpdate);
                return(View(rs_module));
            }
            else
            {
                return(RedirectToAction("NotAuthenticated", "Home"));
            }
        }
Пример #4
0
        public ActionResult Create(rs_module rs_module)
        {
            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                if (ModelState.IsValid)
                {
                    rs_module current = db.rs_module.Where(m => m.Name == rs_module.Name && m.Controller == rs_module.Controller).SingleOrDefault();
                    if (current != null)
                    {
                        TempData["Notification"] = NotificationHelper.Error("Module already exist.");
                    }
                    else
                    {
                        try
                        {
                            rs_module.UserEntry = User.Identity.Name;
                            rs_module.DateEntry = DateTime.Now;

                            db.rs_module.Add(rs_module);
                            db.SaveChanges();

                            Logger.Log("Add", "New Module [Name:" + rs_module.Name + "]");

                            TempData["Notification"] = NotificationHelper.Inform("New Module [Name:" + rs_module.Name + "]");
                            return(RedirectToAction("Index"));
                        }
                        catch (Exception ex)
                        {
                            TempData["Notification"] = NotificationHelper.Error(ex.Message);
                        }
                    }
                }

                ViewBag.ParentModuleId = new SelectList(db.rs_module.Where(m => m.FlagActive == true).OrderBy(m => m.Name), "ModuleId", "Name", rs_module.ParentModuleId);
                ViewBag.UserEntry      = new SelectList(db.rs_user, "UserId", "Username", rs_module.UserEntry);
                ViewBag.UserUpdate     = new SelectList(db.rs_user, "UserId", "Username", rs_module.UserUpdate);
                return(View(rs_module));
            }
            else
            {
                return(RedirectToAction("NotAuthenticated", "Home"));
            }
        }
Пример #5
0
        public ActionResult DeleteConfirmed(int id)
        {
            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                try
                {
                    rs_module rs_module = db.rs_module.Single(s => s.ModuleId == id);
                    Logger.Log("Delete", "Delete Module [ID:" + rs_module.ModuleId + ", Name:" + rs_module.Name + "]");
                    List <rs_action> rs_action = db.rs_action.Where(m => m.ModuleId == id).ToList();
                    foreach (rs_action action in rs_action)
                    { // delete all the action within this module
                        Logger.Log("Delete", "Delete Action [ID:" + action.ActionId + ", Name:" + action.Name + "]");
                        List <rs_useracl> rs_useracl = db.rs_useracl.Where(m => m.ActionId == action.ActionId).ToList();
                        foreach (rs_useracl useracl in rs_useracl)
                        {  // delete all the acl within this module
                            Logger.Log("Delete", "Delete ACL [ID:" + useracl.UserAclId + ", Action:" + useracl.rs_action.Name + ", Module:" + useracl.rs_action.rs_module.Name + "]");
                            db.rs_useracl.Remove(useracl);
                            db.SaveChanges();
                        }
                        db.rs_action.Remove(action);
                        db.SaveChanges();
                    }

                    db.rs_module.Remove(rs_module);
                    db.SaveChanges();

                    TempData["Notification"] = NotificationHelper.Inform("Delete Module [ID:" + rs_module.ModuleId + ", Name:" + rs_module.Name + "]");
                }
                catch (Exception ex)
                {
                    TempData["Notification"] = NotificationHelper.Error(ex.Message);
                }

                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("NotAuthenticated", "Home"));
            }
        }