예제 #1
0
        public AdminUserModel GetUserById(int userId)
        {
            var db = new HospitalTransparencyEntities();

            IList <AdminUserModel> details = new List <AdminUserModel>();
            var data = (from m in db.AdminPanelUserMasters
                        where m.UserId == userId
                        select new
            {
                m.Email,
                m.UserId,
                m.IsActive,
                m.Name,
                m.Password,
                m.Username,
                m.CreatedOn,
                m.RoleId,
                m.ImagePath
            }).FirstOrDefault();

            var userData = new AdminUserModel();

            {
                userData.UserId   = data.UserId;
                userData.Email    = data.Email;
                userData.IsActive = data.IsActive;
                userData.Name     = data.Name;
                userData.Password = data.Password;
                userData.Username = data.Username;
                userData.RoleId   = data.RoleId;
                userData.Image    = data.ImagePath;
            }
            return(userData);
        }
예제 #2
0
        public static void SaveLoginUser(TAdminUser adminUser)
        {
            if (!string.IsNullOrEmpty(adminUser.Token))
            {
                CacheHelper.RemoveAllCache(adminUser.Token);
            }

            var sessionUserModel = new AdminUserModel();

            UtilHelper.CopyProperties(adminUser, sessionUserModel, new string[] {
                "ID",
                "Account",
                "Avatar",
                "Token",
                "TokenExpired",
                "LastLoginDate",
                "LastLoginIP"
            });

            var role             = new RoleModel();
            var adminUserRoleBLL = new TAdminUserRoleBLL();
            var adminUserRole    = adminUserRoleBLL.Find(ur => ur.AdminUserID == sessionUserModel.ID);

            UtilHelper.CopyProperties(adminUserRole.TRole, role, new string[] {
                "ID",
                "Name"
            });

            sessionUserModel.RoleID = role.ID;
            sessionUserModel.Role   = role;

            CacheHelper.SetCache(adminUser.Token, sessionUserModel, new TimeSpan(0, 30, 0));
        }
