user ConvertMembershipToUser(MembershipUser mMembership)
        {
            int userID = -1;

            if (mMembership.ProviderUserKey is int)
            {
                userID = (int)mMembership.ProviderUserKey;
            }
            user TempUser = _UserSrv.Getbykey(userID);

            if (TempUser == null)
            {
                TempUser = new user();
            }
            TempUser.username                = mMembership.UserName;
            TempUser.email                   = mMembership.Email;
            TempUser.PasswordQuestion        = mMembership.PasswordQuestion;
            TempUser.IsApproved              = mMembership.IsApproved;
            TempUser.IsLockedOut             = mMembership.IsLockedOut;
            TempUser.CreateDate              = mMembership.CreationDate;
            TempUser.LastLoginDate           = mMembership.LastLoginDate;
            TempUser.LastPasswordChangedDate = mMembership.LastPasswordChangedDate;
            TempUser.LastLockoutDate         = mMembership.LastLockoutDate;
            return(TempUser);
        }
 /// <summary>
 /// required implementation
 /// </summary>
 /// <param name="providerUserKey">required implementation</param>
 /// <param name="userIsOnline">required implementation</param>
 /// <returns>required implementation</returns>
 public user GetUser(object providerUserKey, bool userIsOnline)
 {
     if (providerUserKey is int)
     {
         int userID = (int)providerUserKey;
         return(UserSrv.Getbykey(userID));
     }
     else
     {
         return(null);
     }
     //throw new Exception("have not implement.");
 }
        //if (models.Password.IndexOfAny(UPPERCHAR) == -1)
        //       {
        //           check = true;
        //           error = "Password phải chứa ký tự hoa!";
        //       }
        //       if (models.Password.IndexOfAny(NUMBER) == -1)
        //       {
        //           check = true;
        //           error = "Password phải chứa số!";
        //       }
        //       if (models.ID != 0)
        //       {
        //           models.VaiTro_ID = currentNd.VAITRO;
        //       }
        public JsonResult UpdateUser(string _password, string _newpasswordRe, string _newpassword)
        {
            string returnedData = "NotOK";

            if (_password.Trim() != "" && _newpassword.Trim().Length >= 8 /* && _newpasswordRe.Trim().Length >= 8 && _password.IndexOfAny(SpecialChars) != -1 && _password.IndexOfAny(UPPERCHAR) != -1 && _password.IndexOfAny(NUMBER) != -1*/)
            {
                var user      = UserDataService.Getbykey(usercurent.userid);
                var pass_word = FormsAuthentication.HashPasswordForStoringInConfigFile(_password, "MD5");

                if (user.password == pass_word)
                {
                    var newpw = FormsAuthentication.HashPasswordForStoringInConfigFile(_newpassword, "MD5");
                    user.password = newpw;
                    UserDataService.Update(user);
                    UserDataService.CommitChanges();
                    returnedData            = "ok";
                    Session["MustChangePW"] = false;
                }
            }

            return(Json(returnedData, JsonRequestBehavior.AllowGet));
        }
Example #4
0
        //maping an object to a persistant object in Nhibernate
        private user Mapping(user mUser)
        {
            user temp;

            if (mUser.userid > 0)
            {
                temp = UserSrv.Getbykey(mUser.userid);
            }
            else
            {
                temp = UserSrv.GetByName(mUser.username);
            }
            return(temp);
        }
