Exemplo n.º 1
0
 public void FromUserExtendDB(User_Extend model)
 {
     gender      = model.user_gender;
     officePhone = model.user_office_phone;
     picture     = model.user_picture;
     postId      = model.user_post_id;
 }
Exemplo n.º 2
0
        public void toUserExtendDB(User_Extend model)
        {
            model.user_dept_id      = (deptId == null || deptId == 0) ?0:((deptChild == null || deptChild == 0)?(int)deptId: (int)deptChild);
            model.user_gender       = PageValidate.InputText(gender, 2);
            model.user_office_phone = officePhone != null?PageValidate.InputText(officePhone, 20) : "";

            model.user_picture = picture != null?PageValidate.InputText(picture, 50).Replace("_temp", "") : "";

            model.user_post_id = postId == null?0:(int)postId;
        }
Exemplo n.º 3
0
        // GET: UserManager/Edit/5
        public ActionResult Edit(int?id)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToRoute(new { controller = "Login", action = "LogOut" }));
            }
            int user = PageValidate.FilterParam(User.Identity.Name);

            if (!RoleCheck.CheckHasAuthority(user, db, "用户管理"))
            {
                id = user;
            }
            if (id == null)
            {
                id = user;
            }
            setSelect();
            UserEditModel model = new UserEditModel();
            User_Info     info  = db.User_Info.Find(id);

            if (info == null)
            {
                ViewBag.msg = "该用户可能已被删除,无法查到该用户信息。";
                goto next;
            }
            info.ToDecrypt();
            model.FromUserInfoDB(info);
            User_Extend extend = db.User_Extend.Find(id);

            if (extend != null)
            {
                model.FromUserExtendDB(extend);
                int p = (from dept in db.Dic_Department where dept.dept_id == extend.user_dept_id select dept.dept_parent_id).FirstOrDefault();
                if (p == 0)
                {
                    model.deptId = extend.user_dept_id;
                }
                else
                {
                    int dept_id = (from dept in db.Dic_Department where dept.dept_id == p select dept.dept_id).FirstOrDefault();
                    model.deptId    = dept_id;
                    model.deptChild = extend.user_dept_id;
                    List <SelectOption> options = DropDownList.getDepartment(dept_id);
                    ViewBag.DeptChild = DropDownList.SetDropDownList(options);
                }
            }
            model.roleId = (from svr in db.User_vs_Role
                            where svr.uvr_user_id == id
                            select svr.uvr_role_id).DefaultIfEmpty(0).FirstOrDefault();
next:
            return(View(model));
        }