예제 #3
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(AdminUserModel model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update tb_AdminUser set ");
            strSql.Append("UserName=@UserName,");
            strSql.Append("Pwd=@Pwd,");
            strSql.Append("role=@role");
            strSql.Append(" where SuId=@SuId");
            SqlParameter[] parameters =
            {
                new SqlParameter("@UserName", SqlDbType.NVarChar, 50),
                new SqlParameter("@Pwd",      SqlDbType.NVarChar, 50),
                new SqlParameter("@role",     SqlDbType.Int,       4),
                new SqlParameter("@SuId",     SqlDbType.Int, 4)
            };
            parameters[0].Value = model.UserName;
            parameters[1].Value = model.Pwd;
            parameters[2].Value = model.role;
            parameters[3].Value = model.SuId;

            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #4
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(AdminUserModel model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into tb_AdminUser(");
            strSql.Append("UserName,Pwd,role)");
            strSql.Append(" values (");
            strSql.Append("@UserName,@Pwd,@role)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@UserName", SqlDbType.NVarChar, 50),
                new SqlParameter("@Pwd",      SqlDbType.NVarChar, 50),
                new SqlParameter("@role",     SqlDbType.Int, 4)
            };
            parameters[0].Value = model.UserName;
            parameters[1].Value = model.Pwd;
            parameters[2].Value = model.role;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
예제 #5
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public AdminUserModel DataRowToModel(DataRow row)
        {
            AdminUserModel model = new AdminUserModel();

            if (row != null)
            {
                if (row["SuId"] != null && row["SuId"].ToString() != "")
                {
                    model.SuId = int.Parse(row["SuId"].ToString());
                }
                if (row["UserName"] != null)
                {
                    model.UserName = row["UserName"].ToString();
                }
                if (row["Pwd"] != null)
                {
                    model.Pwd = row["Pwd"].ToString();
                }
                if (row["role"] != null && row["role"].ToString() != "")
                {
                    model.role = int.Parse(row["role"].ToString());
                }
            }
            return(model);
        }
예제 #6
0
        public ActionResult ModifyInfo(AdminUserModel model)
        {
            var result = new JsonModel();

            #region check params
            var existLoginName = UsersRepository.ExistLoginName(model.Id, model.LoginName);
            if (existLoginName)
            {
                result.msg = "登录名已存在";
                return(Json(result));
            }
            #endregion

            var   opType = OperationType.Update;
            Users user   = UsersRepository.Get(model.Id);
            if (user == null)
            {
                result.msg = $"找不到id为{0}的用户";
                return(Json(result));
            }

            Mapper.Map(model, user);
            UsersRepository.Save(user);
            LogRepository.Insert(TableSource.Users, opType, user.Id);
            result.code = JsonModelCode.Succ;
            ShowSuccMsg("保存成功!");
            return(Json(result));
        }
예제 #7
0
 public ActionResult AddSystemUser(string userId)
 {
     ViewBag.RoleListInfo = RoleManager.GetAllRoles().Select(p =>
     {
         return(new RoleModel
         {
             RoleId = p.Id,
             RoleName = p.Name
         });
     }).ToList();
     if (!string.IsNullOrWhiteSpace(userId))
     {
         var            user     = UserManager.GetAdminUserInfo(userId);
         AdminUserModel userInfo = new AdminUserModel()
         {
             UserId   = user.Id,
             Name     = user.Name,
             IsEnable = user.IsEnable,
             Mobile   = user.Mobile,
             Password = user.Password,
             RoleId   = user.RoleIds.FirstOrDefault()
         };
         ViewBag.SystemUserInfo = userInfo;
     }
     return(View());
 }
예제 #8
0
        // GET: Administrator/Edit/5
        /// <summary>
        /// Edit the given user's Email, Phonenumber
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> Edit(Guid?id)
        {
            if (id == null)
            {
                StatusMessage = StatusMessages.UserNotFoundMessage;
                return(RedirectToAction("Index"));
            }

            var user = await _userManager.FindByIdAsync(id.ToString());

            if (user == null)
            {
                StatusMessage = StatusMessages.UserNotFoundMessage;
                return(RedirectToAction("Index"));
            }

            AdminUserModel viewModel = new AdminUserModel {
                Id          = user.Id,
                Email       = user.Email,
                Username    = user.UserName,
                PhoneNumber = user.PhoneNumber
            };

            return(View(viewModel));
        }
예제 #9
0
        public async Task <GetAdminUserQueryResponse> Handle(GetAdminUserQueryRequest request, CancellationToken cancellationToken)
        {
            var user = await _userManager.Users.Include(a => a.Gender).FirstOrDefaultAsync(a => a.Id == request.UserId);

            if (user is null)
            {
                throw new AppException(ResultCode.BadRequest, "user not found");
            }


            var roles = await _userManager.GetRolesAsync(user);

            var adminUser = new AdminUserModel
            {
                Birthday    = user.Birthday,
                Email       = user.Email,
                Id          = user.Id.ToString(),
                FirstName   = user.FirstName,
                GenderName  = user.Gender.Name,
                LastName    = user.LastName,
                UserName    = user.UserName,
                PhoneNumber = user.PhoneNumber,
                UserType    = user.UserType,
                UserRoles   = _roleManager.Roles.Where(a => roles.Any(b => b == a.Name)).Select(a =>
                                                                                                new RoleModel()
                {
                    Name = a.Name,
                    Id   = a.Id.ToString()
                }).ToList()
            };

            return(new GetAdminUserQueryResponse(true, adminUser));
        }
예제 #10
0
 protected void Page_Load(Object sender, EventArgs args)
 {
     if (AdminUserModel.GetAdminUserModelFromSession() == null)
     {
         Response.Redirect("~/admin/login.aspx", true);
     }
 }
예제 #11
0
        public DashboardModel()
        {
            Settings       = new SettingsViewModel();
            adminUserModel = new AdminUserModel();
            Notifications  = new NotificationModel();
            Comments       = new List <AdminCommentsModel>();

            // Registered Users Chart
            AvailableMonths            = new List <SelectListItem>();
            AvailableYears             = new List <SelectListItem>();
            RegisteredUsers            = new List <User>();
            RegisteredUsersChartModels = new List <RegisteredUsersChartModel>();

            // Registered Feedbacks
            Feedbacks_AvailableMonths = new List <SelectListItem>();
            Feedbacks_AvailableYears  = new List <SelectListItem>();
            Feedbacks            = new List <Feedback>();
            FeedbacksChartModels = new List <RegisteredFeedbacks>();

            // Registered Events
            Events_AvailableMonths = new List <SelectListItem>();
            Events_AvailableYears  = new List <SelectListItem>();
            Events            = new List <Event>();
            EventsChartModels = new List <RegisteredEvents>();

            // Active/Inactive users
            ActiveInactiveUsers = new RegisteredActiveInactiveUsers();
            UniqueUsers         = new List <Location>();
            ReturnUsers         = new List <Location>();
            MergedUsers         = new List <Location>();

            ConsolidateUserModel = new List <ConsolidateUserModel>();
        }
예제 #12
0
 protected void loginbtn_Click(object sender, EventArgs e)
 {
     if (Page.IsValid)
     {
         AdminUserBll   bllAdminUser   = new AdminUserBll();
         AdminUserModel loginAdminUser = new AdminUserModel();
         loginAdminUser.UserName = loginusername.Text;
         loginAdminUser.Pwd      = loginuserpassword.Text;
         try
         {
             loginAdminUser = bllAdminUser.GetModelLogin(loginAdminUser);
             if (loginAdminUser.SuId != 0)
             {
                 UserCustomValidator.IsValid = true;
                 Session["CurrentAdminUser"] = loginAdminUser;
                 Response.Redirect("News.aspx");
             }
             else
             {
                 UserCustomValidator.ErrorMessage = "用户名或密码错误!";
                 UserCustomValidator.IsValid      = false;
             }
         }
         catch (Exception)
         {
             UserCustomValidator.ErrorMessage = "登陆异常!";
             UserCustomValidator.IsValid      = false;
         }
     }
 }
예제 #13
0
        public async Task <IActionResult> Get(string moniker, string id)
        {
            try
            {
                if (!Guid.TryParse(id, out Guid isGuid))
                {
                    throw new GuidNotValidException();
                }

                var adminUser = await _adminUserService.GetItem(new Guid(id));

                var model = new AdminUserModel(adminUser);

                responseModels.Add("AdminUser", model);
                response = new ApiResponse(HttpStatusCode.OK, "Admin user found.", responseModels);
                return(Ok(new { response }));
            }
            catch (GuidNotValidException exception)
            {
                response = new ApiResponse(HttpStatusCode.BadRequest, null, exception, null);
                return(Ok(new { response }));
            }
            catch (UserNotFoundException exception)
            {
                response = new ApiResponse(HttpStatusCode.NotFound, null, exception, null);
                return(Ok(new { response }));
            }
            catch (Exception exception)
            {
                response = new ApiResponse(HttpStatusCode.BadRequest, null, exception, null);
                return(Ok(new { response }));
            }
        }
예제 #14
0
        protected void Page_Load(Object sender, EventArgs e)
        {
            InitializeScripts();

            if (AdminUserModel.GetAdminUserModelFromSession() == null)
            {
                var canSkipAnonymous = (Request.Url.AbsolutePath.IndexOf("/admin/others/generatesitemaps.aspx", StringComparison.OrdinalIgnoreCase) >= 0) ||
                                       (Request.Url.AbsolutePath.IndexOf("/admin/others/generatefeedsforsyndication.aspx", StringComparison.OrdinalIgnoreCase) >= 0);

                if (canSkipAnonymous)
                {
                    return;
                }

                String returnUrl = null;

                if (Request.Url.AbsolutePath.IndexOf("/admin/login.aspx") < 0)
                {
                    returnUrl = Server.UrlEncode(Server.UrlEncode(Request.Url.ToString()));
                }

                var url = "~/admin/login.aspx";

                if (returnUrl.HasText())
                {
                    url += "?returnurl=" + returnUrl;
                }

                Response.Redirect(url, true);
            }
        }
예제 #15
0
        // GET: Admin/Users
        public ActionResult Users(string id)
        {
            AdminUserModel model     = new AdminUserModel();
            var            customers = _repository.GetCustomers(id);

            model.Customers = customers.ToList();
            return(View(model));
        }
예제 #16
0
 public DefaultService(IOptions <AppUserModel> appUserModel,
                       IOptions <AdminUserModel> adminUserModel,
                       UserManager <ApplicationUserEntities> userManager)
 {
     _adminUserModel = adminUserModel.Value;
     _appUserModel   = appUserModel.Value;
     _userManager    = userManager;
 }
예제 #17
0
        private AdminUserModel GetAdminUserModel(Users user)
        {
            var roleIdList     = UserRoleSvc.GetRoleIdList(user.Id);
            var menuList       = SysMenuSvc.GetList(roleIdList);
            var apartIdList    = User2ApartRepository.GetLstApartId(user.Id);
            var userFilterList = UserRole2FilterRepository.GetRoleFilterList(roleIdList);
            var model          = new AdminUserModel(user, roleIdList, menuList, apartIdList, userFilterList);

            return(model);
        }
 public HttpResponseMessage GetAdminUserById(AdminUserModel adminUser)
 {
     try
     {
         return(Request.CreateResponse(HttpStatusCode.OK, objAdminUserStaticsService.GetAdminUserById(adminUser.AdminUserID)));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.NotFound, ex.Message));
     }
 }