Example #5
0
        public ActionResult Add(QuanLyNguoiDungModels models)
        {
            var error       = string.Empty;
            var currentUser = UserDataService.Getbykey(models.ID) ?? new user();
            var currentNd   = Nguoidung.Query.FirstOrDefault(x => x.TENDANGNHAP.ToUpper() == models.UserName.ToUpper()) ?? new NGUOIDUNG();
            var tempNgD     = ((EISContext)FXContext.Current).CurrentNguoidung;
            var check       = false;

            if (tempNgD.ISPQ == true)
            {
                if (models.VaiTro_ID == null)
                {
                    check = true;
                    error = error + "Vui lòng nhập vai trò người dùng!";
                }
                if (models.DonVi_ID == null)
                {
                    models.DonVi_ID = currentNd.DONVI_ID;
                }
                models.UserName    = currentUser.username;
                models.Password    = currentUser.password;
                models.IsApproved  = currentUser.IsApproved;
                models.IsLockedOut = currentUser.IsLockedOut;
                models.IsAdmin     = currentUser.ISADMIN;
                models.Email       = currentUser.email;

                models.NguoiDungId = currentNd.ID;
                models.Ten         = currentNd.TEN;
                models.SDT         = currentNd.PHONE;
                models.SoCMND      = currentNd.SOCMT;
                models.DiaChi      = currentNd.ADDRESS;
                models.IsPQ        = currentNd.ISPQ;
            }
            else
            {
                if (string.IsNullOrEmpty(models.Ten))
                {
                    check = true;
                    error = "Vui lòng nhập tên người dùng!";
                }
                else if (models.Email == null)
                {
                    check = true;
                    error = "Vui lòng nhập email!";
                }
                else if (models.DonVi_ID == null)
                {
                    check = true;
                    error = "Vui lòng nhập đơn vị!";
                }
                if (models.Password != null)
                {
                    if (models.Password.IndexOfAny(SpecialChars) == -1)
                    {
                        check = true;
                        error = "Password phải chứa ký tự đặc biệt!";
                    }
                    if (models.Password.IndexOfAny(UPPERCHAR) == -1)
                    {
                        check = true;
                        error = "Password phải chứa ký tự hoa!";
                    }
                    if (models.Password.IndexOfAny(NUMBER) == -1)
                    {
                        check = true;
                        error = "Password phải chứa số!";
                    }
                }
                else
                {
                    if (models.ID == 0)
                    {
                        check = true;
                        error = "Password không thể để trống!";
                    }
                }

                if (models.ID != 0)
                {
                    models.VaiTro_ID = currentNd.VAITRO;
                }
            }

            if (ModelState.IsValid && check == false)
            {
                var roles   = models.Roles == null ? new List <long>() : models.Roles.Split(',').Where(x => !String.IsNullOrEmpty(x)).Select(x => Convert.ToInt64(x)).ToList();
                var cosokcb = models.COSO_KCBID == null ? new List <long>() : models.COSO_KCBID.Split(',').Where(x => !String.IsNullOrEmpty(x)).Select(x => Convert.ToInt64(x)).ToList();
                var tempDf  = cosokcb.FirstOrDefault(x => x == currentNd.DF_COSOKCB_ID);
                var dfcskcb = tempDf != 0 ? currentNd.DF_COSOKCB_ID : null;
                // var redis = EIS.FEW.MvcApplication.redis;

                string password;
                if (tempNgD.ISPQ != true)
                {
                    password = !string.IsNullOrEmpty(models.Password)
                        ? FormsAuthentication.HashPasswordForStoringInConfigFile(models.Password, "MD5")
                        : currentUser.password;
                }
                else
                {
                    password = models.Password;
                }
                var user = new user
                {
                    userid          = models.ID,
                    username        = models.UserName,
                    password        = password,
                    PasswordSalt    = "MD5",
                    GroupName       = tempNgD.ISPQ != true ? System.Web.HttpContext.Current.User.Identity.Name : currentUser.GroupName,
                    email           = models.Email,
                    IsApproved      = models.IsApproved != null && (bool)(models.IsApproved),
                    IsLockedOut     = models.IsLockedOut != null && (bool)(models.IsLockedOut),
                    Roles           = RoleService.Query.Where(t => roles.Contains(t.roleid)).ToList(),
                    CreateDate      = DateTime.Now,
                    ISADMIN         = models.IsAdmin != null && (bool)(models.IsAdmin),
                    ApplicationList = ApplicationsService.Query.Where(x => x.AppID == 1).ToList()
                };
                var nguoiDung = new NGUOIDUNG
                {
                    ID            = models.NguoiDungId,
                    TEN           = models.Ten,
                    TENDANGNHAP   = models.UserName,
                    TRANGTHAI     = 1,
                    PHONE         = models.SDT,
                    SOCMT         = models.SoCMND,
                    ADDRESS       = models.DiaChi,
                    VAITRO        = models.VaiTro_ID,
                    DONVI_ID      = models.DonVi_ID == 0 ? null : models.DonVi_ID,
                    COSOKCBS      = DmcosokcbService.Query.Where(t => cosokcb.Contains(t.ID)).ToList(),
                    ISPQ          = models.IsPQ,
                    DF_COSOKCB_ID = dfcskcb,
                    DF_LOAITG     = currentNd.DF_LOAITG,
                    DF_NAM        = currentNd.DF_NAM,
                    DF_QUY        = currentNd.DF_QUY,
                    DF_THANG      = currentNd.DF_THANG
                };

                try
                {
                    UserDataService.BeginTran();
                    UserDataService.Clear();
                    UserDataService.Save(user);
                    // insert log
                    _iLogSystemService.CreateNew(HttpContext.User.Identity.Name, "Tạo mới người dùng", "Tạo mới người dùng thành công:" + user.username,
                                                 Helper.GetIPAddress.GetVisitorIPAddress(), HttpContext.Request.Browser.Browser);

                    Nguoidung.Save(nguoiDung);
                    UserDataService.CommitTran();

                    if (user == null || nguoiDung == null)
                    {
                        _iLogSystemService.CreateNew(HttpContext.User.Identity.Name, "Tạo mới người dùng", "Tạo mới hoặc sửa người dùng thất bại do không thể kết nối redis",
                                                     Helper.GetIPAddress.GetVisitorIPAddress(), HttpContext.Request.Browser.Browser);
                    }
                    else
                    {
                        //var bientam_nguoidung = new NGUOIDUNG();
                        //bientam_nguoidung.ADDRESS = nguoiDung.ADDRESS;
                        //bientam_nguoidung.CapImage = nguoiDung.CapImage;
                        //bientam_nguoidung.CapImageText = nguoiDung.CapImageText;
                        //bientam_nguoidung.CaptchaCodeText = nguoiDung.CaptchaCodeText;
                        //bientam_nguoidung.COSOKCB = nguoiDung.COSOKCB;
                        //bientam_nguoidung.COSOKCB.DM_DONVI.TINHTHANH = null;
                        //bientam_nguoidung.COSOKCB.DM_DONVI.DONVICHA = null;
                        //bientam_nguoidung.COSOKCBS = nguoiDung.COSOKCBS;
                        //foreach (var item in bientam_nguoidung.COSOKCBS)
                        //{
                        //    if (item.DM_DONVI != null)
                        //    {
                        //        item.DM_DONVI.DONVICHA = null;
                        //        item.DM_TINHTHANH = null;
                        //        item.DM_DONVIHANHCHINH = null;
                        //        item.DM_DONVI = null;
                        //        item.DM_QUANHUYEN = null;
                        //    }
                        //}

                        //bientam_nguoidung.DF_COSOKCB_ID = nguoiDung.DF_COSOKCB_ID;
                        //bientam_nguoidung.DF_LOAITG = nguoiDung.DF_LOAITG;
                        //bientam_nguoidung.DF_NAM = nguoiDung.DF_NAM;
                        //bientam_nguoidung.DF_QUY = nguoiDung.DF_QUY;
                        //bientam_nguoidung.DF_THANG = nguoiDung.DF_THANG;
                        //bientam_nguoidung.DONVI = nguoiDung.DONVI;
                        //bientam_nguoidung.DONVI_ID = nguoiDung.DONVI_ID;
                        //bientam_nguoidung.ID = nguoiDung.ID;
                        //bientam_nguoidung.ISPQ = nguoiDung.ISPQ;
                        //bientam_nguoidung.PHONE = nguoiDung.PHONE;
                        //bientam_nguoidung.SOCMT = nguoiDung.SOCMT;
                        //bientam_nguoidung.TEN = nguoiDung.TEN;
                        //bientam_nguoidung.TENDANGNHAP = nguoiDung.TENDANGNHAP;
                        //bientam_nguoidung.TRANGTHAI = nguoiDung.TRANGTHAI;
                        //bientam_nguoidung.VAITRO = nguoiDung.VAITRO;
                        string keyUser      = "******" + user.username;
                        string keyNguoidung = "NGUOIDUNG_" + nguoiDung.TENDANGNHAP;
                        // redis.PushNguoiDung(keyNguoidung, nguoiDung);
                        // redis.PushRedis<user>(keyUser, user);
                    }
                    //     redis.Close();
                }
                catch (Exception e)
                {
                    ViewData["EditError"] = e.Message;
                    UserDataService.RolbackTran();
                    ViewBag.IsAdd   = models.ID == 0;
                    ViewBag.IsAdmin = tempNgD.ISPQ != true;
                    //    redis.Close();
                    return(View("TaoMoi_NguoiDungPartial", new QuanLyNguoiDungModels
                    {
                        ID = models.ID,
                        NguoiDungId = models.NguoiDungId,
                        UserName = models.UserName,
                        Password = models.Password,
                        PasswordRe = models.PasswordRe,
                        Email = models.Email,
                        IsApproved = models.IsApproved,
                        IsLockedOut = models.IsLockedOut,
                        IsAdmin = models.IsAdmin,
                        DonVi_ID = models.DonVi_ID,
                        VaiTro_ID = models.VaiTro_ID,
                        Ten = models.Ten,
                        COSO_KCBID = models.COSO_KCBID,
                        Roles = models.Roles,
                        IsPQ = models.IsPQ
                    }));
                }
            }
            else
            {
                ViewBag.IsAdd         = models.ID == 0;
                ViewBag.IsAdmin       = tempNgD.ISPQ != true;
                ViewData["EditError"] = error == string.Empty ? Resources.Localizing.MessageCommon : error;
                return(View("TaoMoi_NguoiDungPartial", new QuanLyNguoiDungModels
                {
                    ID = models.ID,
                    NguoiDungId = models.NguoiDungId,
                    UserName = models.UserName,
                    Password = models.Password,
                    PasswordRe = models.PasswordRe,
                    Email = models.Email,
                    IsApproved = models.IsApproved,
                    IsLockedOut = models.IsLockedOut,
                    IsAdmin = models.IsAdmin,
                    DonVi_ID = models.DonVi_ID,
                    VaiTro_ID = models.VaiTro_ID,
                    Ten = models.Ten,
                    COSO_KCBID = models.COSO_KCBID,
                    Roles = models.Roles,
                    IsPQ = models.IsPQ
                }));
            }
            return(RedirectToAction("Index", "QuanLyNguoiDung"));
        }