Exemplo n.º 4
0
        public JsonResult Delete(int?id)
        {
            BaseJsonData json = new BaseJsonData();
            int          uid  = PageValidate.FilterParam(User.Identity.Name);

            if (!RoleCheck.CheckHasAuthority(uid, db, "用户管理"))
            {
                json.state    = 0;
                json.msg_text = "没有权限。";
                goto next;
            }
            if (id == 1)
            {
                goto next;
            }
            if (!User.Identity.IsAuthenticated)
            {
                goto next;
            }
            if (id == null)
            {
                goto next;
            }
            if (id == 1)
            {
                json.state    = 1;
                json.msg_text = "该帐号不允许删除。";
                goto next;
            }
            User_Info user_Info = db.User_Info.Find(id);

            if (user_Info == null)
            {
                json.state    = 1;
                json.msg_text = "所选用户不存在或已被删除。";
                goto next;
            }
            User_Extend extend = db.User_Extend.Find(id);

            db.User_Info.Remove(user_Info);
            if (extend != null)
            {
                db.User_Extend.Remove(extend);
            }
            try
            {
                db.SaveChanges();
                json.state    = 1;
                json.msg_code = "success";
                json.msg_text = "删除成功。";
                SysLog.WriteLog(uid, string.Format("删除用户[{0}]信息", Common.DEncrypt.AESEncrypt.Decrypt(user_Info.real_name)), IpHelper.GetIP(), id.ToString(), 2, "", db);
            }
            catch (Exception ex)
            {
                ErrorUnit.WriteErrorLog(ex.ToString(), this.GetType().Name);
                json.state    = 1;
                json.msg_text = "删除可能没有成功,请刷新页面查看。";
            }
next:
            return(Json(json, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 5
0
        public ActionResult Edit([Bind(Include = "id,name,realName,certificateType,certificateNo,mobile,email,password,password2,state,gender,postId,officePhone,picture,deptId,deptChild,roleId")] UserEditModel model)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToRoute(new { controller = "Login", action = "LogOut" }));
            }
            int user = PageValidate.FilterParam(User.Identity.Name);

            if (!RoleCheck.CheckHasAuthority(user, db, "用户管理") && user != model.id)
            {
                return(RedirectToRoute(new { controller = "Error", action = "Index", err = "没有权限!" }));
            }
            setSelect();
            if (ModelState.IsValid)
            {
                if (model.deptChild != null && model.deptId != null)
                {
                    List <SelectOption> options = DropDownList.getDepartment((int)model.deptId);
                    ViewBag.DeptChild = DropDownList.SetDropDownList(options);
                }
                User_Info info = db.User_Info.Find(model.id);
                info.ToDecrypt();
                if (info == null)
                {
                    ViewBag.msg = "该用户可能已被删除,无法更改。";
                    goto next;
                }
                model.toUserInfoDB(info);
                if (db.User_Info.Where(x => x.user_name == info.user_name && x.user_id != info.user_id).Count() > 0)
                {
                    ViewBag.msg = "该用户名已注册。";
                    goto next;
                }
                if (!string.IsNullOrEmpty(model.password))
                {
                    if (model.password != model.password2)
                    {
                        ViewBag.msg = "两次输入密码不一致,请重新输入。";
                        goto next;
                    }
                    var salt = Guid.NewGuid().ToString("N").Substring(0, 10).ToUpper();
                    info.user_password = PasswordUnit.getPassword(model.password.ToUpper(), salt);
                    info.user_salt     = salt;
                }
                info.ToEncrypt();
                if (db.User_Info.Where(x => (x.user_certificate_type == info.user_certificate_type && x.user_certificate_no == info.user_certificate_no) && x.user_id != info.user_id).Count() > 0)
                {
                    ViewBag.msg = "该证件号已注册。";
                    goto next;
                }
                if (db.User_Info.Where(x => x.user_email == info.user_email && x.user_id != info.user_id).Count() > 0)
                {
                    ViewBag.msg = "该邮箱已注册。";
                    goto next;
                }
                if (db.User_Info.Where(x => x.user_mobile == info.user_mobile && x.user_id != info.user_id).Count() > 0)
                {
                    ViewBag.msg = "该手机号已注册。";
                    goto next;
                }
                db.Entry <User_Info>(info).State = EntityState.Modified;
                bool        edit   = true;
                User_Extend extend = db.User_Extend.Find(info.user_id);
                if (extend == null)
                {
                    edit           = false;
                    extend         = new User_Extend();
                    extend.user_id = info.user_id;
                }
                if (!string.IsNullOrEmpty(model.picture) && model.picture != extend.user_picture)
                {
                    string photoDir = ConfigurationManager.AppSettings["photoPath"];
                    if (!Directory.Exists(photoDir))
                    {
                        Directory.CreateDirectory(photoDir);
                    }
                    string photoTempDir   = ConfigurationManager.AppSettings["tempPhotoPath"];
                    string file_name      = string.Format("{0}{1}", photoDir, model.picture).Replace("_temp", "");
                    string temp_file_name = string.Format("{0}{1}", photoTempDir, model.picture);
                    if (System.IO.File.Exists(temp_file_name))
                    {
                        FileInfo fi = new FileInfo(temp_file_name);
                        fi.CopyTo(file_name, true);
                        model.picture = Path.GetFileName(file_name);
                    }
                    else
                    {
                        ViewBag.msg = "图片保存失败。";
                    }
                }
                model.toUserExtendDB(extend);
                extend.user_edit_time = DateTime.Now;
                extend.user_edit_user = PageValidate.FilterParam(User.Identity.Name);
                if (edit)
                {
                    db.Entry <User_Extend>(extend).State = EntityState.Modified;
                }
                else
                {
                    db.User_Extend.Add(extend);
                }
                edit = true;
                if (model.roleId != null)
                {
                    User_vs_Role uvr = db.User_vs_Role.Find(info.user_id);
                    if (uvr == null)
                    {
                        edit = false;
                        uvr  = new User_vs_Role();
                    }
                    uvr.uvr_user_id = info.user_id;
                    uvr.uvr_role_id = (int)model.roleId;
                    if (edit)
                    {
                        db.Entry <User_vs_Role>(uvr).State = EntityState.Modified;
                    }
                    else
                    {
                        db.User_vs_Role.Add(uvr);
                    }
                }
                try
                {
                    db.SaveChanges();
                    ViewBag.msg = " 更新成功。";
                    SysLog.WriteLog(user, string.Format("修改用户[{0}]信息", model.realName), IpHelper.GetIP(), info.user_id.ToString(), 2, "", db);
                }
                catch (DbEntityValidationException ex)
                {
                    StringBuilder errors = new StringBuilder();
                    IEnumerable <DbEntityValidationResult> validationResult = ex.EntityValidationErrors;
                    foreach (DbEntityValidationResult result in validationResult)
                    {
                        ICollection <DbValidationError> validationError = result.ValidationErrors;
                        foreach (DbValidationError err in validationError)
                        {
                            errors.Append(err.PropertyName + ":" + err.ErrorMessage + "\r\n");
                        }
                    }
                    ErrorUnit.WriteErrorLog(errors.ToString(), this.GetType().Name);
                    ViewBag.msg = " 更新失败。";
                }
            }
next:
            return(View(model));
        }
