Пример #1
0
 public ActionResult AssignPermission(RoleDetailViewModel model)
 {
     if (model != null)
     {
         int RoleId = model.RoleDetail.Select(x => x.RoleId).FirstOrDefault();
         //Delete All the Roles
         //List<RoleDetailModel> _lst = _usersContext.RoleDetails.Where(z => z.RoleId == RoleId).ToList();
         List <RoleDetail> _lst = _RoleDetailService.GetRoleDetails().Where(c => c.RoleId == RoleId).ToList();
         foreach (RoleDetail roled in _lst)
         {
             _RoleDetailService.DeleteRoleDetail(roled);
         }
         //Insert All New Roles
         foreach (var modelObj in model.RoleDetail)
         {
             RoleDetailModel Roles = new RoleDetailModel();
             Roles.FormId     = modelObj.FormId;
             Roles.RoleId     = modelObj.RoleId;
             Roles.IsCreate   = modelObj.IsCreate;
             Roles.IsDelete   = modelObj.IsDelete;
             Roles.IsDownload = modelObj.IsDownload;
             Roles.IsView     = modelObj.IsView;
             Roles.IsEdit     = modelObj.IsEdit;
             Roles.IsDetail   = modelObj.IsDetail;
             Roles.CreateDate = DateTime.Now;
             // _RoleDetailService.InsertRoleDetail(Roles);
         }
     }
     return(RedirectToAction("Index", "Role"));
 }
Пример #2
0
        public HttpResponseMessage SaveroleDetail([FromBody] RoleDetailModel roledetailmodel)
        {
            string RoleDetailID = "-1";

            try
            {
                Mapper.CreateMap <CommunicationApp.Models.RoleDetailModel, CommunicationApp.Entity.RoleDetail>();
                CommunicationApp.Entity.RoleDetail roledetail = Mapper.Map <CommunicationApp.Models.RoleDetailModel, CommunicationApp.Entity.RoleDetail>(roledetailmodel);

                if (roledetail.RoleDetailID <= 0) //new
                {
                    //Insert the Country
                    _roledetailservice.InsertRoleDetail(roledetail); //Save Operation
                    //End : Insert the Customer
                }
                else
                {
                    _roledetailservice.UpdateRoleDetail(roledetail);     //Update Operation
                }
                RoleDetailID = roledetail.FormId.ToString();

                return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("success", RoleDetailID), Configuration.Formatters.JsonFormatter));
            }
            catch (Exception ex)
            {
                string ErrorMsg = ex.Message.ToString();
                ErrorLogging.LogError(ex);
                return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", RoleDetailID), Configuration.Formatters.JsonFormatter));
            }
        }
Пример #3
0
        /// <summary>
        /// Isi data dari setiap menu di MenuStrip ke tabel role_detail
        /// </summary>
        /// <param name="toolStripItemCollection">ToolStripItemCollection MenuStrip</param>
        private void PopulateMenuStrip(ToolStripItemCollection toolStripItemCollection)
        {
            foreach (var menu in toolStripItemCollection)
            {
                // Lewati menu jika bukan MenuItem (bisa saja Separator atau ComboBox)
                if (!(menu is ToolStripMenuItem))
                {
                    continue;
                }

                var menuItem = (ToolStripMenuItem)menu;

                // Lewati Menu yang mempunyai Tag ignore
                if (menuItem.TagIgnore())
                {
                    continue;
                }

                var roleDetail = new RoleDetailModel()
                {
                    role_kode   = RoleKode,
                    menu_name   = menuItem.Tag.ToString(),
                    menu_parent = menuItem.AccessibleDescription, // Menu header (parent) di MenuStrip
                    form_action = null,
                    tag         = menuItem.AccessibleName
                };

                // Simpan data Menu ke tabel role_detail
                _roleServices.Insert(roleDetail);

                PopulateMenuStrip(menuItem.DropDownItems); // Recursive method
            }
        }
