Exemple #1
0
        public ActionResult Create(RoleModel roleModel)
        {
            if (RoleCheck(roleModel.Role))
            {
                ViewData["error"] = "The Role already exists.";
                return(View(RolePage(null)));
            }
            try
            {
                tbl_role o_role = new tbl_role();
                o_role.ID   = Guid.NewGuid();
                o_role.Name = roleModel.Role;

                o_role.Status    = true;
                o_role.Createdby = "Admin";
                o_role.Updatedby = "Admin";
                o_role.CreateTS  = DateTime.UtcNow;
                o_role.UpdateTS  = DateTime.UtcNow;
                obj.tbl_role.Add(o_role);

                foreach (var module in roleModel.lst_module)
                {
                    if (module.Value)
                    {
                        tbl_role_module role_module = new tbl_role_module();
                        role_module.ID        = Guid.NewGuid();
                        role_module.Role_ID   = o_role.ID;
                        role_module.Module_ID = module.id;
                        role_module.Status    = module.Value;
                        role_module.Createdby = "Admin";
                        role_module.Updatedby = "Admin";
                        role_module.CreateTS  = DateTime.UtcNow;
                        role_module.UpdateTS  = DateTime.UtcNow;
                        obj.tbl_role_module.Add(role_module);
                    }
                }
                obj.SaveChanges();
                ViewData["success"] = "The Role is created successfully";
                return(RedirectToAction("Index"));
            }
            catch (DbUpdateException ex)
            {
                SqlException innerException = ex.InnerException.InnerException as SqlException;
                if (innerException != null && (innerException.Number == 2627 || innerException.Number == 2601))
                {
                    ViewData["error"] = "Role already exists!";
                    return(View(RolePage(null)));
                }
                else
                {
                    throw;
                }
            }
            catch (Exception ex)
            {
                ViewData["error"] = "An error occured. Please try again!";
                return(View(RolePage(null)));
            }
        }
Exemple #2
0
        public ActionResult Edit(RoleModel roleModel)
        {
            tbl_role o_role = obj.tbl_role.Where(x => x.ID == roleModel.Role_ID).FirstOrDefault();

            if (RoleCheck(roleModel.Role) == true && o_role.Name != roleModel.Role)
            {
                ViewData["error"] = "The Role already exists.";
                return(View(RolePage(null)));
            }
            try
            {
                o_role.Name      = roleModel.Role;
                o_role.Status    = true;
                o_role.Updatedby = "Admin";
                o_role.UpdateTS  = DateTime.UtcNow;
                obj.SaveChanges();

                foreach (var module in roleModel.lst_module)
                {
                    tbl_role_module role_module = obj.tbl_role_module.Where(x => x.Role_ID == roleModel.Role_ID && x.Module_ID == module.id).FirstOrDefault();
                    if (role_module == null && module.Value == true)
                    {
                        tbl_role_module new_role = new tbl_role_module();
                        new_role.ID        = Guid.NewGuid();
                        new_role.Role_ID   = o_role.ID;
                        new_role.Module_ID = module.id;
                        new_role.Status    = module.Value;
                        new_role.Createdby = "Admin";
                        new_role.CreateTS  = DateTime.UtcNow;
                        new_role.Updatedby = "Admin";
                        new_role.UpdateTS  = DateTime.UtcNow;
                        obj.tbl_role_module.Add(new_role);
                    }
                    else if (role_module == null)
                    {
                        continue;
                    }
                    else
                    {
                        if (role_module.Status != module.Value)
                        {
                            role_module.Status    = module.Value;
                            role_module.Updatedby = "Admin";
                            role_module.UpdateTS  = DateTime.UtcNow;
                        }
                    }
                    obj.SaveChanges();
                }


                return(RedirectToAction("Index"));
            }
            //catch (DbUpdateException ex)
            //{
            //    SqlException innerException = ex.InnerException.InnerException as SqlException;
            //    if (innerException != null && (innerException.Number == 2627 || innerException.Number == 2601))
            //    {
            //        ViewData["error"] = "Role already exists!";
            //        return View(RolePage(null));
            //    }
            //    else
            //    {
            //        throw;
            //    }
            //}
            catch (Exception ex)
            {
                ViewData["error"] = "An error occured. Please try again!";
                return(View(RolePage(null)));
            }
        }