//[ProjectCustomFilter(UserPermissions.QuyenXem)]
        public ActionResult Index()
        {
            var roleManager = HttpContext.GetOwinContext().Get <ApplicationRoleManager>();
            var lstAllRoles = new List <ApplicationRole>();

            lstAllRoles = roleManager.GetListRoleByUnitIdAndType(SysBaseInfor.GetCurrentUnitCode().ToLower() + SysBaseInfor.SignProject, SysBaseInfor.GetCurrentUnitId().ToInt32(), 2);
            ViewBag.SelectLstAllRoles = new MultiSelectList(lstAllRoles, "ID", "Name");
            return(View());
        }
 public JsonResult GetListRole()
 {
     try
     {
         var lstResult = RoleManager.GetListRole(SysBaseInfor.GetCurrentUnitCode().ToLower() + SysBaseInfor.SignProject);
         return(Json(lstResult));
     }
     catch (Exception ex)
     {
         return(Json(ex.Message));
     }
 }
        public async Task <JsonResult> Edit([Bind(Include = "Name,Id")] RoleViewModel roleModel)
        {
            if (ModelState.IsValid)
            {
                var role = await RoleManager.FindByIdAsync(roleModel.Id);

                role.Name = roleModel.Name + "_" + SysBaseInfor.GetCurrentUnitCode().ToLower() + SysBaseInfor.SignProject;
                await RoleManager.UpdateAsync(role);

                return(Json("Success"));
            }
            return(Json("Có lỗi xảy ra, vui lòng thử lại"));
        }
        public async Task <JsonResult> Register(RegisterViewModel model)
        {
            var roleManager = HttpContext.GetOwinContext().Get <ApplicationRoleManager>();

            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.UserName, Email = model.Email, DisplayName = model.DisplayName
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    //var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    //await UserManager.SendEmailAsync(user.Id, "Kích hoạt tài khoản", "Để kích hoạt tài khoản,vui lòng bấm vào đường dẫn <a href=\"" + callbackUrl + "\">link</a>");

                    user.Type     = 2;
                    user.UnitId   = SysBaseInfor.GetCurrentUnitId().ToInt32();
                    user.UnitName = SysBaseInfor.GetCurrentUnitCode().ToLower();
                    var resultActive = UserManager.SetLockoutEnabled(user.Id, false);
                    if (resultActive.Succeeded)
                    {
                        var roleForUserName = user.UserName + "_" + SysBaseInfor.GetCurrentUnitCode().ToLower() + SysBaseInfor.SignProject;
                        var roleForUser     = roleManager.FindByName(roleForUserName);
                        if (roleForUser == null)
                        {
                            roleForUser          = new ApplicationRole(roleForUserName);
                            roleForUser.RoleType = 3;
                            roleForUser.UnitId   = SysBaseInfor.GetCurrentUnitId().ToInt32();
                            var roleResult = roleManager.Create(roleForUser);
                            if (roleResult.Succeeded)
                            {
                                UserManager.AddToRole(user.Id, roleForUserName);
                                return(Json("Success"));
                            }
                        }
                    }
                    else
                    {
                        return(Json(resultActive.Errors.FirstOrDefault()));
                    }
                }
                return(Json(result.Errors.FirstOrDefault()));
            }
            return(Json("Không thể tạo người dùng"));
        }
        private bool Create(string username, string displayname, string password, string roleId)
        {
            var roleManager = HttpContext.GetOwinContext().Get <ApplicationRoleManager>();

            if (ModelState.IsValid)
            {
                var user = new ApplicationUser
                {
                    UserName    = username,
                    DisplayName = displayname
                };
                var result = UserManager.Create(user, password);
                if (result.Succeeded)
                {
                    user.Type     = 2;
                    user.UnitId   = SysBaseInfor.GetCurrentUnitId().ToInt32();
                    user.UnitName = SysBaseInfor.GetCurrentUnitCode().ToLower();
                    try { user.TypeInfo = int.Parse(DBLibs.ExecuteScalar($"SELECT TOP 1 id FROM GiaoVien WHERE magv = N'{username.Replace("'", "''")}'", _cnn).ToString()); }
                    catch { }
                    var resultActive = UserManager.SetLockoutEnabled(user.Id, false);
                    if (resultActive.Succeeded)
                    {
                        try
                        {
                            var sql = $@"
                            INSERT INTO dbo.AspNetUserRoles
                            ( UserId, RoleId )
                            VALUES
                            (
	                            N'{user.Id}', -- UserId - nvarchar(128)
	                            N'{roleId}'  -- RoleId - nvarchar(128)
                            )";
                            DBLibs.ExecuteNonQuery(sql, _cnn);
                        }
                        catch { }
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                return(false);
            }
            return(false);
        }
        public async Task <ActionResult> Edit(string roleId)
        {
            if (roleId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var role = await RoleManager.FindByIdAsync(roleId);

            if (role == null)
            {
                return(HttpNotFound());
            }
            RoleViewModel roleModel = new RoleViewModel {
                Id = role.Id, Name = role.Name.Replace("_" + SysBaseInfor.GetCurrentUnitCode().ToLower() + SysBaseInfor.SignProject, ""), roleType = role.RoleType, unitId = role.UnitId
            };

            return(PartialView("~/Views/Users/EditRole.cshtml", roleModel));
        }
        //[ProjectCustomFilter(UserPermissions.QuyenXem)]
        public ActionResult Index()
        {
            var roleManager = HttpContext.GetOwinContext().Get <ApplicationRoleManager>();

            if (SysBaseInfor.GetCurrentUserName().ToLower() == SysBaseInfor.SuperAdmin)
            {
                //var lstRoles = roleManager.Roles;
                //ViewBag.SelectLstRoles = new SelectList(lstRoles, "ID", "Name", "RoleType", 0);
                var sql = "SELECT * FROM AspNetRoles ORDER BY RoleType";
                ViewBag.SelectLstRoles = DBLibs.GetDataBy_DataAdapter(sql, _cnn);
            }
            else
            {
                var lstRoles = roleManager.GetListRoleByUnitId(SysBaseInfor.GetCurrentUnitCode().ToLower() + SysBaseInfor.SignProject, SysBaseInfor.GetCurrentUnitId().ToInt32());
                ViewBag.SelectLstRoles = new SelectList(lstRoles, "ID", "Name", "RoleType", 0);
            }
            return(View());
        }
        public async Task <JsonResult> Create(RoleViewModel roleViewModel)
        {
            if (ModelState.IsValid)
            {
                var sign = "_" + SysBaseInfor.GetCurrentUnitCode().ToLower() + SysBaseInfor.SignProject;
                var role = new ApplicationRole(roleViewModel.Name + sign);
                role.RoleType = 2;
                role.UnitId   = SysBaseInfor.GetCurrentUnitId().ToInt32();
                var roleresult = await RoleManager.CreateAsync(role);

                if (!roleresult.Succeeded)
                {
                    ModelState.AddModelError("", roleresult.Errors.First());
                    return(Json("Có lỗi xảy ra, vui lòng thử lại"));
                }
                return(Json("Success"));
            }
            return(Json("Có lỗi xảy ra, vui lòng thử lại"));
        }
        public async Task <ActionResult> DetailsUser(string userId)
        {
            if (userId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();
            var roleManager = HttpContext.GetOwinContext().Get <ApplicationRoleManager>();

            var lstRoles = new List <ApplicationRole>();

            lstRoles = roleManager.GetListRoleByUnitIdAndType(SysBaseInfor.GetCurrentUnitCode().ToLower() + SysBaseInfor.SignProject, SysBaseInfor.GetCurrentUnitId().ToInt32(), 2);
            var user = await userManager.FindByIdAsync(userId);

            var tmpLstUserRole = new List <string>();

            foreach (var item in user.Roles)
            {
                tmpLstUserRole.Add(item.RoleId);
            }
            ViewBag.SelectLstRoles = new MultiSelectList(lstRoles, "ID", "Name", tmpLstUserRole);
            return(PartialView(user));
        }
        public async Task <ActionResult> Details(string roleId)
        {
            if (roleId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var userManager = System.Web.HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>();
            int unitId      = SysBaseInfor.GetCurrentUnitId().ToInt32();
            var usersInUnit = userManager.Users.Where(x => x.UnitId == unitId && x.Type != 0 && x.Type != 1);

            ViewBag.lstAllUser = new SelectList(usersInUnit.ToList(), "Id", "UserName");
            var role = await RoleManager.FindByIdAsync(roleId);

            RoleViewModel roleModel = new RoleViewModel();

            roleModel.Id = role.Id;
            var sign = "_" + SysBaseInfor.GetCurrentUnitCode().ToLower() + SysBaseInfor.SignProject;

            roleModel.Name     = role.Name.Replace(sign, "");
            roleModel.unitId   = role.UnitId;
            roleModel.roleType = role.RoleType;
            return(PartialView(roleModel));
        }
        public ActionResult GetRoleAccessRight(string roleId, int?isPopup)
        {
            try
            {
                if (!String.IsNullOrEmpty(roleId))
                {
                    var roleManager = HttpContext.GetOwinContext().Get <ApplicationRoleManager>();
                    ViewBag.NhomNguoiDungKey  = roleId;
                    ViewBag.NhomNguoiDungName = roleManager.FindById(roleId).Name.Replace("_" + SysBaseInfor.GetCurrentUnitCode().ToLower() + SysBaseInfor.SignProject, "");
                    var model = CreateTreeData();
                    SYS_MENU_ROLE_CTRL smrCtrl = new SYS_MENU_ROLE_CTRL();
                    var nhomNguoiDungLstRoles  = smrCtrl.GetListItemsHaveWhere(String.Format("ID_ROLE = '{0}'", roleId));
                    foreach (SYS_MENU_ROLE tmpSmr in nhomNguoiDungLstRoles)
                    {
                        JsTreeModel tmpNode = FindNodeInTree(model, tmpSmr.ID_SYS_MENU);

                        if (tmpNode != null && (tmpNode.children == null || tmpNode.children.Count == 0))
                        {
                            tmpNode.data = new
                            {
                                quyenXem     = (tmpSmr.ACCESS_RIGHT[0] == '1') ? true : false,
                                quyenThemMoi = (tmpSmr.ACCESS_RIGHT[1] == '1') ? true : false,
                                quyenSua     = (tmpSmr.ACCESS_RIGHT[2] == '1') ? true : false,
                                quyenXoa     = (tmpSmr.ACCESS_RIGHT[3] == '1') ? true : false,
                                quyenChuyen  = (tmpSmr.ACCESS_RIGHT[4] == '1') ? true : false,
                                quyenDuyet   = (tmpSmr.ACCESS_RIGHT[5] == '1') ? true : false,
                                quyenXuatBan = (tmpSmr.ACCESS_RIGHT[6] == '1') ? true : false
                            };
                            tmpNode.state = new { opened = true, @checked = true };
                        }
                    }
                    if (isPopup > 0)
                    {
                        return(PartialView("~/Views/SysMenuManage/_ModalTreeRightSelect.cshtml", model));
                    }
                    else
                    {
                        return(PartialView("~/Views/SysMenuManage/_TreeRightSelect.cshtml", model));
                    }
                }
                return(PartialView(blankViewUrl));
            }
            catch (Exception ex)
            {
                return(PartialView(blankViewUrl));
            }
        }
Example #12
0
        public ActionResult ShowDetailUnitWorkCalendar(int workCalendarId, int?TypeSelect)
        {
            try
            {
                UnitWorkCalendarDAL WorkCalendarCtrl = new UnitWorkCalendarDAL();
                var vnFormat         = new CultureInfo("VI-vi");
                var listDayForSelect = new List <SelectListItem>();

                if (TypeSelect > 0)
                {
                    DateTime startOfWeek = DateTime.Today.AddDays(-1 * (int)(DateTime.Today.DayOfWeek) + 1);
                    DateTime endOfWeek   = startOfWeek.AddDays(5);

                    for (int tmpI = (int)DateTime.Today.DayOfWeek; tmpI < 7; tmpI++)
                    {
                        var tmpDow = DateTime.Today.AddDays(tmpI - (int)DateTime.Today.DayOfWeek);
                        listDayForSelect.Add(new SelectListItem()
                        {
                            Text = vnFormat.DateTimeFormat.GetDayName(tmpDow.DayOfWeek) + " " + tmpDow.ToString("dd/MM/yyyy"), Value = tmpDow.ToString()
                        });
                    }
                }
                else
                {
                    listDayForSelect.Add(new SelectListItem()
                    {
                        Text = vnFormat.DateTimeFormat.GetDayName(DateTime.Now.DayOfWeek) + " " + DateTime.Now.ToString("dd/MM/yyyy"), Value = DateTime.Now.ToString("MM/dd/yyyy")
                    });
                }

                ViewBag.ListDayForSelect = new SelectList(listDayForSelect, "Value", "Text");

                var roleManager = HttpContext.GetOwinContext().Get <ApplicationRoleManager>();
                ViewBag.ListGroupRoles = new SelectList(roleManager.GetListRoleByUnitIdAndType(SysBaseInfor.GetCurrentUnitCode() + SysBaseInfor.SignProject, SysBaseInfor.GetCurrentUnitId().ToInt32(), 2), "Id", "Name");

                var result = new UnitWorkCalendar();

                if (workCalendarId > 0)
                {
                    result = WorkCalendarCtrl.GetItemByID("Id", workCalendarId);
                }

                return(PartialView("~/Views/UnitWorkCalendar/_DetailUnitWorkCalendar.cshtml", result));
            }
            catch (Exception ex)
            {
                return(PartialView(blankViewUrl));
            }
        }