예제 #19
0
        protected void btnEnter_Click(Object sender, EventArgs e)
        {
            String message = null;

            inputLogin.Attributes.Remove("class");
            inputPassword.Attributes.Remove("class");

            if (inputLogin.Value.HasNoText())
            {
                message = "Login is required.";
                inputLogin.Attributes.Add("class", "error");
            }
            else if (inputPassword.Value.HasNoText())
            {
                message = "Password is required";
                inputPassword.Attributes.Add("class", "error");
            }

            if (message.HasNoText())
            {
                var objData = new clsData();
                var ht      = new Hashtable();

                ht.Add("UserEmailID", inputLogin.Value);
                ht.Add("Password", inputPassword.Value);

                var dt = objData.GetDataTable("usp_getAdminUser", ht);

                if (dt.Rows.Count > 0)
                {
                    AdminUserModel.SetAdminUserModelToSession(dt);

                    var url = "~/admin/default.aspx";

                    if (Request["returnurl"].HasText())
                    {
                        url = Server.UrlDecode(Request["returnurl"]).Replace(Environment.NewLine, " ");
                    }

                    Response.Redirect(url, true);
                }
                else
                {
                    message = "Your login attempt was not successful. Please try again.";
                }
            }

            if (message.HasText())
            {
                divSummaryError.Visible = true;
                ltlMessage.Text         = message;
            }
        }