Пример #4
0
        private void CheckPermission()
        {
            RoleDetailModel roleDetail = UserPermission("Category");

            TempData["View"]   = roleDetail.IsView;
            TempData["Create"] = roleDetail.IsCreate;
            TempData["Edit"]   = roleDetail.IsEdit;
            TempData["Delete"] = roleDetail.IsDelete;
            TempData["Detail"] = roleDetail.IsDetail;
        }
Пример #5
0
        private void CheckPermission()
        {
            RoleDetailModel userRole = UserPermission("forms");

            TempData["View"]   = userRole.IsView;
            TempData["Create"] = userRole.IsCreate;
            TempData["Edit"]   = userRole.IsEdit;
            TempData["Delete"] = userRole.IsDelete;
            TempData["Detail"] = userRole.IsDetail;
        }
        private void CheckPermission()
        {
            RoleDetailModel roleDetail = UserPermission("MonthlySubscription");

            TempData["View"]   = roleDetail.IsView;
            TempData["Create"] = roleDetail.IsCreate;
            TempData["Edit"]   = roleDetail.IsEdit;
            TempData["Delete"] = roleDetail.IsDelete;
            TempData["Detail"] = roleDetail.IsDetail;
        }
Пример #7
0
 public ActionResult Edit([Bind(Include = "RoleDetailID,IsCreate,IsEdit,IsView,IsDelete,IsDetail,IsDownload,CreateDate,FormId,RoleId")] RoleDetailModel roledetailmodel)
 {
     UserPermissionAction("RoleDetail", RoleAction.edit.ToString());
     CheckPermission();
     if (ModelState.IsValid)
     {
         Mapper.CreateMap <EveryWhereCars.Models.RoleDetailModel, EveryWhereCars.Entity.RoleDetail>();
         EveryWhereCars.Entity.RoleDetail roledetail = Mapper.Map <EveryWhereCars.Models.RoleDetailModel, EveryWhereCars.Entity.RoleDetail>(roledetailmodel);
         _RoleDetailService.UpdateRoleDetail(roledetail);
         return(RedirectToAction("Index"));
     }
     ViewBag.FormId = new SelectList(_FormService.GetForms(), "FormId", "FormName", roledetailmodel.FormId);
     ViewBag.RoleId = new SelectList(_RoleService.GetRoles(), "RoleId", "RoleName", roledetailmodel.RoleId);
     return(View(roledetailmodel));
 }
Пример #8
0
 public override bool InsertRoleDetail(RoleDetailModel model)
 {
     using (SqlConnection cn = new SqlConnection(this.ConnectionString))
     {
         SqlCommand cmd = new SqlCommand("proc_ADD_ROLEDETAIL", cn);
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Parameters.Add("@ID_ROLE", SqlDbType.Int).Value = model.Id;
         // cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = model.Name;
         cmd.Parameters.Add("@Detail", SqlDbType.NVarChar).Value = model.Detail;
         cmd.Parameters.Add("@STATUS", SqlDbType.Int).Value      = model.Status;
         cn.Open();
         int re = ExecuteNonQuery(cmd);
         return(re == 1);
     }
 }
 public override bool UpdateRoleDetail(RoleDetailModel model)
 {
     using (SqlConnection cn = new SqlConnection(this.ConnectionString))
     {
         SqlCommand cmd = new SqlCommand("proc_UPDATE_ROLEDETAIL", cn);
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Parameters.Add("@ID_ROLE", SqlDbType.Int).Value = model.Id;
        // cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = model.Name;
         cmd.Parameters.Add("@Detail", SqlDbType.NVarChar).Value = model.Detail;
         cmd.Parameters.Add("@STATUS", SqlDbType.Int).Value = model.Status;
         cn.Open();
         int re = ExecuteNonQuery(cmd);
         return (re == 1);
     }
 }