Exemplo n.º 6
0
        public ActionResult Create([Bind(Include = "name,realName,certificateType,certificateNo,mobile,email,password,password2,state,gender,postId,officePhone,picture,deptId,deptChild,roleId")] UserEditModel model)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToRoute(new { controller = "Login", action = "LogOut" }));
            }
            int user = PageValidate.FilterParam(User.Identity.Name);

            if (!RoleCheck.CheckHasAuthority(user, db, "用户管理"))
            {
                return(RedirectToRoute(new { controller = "Error", action = "Index", err = "没有权限。" }));
            }
            setSelect();
            if (ModelState.IsValid)
            {
                User_Info info = new User_Info();
                model.toUserInfoDB(info);
                if (db.User_Info.Where(x => x.user_name == info.user_name).Count() > 0)
                {
                    ViewBag.msg = "该用户名已注册。";
                    goto next;
                }
                var salt = Guid.NewGuid().ToString("N").Substring(0, 10).ToUpper();
                info.user_password = PasswordUnit.getPassword(model.password.ToUpper(), salt);
                info.user_salt     = salt;
                info.ToEncrypt();
                if (db.User_Info.Where(x => x.user_certificate_type == info.user_certificate_type && x.user_certificate_no == info.user_certificate_no).Count() > 0)
                {
                    ViewBag.msg = "该证件号已注册。";
                    goto next;
                }
                if (db.User_Info.Where(x => x.user_email == info.user_email).Count() > 0)
                {
                    ViewBag.msg = "该邮箱已注册。";
                    goto next;
                }
                if (db.User_Info.Where(x => x.user_mobile == info.user_mobile).Count() > 0)
                {
                    ViewBag.msg = "该手机号已注册。";
                    goto next;
                }
                if (model.password != model.password2)
                {
                    ViewBag.msg = "两次输入密码不一致,请重新输入。";
                    goto next;
                }

                db.User_Info.Add(info);
                try
                {
                    db.SaveChanges();
                }catch (Exception ex)
                {
                    ViewBag.msg = "信息录入失败,请重新录入。";
                    ErrorUnit.WriteErrorLog(ex.ToString(), this.GetType().Name);
                    goto next;
                }

                User_Extend extend = new User_Extend();
                model.toUserExtendDB(extend);
                extend.user_id       = info.user_id;
                extend.user_add_user = PageValidate.FilterParam(User.Identity.Name);
                extend.user_add_time = DateTime.Now;
                db.User_Extend.Add(extend);
                string photoDir = ConfigurationManager.AppSettings["photoPath"];
                if (!Directory.Exists(photoDir))
                {
                    Directory.CreateDirectory(photoDir);
                }
                string photoTempDir   = ConfigurationManager.AppSettings["tempPhotoPath"];
                string file_name      = string.Format("{0}{1}", photoDir, extend.user_picture).Replace("_temp", "");
                string temp_file_name = string.Format("{0}{1}", photoTempDir, extend.user_picture);
                if (System.IO.File.Exists(temp_file_name))
                {
                    FileInfo fi = new FileInfo(temp_file_name);
                    fi.CopyTo(file_name, true);
                }
                else
                {
                    ViewBag.msg = "图片保存失败。";
                }
                if (model.roleId != null)
                {
                    User_vs_Role uvr = new User_vs_Role();
                    uvr.uvr_user_id = info.user_id;
                    uvr.uvr_role_id = (int)model.roleId;
                    db.User_vs_Role.Add(uvr);
                }
                db.SaveChanges();
                SysLog.WriteLog(user, string.Format("添加用户[{0}]", model.realName), IpHelper.GetIP(), info.user_id.ToString(), 2, "", db);
                ViewBag.msg = " 用户创建成功。";
            }
            else
            {
                StringBuilder sbmsg = new StringBuilder();
                foreach (var value in ModelState.Values)
                {
                    if (value.Errors.Count() > 0)
                    {
                        foreach (var err in value.Errors)
                        {
                            sbmsg.Append(err.ErrorMessage);
                        }
                        ViewBag.msg = sbmsg.ToString();;
                    }
                }
            }
next:

            return(View(model));
        }