예제 #20
0
        protected void Page_Load(Object sender, EventArgs e)
        {
            if (AdminUserModel.GetAdminUserModelFromSession() != null)
            {
                Response.Redirect("~/admin/default.aspx", true);
            }

            if (Request.IsGet())
            {
                Request.RedirectToHttpsIfRequired(Response);
            }
        }
예제 #21
0
        public ActionResult UserManager()
        {
            var model = new List <AdminUserModel>();

            using (var db = new Context())
            {
                foreach (var item in db.UserRoles.ToList())
                {
                    var aum = new AdminUserModel
                    {
                        ID       = item.ID,
                        username = item.username,
                        role     = item.role
                    };
                    switch (item.role)
                    {
                    case "dim":
                        try
                        {
                            var classId = db.UnitMembers.First(sh => sh.Username == item.username).ClassID;
                            aum.membership = db.Units.First(sh => sh.ID == classId).name;
                            // ReSharper disable once ReplaceWithSingleCallToFirst
                            aum.insitute = db.Units.Where(sh => sh.ID == classId).First().institute;
                        }
                        catch (Exception e)
                        {
                            aum.membership = "Δεν ανοικει σε κάποια μονάδα";
                            aum.insitute   = "-";
                        }

                        break;

                    case "yp":
                        try
                        {
                            var unitId = db.UnitMasters.First(sh => sh.MasterID == item.username).UnitID;
                            aum.membership = db.Units.First(sh => sh.ID == unitId).name;
                            aum.insitute   = db.Units.First(sh => sh.ID == unitId).institute;
                        }
                        catch (Exception e)
                        {
                            aum.membership = "Η μονάδα ως υπεύθυνος δεν είναι πλέον διαθέσιμη";
                            aum.insitute   = "-";
                        }
                        break;
                    }

                    model.Add(aum);
                }
            }

            return(View(model));
        }