Пример #10
0
        /// <summary>
        /// Method yang digunakan untuk menyimpan node yang tercentang ke tabel role_detail
        /// </summary>
        /// <param name="listRoleDetail">Data RoleDetail</param>
        /// <param name="roleKode">Role kode</param>
        /// <param name="menuParent">Menu (parent/header) terpilih</param>
        /// <param name="nodes">TreeNodeCollection TreeView</param>
        private void InsertItemChecked(List <RoleDetailModel> listRoleDetail, string roleKode
                                       , string menuParent, TreeNodeCollection nodes)
        {
            // Looping node di TreeView
            foreach (TreeNode node in nodes)
            {
                // Hanya menyimpan node yang tercentang
                if (node.Checked)
                {
                    // Buat instance object NodeTag dari Tag pada node
                    var nodeTag = (NodeTag)node.Tag;

                    var roleDetail = new RoleDetailModel();
                    roleDetail.role_kode   = roleKode;
                    roleDetail.tag         = nodeTag.Tag; // menu / menuForm / action
                    roleDetail.menu_parent = menuParent;  // Menu header (parent) di MenuStrip

                    switch (roleDetail.tag)
                    {
                    case "menu":

                        roleDetail.menu_name   = node.Text; // Menu tag
                        roleDetail.form_action = null;

                        break;

                    case "menuForm":

                        roleDetail.menu_name   = nodeTag.FormAction; // Form name
                        roleDetail.form_action = null;

                        break;

                    case "action":

                        roleDetail.menu_name   = node.Text;          // Button Tag/Text
                        roleDetail.form_action = nodeTag.FormAction; // Form name

                        break;
                    }

                    // Tambahkan object RoleDetail ke list
                    listRoleDetail.Add(roleDetail);
                }

                InsertItemChecked(listRoleDetail, roleKode, menuParent, node.Nodes); // Recursive method
            }
        }
Пример #11
0
        /// <summary>
        /// Isi setiap Button yang ada di Form ke tabel role_detail
        /// </summary>
        /// <param name="form">Form target</param>
        /// <param name="formAction">FormActionModel object</param>
        /// <param name="control">Control target</param>
        private void PopulateButtonToRoleDetail(Form form, FormActionModel formAction, Control control)
        {
            foreach (Control ctrl in control.Controls)
            {
                // Kita hanya ingin memilih Control Button saja
                if (ctrl is Button)
                {
                    var button = (Button)ctrl;

                    // Lewati Button yang mempunyai Tag ignore
                    if (button.TagIgnore())
                    {
                        continue;
                    }

                    // Ambil menu_name dari Tag Button jika tersedia, sebaliknya ambil dari Text Button
                    string buttonText = button.Tag != null?button.Tag.ToString() : button.Text;

                    // Tambahkan ke kolom act baru jika Button ditemukan
                    _colActNo += 1;
                    string colActName = $"act_{_colActNo}"; // Nama property

                    // Atur property berdasarkan nama dari property
                    // cari property berdasarkan nama (contoh act_1)
                    // lalu isi value property tersebut berdasarkan tag / text dari Button
                    var propertyInfo = formAction.GetType().GetProperty(colActName);
                    propertyInfo.SetValue(formAction, Convert.ChangeType(buttonText, propertyInfo.PropertyType), null);

                    // Buat RoleDetail object
                    var roleDetail = new RoleDetailModel()
                    {
                        role_kode   = RoleKode,
                        menu_name   = buttonText,
                        menu_parent = form.AccessibleName, // Menu header (parent) di MenuStrip
                        form_action = form.Name,
                        tag         = "action"
                    };

                    // Simpan data Button ke tabel role_detail
                    _roleServices.Insert(roleDetail);
                }

                PopulateButtonToRoleDetail(form, formAction, ctrl); // Recursive method
            }
        }