예제 #22
0
        public ActionResult UsersEdit(AdminUserModel user)
        {
            if (ModelState.IsValid)
            {
                User toBeUpdated = repo.GetUserById(user.UserId.ToString());
                toBeUpdated.Roles.FirstOrDefault().Name = user.Role;

                repo.UpdateEditedUser(toBeUpdated);
                return(RedirectToAction("ManageUsers"));
            }

            return(View(user));
        }
예제 #23
0
        public static IEnumerable <AdminUserModel> MapAdminUserList(IEnumerable <UserView> adminList)
        {
            var adminUserList = new List <AdminUserModel>();

            foreach (UserView userView in adminList)
            {
                var adminUser = new AdminUserModel {
                    Id = userView.Id, Name = userView.Name
                };
                adminUser = ObjectTextTrim.TrimStringProperties(adminUser);
                adminUserList.Add(adminUser);
            }
            return(adminUserList);
        }
예제 #24
0
        /// <summary>
        /// 校验登入用户是否拥有页面权限
        /// 创建  毛枫  2015-4-21
        /// </summary>
        /// <param name="viewPower"></param>
        /// <returns></returns>
        public static bool CompareRole(string viewPower)
        {
            //HttpContext context = HttpContext.Current;

            List <T_POWERS> adminPowersList = new List <T_POWERS>();
            bool            result          = false;
            int             userId          = 0;
            string          userName        = string.Empty;

            if (HttpContext.Current.Session["A_Power"] == null)
            {
                //如果A_Power的Session是为空的话就首先判断当前用户是否登录
                if (IsLogIn(ref userId, ref userName))
                {
                    AdminUserModel user   = GetCurrentAdminUser();
                    string         A_Code = user.A_CODE;
                    //获取当前用户角色CODE
                    List <string> userRoleList = GetUserRole(A_Code);
                    foreach (string q in userRoleList)
                    {
                        //获取角色对应权限
                        adminPowersList.AddRange(GetUserPower(q));
                    }
                    //放入Session中
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                //存在Session
                string powerList = WebHelperUtil.SessionGet("A_Power");
                adminPowersList = powerList.toJsonObject <List <T_POWERS> >();
            }

            if (adminPowersList != null)
            {
                //将权限Model放入SESSION中
                string powerList = adminPowersList.toJson();
                WebHelperUtil.SessionAdd("A_Power", powerList, 60);
            }
            //判断登入用户有无页面权限
            if (adminPowersList.Any(qq => qq.P_NAME == viewPower))
            {
                result = true;
            }
            return(result);
        }
예제 #25
0
        /// <summary>
        /// 获取用户模型
        /// 创建  毛枫  2015-4-21
        /// </summary>
        /// <returns></returns>
        public static AdminUserModel GetCurrentAdminUser()
        {
            AdminUserModel returnModel = new AdminUserModel();
            //var model = System.Web.HttpContext.Current.Session["A_AdminUser"];
            var model = HttpContext.Current.Request.Cookies["A_AdminUser"];

            if (model != null)
            {
                //解密处理
                string result = EncryptUtil.Base64Decode(model.Value);
                returnModel = result.toJsonObject <AdminUserModel>();
            }
            return(returnModel);
        }
예제 #26
0
        public async Task <IActionResult> Update(AdminUserModel model)
        {
            try
            {
                await _adminUserService.UpdateItem(model);

                response = new ApiResponse(HttpStatusCode.OK, "Admin user updated successfully.", null);
                return(Ok(new { response }));
            }
            catch (Exception exception)
            {
                return(BadRequest("System user update failed. Error: " + exception.Message));
            }
        }
예제 #27
0
        public async Task <AdminUserModel> UpdateItem(AdminUserModel model)
        {
            var adminAuthenticateUser = await GetItem(new Guid(model.Id));

            if (adminAuthenticateUser == null)
            {
                throw new UserNotFoundException();
            }

            adminAuthenticateUser = new AdminAuthenticateUser(model, adminAuthenticateUser);
            await _adminUsersManager.UpsertItemAsync(adminAuthenticateUser);

            return(new AdminUserModel(adminAuthenticateUser));
        }
예제 #28
0
        protected void Page_Load(Object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                var objData = new clsData();

                objData.strSql = String.Format("select * from fly_tblUser where UserEmailID = '{0}'", AdminUserModel.GetAdminUserModelFromSession().Email);

                var dt    = objData.GetDataTable();
                var model = AdminUserModel.ToAdminUserModel(dt);

                inputLogin.Value = model.Email;
                hfUserId.Value   = dt.Rows[0]["pk_UserID"].ToString();
            }
        }
예제 #29
0
 public AdminUser(AdminUserModel model)
 {
     Id              = string.IsNullOrEmpty(model.Id) ? Guid.NewGuid().ToString() : model.Id;
     NamePrefix      = model.NamePrefix;
     NameFirst       = model.NameFirst;
     NameLast        = model.NameLast;
     NameSuffix      = model.NameSuffix;
     DisplayAs       = model.DisplayAs;
     ProfileImageUrl = model.ProfileImageUrl;
     MustChangePasswordAtNextLogin = model.MustChangePasswordAtNextLogin;
     PasswordExpirationDateTime    = model.PasswordExpirationDateTime;
     Enabled        = model.Enabled;
     EmailAddresses = AdminEmailAddress.Construct(model.EmailAddresses);
     PhoneNumbers   = AdminPhoneNumber.Construct(model.PhoneNumbers);
     Roles          = model.Roles;
 }
예제 #30
0
        /// <summary>
        /// 保存修改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSave_OnClick(object sender, EventArgs e)
        {
            string      message     = "";
            T_ADMIN_BLL T_ADMIN_BLL = new T_ADMIN_BLL();

            try
            {
                //①获取当前登录用户
                AdminUserModel adminInfo = AdminwebUserManager.GetCurrentAdminUser();
                //②判断当前登录用户原密码
                var query = new DapperExQuery <T_ADMIN>().AndWhere(n => n.A_CODE, OperationMethod.Equal, adminInfo.A_CODE)
                            .AndWhere(n => n.PASSWORD, OperationMethod.Equal, EncryptUtil.Md5Encode(tbxOriPassword.Text.Trim(), 16));
                var entity = T_ADMIN_BLL.GetEntity(query);
                if (entity != null)
                {
                    //③判断确认密码是否等于密码
                    if (tbxPassword.Text == tbxCfm_Password.Text)
                    {
                        //④保存新密码
                        entity.PASSWORD = EncryptUtil.Md5Encode(tbxPassword.Text.Trim(), 16);

                        if (new T_ADMIN_BLL().Update(entity))
                        {
                            message             = "修改成功";
                            updateWindow.Hidden = true;
                        }
                        else
                        {
                            message = "修改失败";
                        }
                    }
                    else
                    {
                        message = "确认密码错误";
                    }
                }
                else
                {
                    message = "用户密码错误,请输入原密码";
                }
            }
            catch (Exception ex)
            {
                message = ex.ToString();
            }
            Alert.Show(message);
        }