Пример #12
0
        private void PopulateDetails(RoleModel role, FormCollection col)
        {
            var roleDetails = new List <RoleDetailModel>();

            foreach (var obj in ModuleHelper.ModuleList())
            {
                if (col["chkView" + obj.Key] != null)
                {
                    var roleDetail = new RoleDetailModel();
                    roleDetail.ModuleID = obj.Key;
                    roleDetail.Action   = SystemConstants.str_permission_View;

                    roleDetails.Add(roleDetail);
                }

                if (col["chkCreate" + obj.Key] != null)
                {
                    var roleDetail = new RoleDetailModel();
                    roleDetail.ModuleID = obj.Key;
                    roleDetail.Action   = SystemConstants.str_permission_Create;

                    roleDetails.Add(roleDetail);
                }

                if (col["chkEdit" + obj.Key] != null)
                {
                    var roleDetail = new RoleDetailModel();
                    roleDetail.ModuleID = obj.Key;
                    roleDetail.Action   = SystemConstants.str_permission_Edit;

                    roleDetails.Add(roleDetail);
                }

                if (col["chkApprove" + obj.Key] != null)
                {
                    var roleDetail = new RoleDetailModel();
                    roleDetail.ModuleID = obj.Key;
                    roleDetail.Action   = SystemConstants.str_permission_Approve;

                    roleDetails.Add(roleDetail);
                }
            }
            role.Details = roleDetails;
        }
Пример #13
0
        // ----------------------------------------------------------------------//

        #region >> Update Role <<

        /// <summary>
        /// Method yang digunakkan untuk mengupdate data role pada tabel role_detail
        /// sesuai dengan node yang tercentang pada TreeView
        /// </summary>
        /// <param name="roleKode">Role kode</param>
        /// <param name="menuParent">Menu (parent/header) terpilih</param>
        public void UpdateRole(string roleKode, string menuParent)
        {
            // Buat object RoleDetail yang ingin di update
            var roleDetail = new RoleDetailModel()
            {
                role_kode   = roleKode,
                menu_name   = null,
                menu_parent = menuParent, // Menu header (parent) di MenuStrip
                form_action = null,
                tag         = null
            };

            // Hapus semua data sesuai role kode dan menu parent terpilih
            _roleServices.Delete(roleDetail);

            var listRoleDetail = new List <RoleDetailModel>();

            // isi data role detail sesuai node yang di check
            InsertItemChecked(listRoleDetail, roleKode, menuParent, TreeView.Nodes);

            _roleServices.Insert(listRoleDetail);
        }
Пример #14
0
        public async Task <IActionResult> Update(string id)
        {
            var role = await _roleManager.FindByIdAsync(id);

            var alreadyMembers = new List <AppUser>();
            var toMembers      = new List <AppUser>();

            foreach (var user in _userManager.Users)
            {
                var list = await _userManager.IsInRoleAsync(user, role.Name) ? alreadyMembers : toMembers;

                list.Add(user);
            }

            var model = new RoleDetailModel {
                Role           = role,
                AlreadyMembers = alreadyMembers,
                ToMembers      = toMembers
            };

            return(View(model));
        }
        public void UserPermissionAction(string ControllerName, string ActionName, string PreviousActionName = "", string ShowMessage = "", string MessageBody = "")
        {
            RoleDetailModel roleDetail = UserPermission(ControllerName.ToLower());

            if ((ActionName.ToLower() == RoleAction.view.ToString()) && (!roleDetail.IsView)) //View Operation
            {
                if (PreviousActionName != "" && ShowMessage != "" && MessageBody != "")       //Redirect
                {
                    Response.Redirect("/AuthenticationService/" + ShowMessage + "?ShowMessage=" + ShowMessage + "&&MessageBody=" + MessageBody);
                }
                else
                {
                    //Response.Redirect("/AuthenticationService");
                    Response.Redirect("/Account/LogOn");
                    //RedirectToAction("LogOn", "Account");
                }
            }
            else if ((ActionName.ToLower() == RoleAction.create.ToString()) && (!roleDetail.IsCreate)) //Create Operation
            {
                Response.Redirect("/AuthenticationService");
            }
            else if ((ActionName.ToLower() == RoleAction.edit.ToString()) && (!roleDetail.IsEdit)) //Edit Operation
            {
                Response.Redirect("/AuthenticationService");
            }
            else if ((ActionName.ToLower() == RoleAction.delete.ToString()) && (!roleDetail.IsDelete)) //Delete Operation
            {
                Response.Redirect("/AuthenticationService");
            }
            else if ((ActionName.ToLower() == RoleAction.detail.ToString()) && (!roleDetail.IsDetail)) //Detail Operation
            {
                Response.Redirect("/AuthenticationService");
            }
            else if ((ActionName.ToLower() == RoleAction.download.ToString()) && (!roleDetail.IsDownload)) //Download Operation
            {
                Response.Redirect("/AuthenticationService");
            }
        }
        public async Task <IActionResult> OnGet(string Id)
        {
            if (string.IsNullOrEmpty(Id))
            {
                return(BadRequest());
            }

            Role selectedRole = await RoleManager.FindByIdAsync(Id);

            if (selectedRole == null)
            {
                return(NotFound());
            }

            Model = Mapper.Map(selectedRole, Model);
            IList <Claim> claims = await RoleManager.GetClaimsAsync(selectedRole);

            Model.Claims = claims.Select(c => new ClaimDTO {
                Value = c.Value, Checked = true
            }).ToList();

            return(Page());
        }
Пример #17
0
    public override RoleModel GetByIdRole(int id)
    {
        using (SqlConnection cn = new SqlConnection(this.ConnectionString))
        {
            SqlCommand cmd = new SqlCommand("proc_GET_ROLEDETAIL_BY_ID", cn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@ID", SqlDbType.Int).Value = id;
            cn.Open();
            IDataReader reader = ExecuteReader(cmd, CommandBehavior.SingleRow);
            if (reader.Read())
            {
                RoleDetailModel model = new RoleDetailModel {
                    (int)reader["Id"],
                   // reader["Name"].ToString,
                    reader["Detail"].ToString,
                    (int)reader["STATUS"]

                          };
            }
            else
                return null;
        }
    }
Пример #18
0
        public async Task <IActionResult> RoleEdit(string id)
        {
            var role = await _roleManager.FindByIdAsync(id);

            var members    = new List <User>();
            var nonmembers = new List <User>();
            var userList   = _UserManager.Users.ToList();

            foreach (var item in userList)
            {
                var list = await _UserManager.IsInRoleAsync(item, role.Name) ? members : nonmembers;

                list.Add(item);
            }
            var model = new RoleDetailModel()
            {
                Members    = members,
                Role       = role,
                NonMembers = nonmembers
            };

            return(View(model));
        }
Пример #19
0
        private void ShouldReturnErrorDuplicateUpdateRoleDetail()
        {
            var operationSecceded = false;
            var dataAccessJsonStr = string.Empty;
            var formattedJsonStr  = string.Empty;

            try
            {
                var model = new RoleDetailModel()
                {
                    role_kode   = "role",
                    menu_name   = "Master",
                    menu_parent = "Master",
                    form_action = "Tambah",
                    tag         = "Tambah",
                };

                _services.Insert(model);
                operationSecceded = true;
            }
            catch (DataAccessException ex)
            {
                operationSecceded = ex.DataAccessStatusInfo.OperationSucceeded;
                dataAccessJsonStr = JsonConvert.SerializeObject(ex.DataAccessStatusInfo);
                formattedJsonStr  = JToken.Parse(dataAccessJsonStr).ToString();
            }

            try
            {
                Assert.True(operationSecceded);
                _testOutputHelper.WriteLine("Data berhasil diubah.");
            }
            finally
            {
                _testOutputHelper.WriteLine(formattedJsonStr);
            }
        }
Пример #20
0
 public override RoleModel GetByIdRole(int id)
 {
     using (SqlConnection cn = new SqlConnection(this.ConnectionString))
     {
         SqlCommand cmd = new SqlCommand("proc_GET_ROLEDETAIL_BY_ID", cn);
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Parameters.Add("@ID", SqlDbType.Int).Value = id;
         cn.Open();
         IDataReader reader = ExecuteReader(cmd, CommandBehavior.SingleRow);
         if (reader.Read())
         {
             RoleDetailModel model = new RoleDetailModel {
                 (int)reader["Id"],
                 // reader["Name"].ToString,
                 reader["Detail"].ToString,
                 (int)reader["STATUS"]
             };
         }
         else
         {
             return(null);
         }
     }
 }
        public RoleDetailModel UserPermission(string ControllerName)
        {
            RoleDetailModel roleDetail = new RoleDetailModel();

            try
            {
                if (ExcludePublicController().Contains(ControllerName.ToLower()))
                {
                    //Set True for Each Operation
                    roleDetail.IsView     = true;
                    roleDetail.IsCreate   = true;
                    roleDetail.IsEdit     = true;
                    roleDetail.IsDelete   = true;
                    roleDetail.IsDetail   = true;
                    roleDetail.IsDownload = true;
                }
                else
                {
                    roleDetail = (Session["UserPermission"] as List <CommunicationApp.Models.RoleDetailModel>).Where(z => z.form.ControllerName.ToLower().Trim() == ControllerName.ToLower().Trim()).FirstOrDefault();
                }
            }
            catch (Exception ex)
            {
                //Set False for Each Operation
                roleDetail.IsView     = false;
                roleDetail.IsCreate   = false;
                roleDetail.IsEdit     = false;
                roleDetail.IsDelete   = false;
                roleDetail.IsDetail   = false;
                roleDetail.IsDownload = false;
                Response.Redirect("/Account/LogOn");
                string ErrorMsg = ex.Message.ToString();
                ErrorLogging.LogError(ex);
            }
            return(roleDetail);
        }
Пример #22
0
 public abstract int InsertRoleDetail(RoleDetailModel model);
Пример #23
0
        public JsonResult Edit(RoleModel model, FormCollection fc)
        {
            try
            {
                #region " [ Declaration ] "

                RoleService _service = new RoleService(this.SessionID);

                #endregion

                #region " [ Main processing ] "

                model.CreateBy   = UserID;
                model.UpdateBy   = UserID;
                model.CreateDate = DateTime.Now;
                model.UpdateDate = DateTime.Now;

                #region " [ Permision ] "

                var _lFunction   = fc["functionCode"].ToString();
                var _arrFunction = _lFunction.Split(',');
                foreach (var code in _arrFunction)
                {
                    if (code.Length == 0)
                    {
                        continue;
                    }
                    RoleDetailModel _rolePerm = new RoleDetailModel()
                    {
                        FunctionCode = code
                    };
                    if (fc["View_" + code] != null)
                    {
                        _rolePerm.View = true;
                    }
                    if (fc["Add_" + code] != null)
                    {
                        _rolePerm.Add = true;
                    }
                    if (fc["Edit_" + code] != null)
                    {
                        _rolePerm.Edit = true;
                    }
                    if (fc["Delete_" + code] != null)
                    {
                        _rolePerm.Delete = true;
                    }
                    model.Detail.Add(_rolePerm);
                }

                #endregion

                #endregion

                //Call to service
                return(this.Json(_service.Save(model), JsonRequestBehavior.AllowGet));
            }
            catch (ServiceException serviceEx)
            {
                throw serviceEx;
            }
            catch (DataAccessException accessEx)
            {
                throw accessEx;
            }
            catch (Exception ex)
            {
                throw new ControllerException(FILE_NAME, "Edit", UserID, ex);
            }
        }