public async Task <IActionResult> Create(SY_User_Submit model)
        {
            model           = model == null ? new SY_User_Submit() : model;
            model.Data_Role = await _SY_RoleService.GetAllActiveOrder();

            return(View(model));
        }
Example #2
0
        public async Task <SY_User_Submit> GetCustomById(string id)
        {
            var model = new SY_User_Submit();

            var obj = await _SY_UserRepository.GetOneById(id);

            if (obj != null)
            {
                model = await GetCustomByModel(obj);
            }

            return(model);
        }
Example #3
0
        public async Task <SY_User_Submit> GetCustomByModel(SY_User model)
        {
            var obj = new SY_User_Submit()
            {
                Id       = model.Id,
                Active   = model.Active,
                Name     = model.Name,
                Roles    = new List <string>(),
                Username = model.Username,
                isAdmin  = model.isAdmin,
                Avatar   = model.Avatar
            };

            obj.Roles = (from n in _SY_Map_User_RoleRepository.Table
                         where n.UserId == model.Id
                         select n.RoleId).ToList();

            return(await Task.FromResult(obj));
        }
        public async Task <IActionResult> AccountInfo(SY_User_Submit model, IFormFile FileAvatar)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var oldObj = await _SY_UserService.GetById(model.Id);

            if (oldObj == null)
            {
                ModelState.AddModelError("", "Tài khoản không tồn tại");
                return(View(model));
            }

            var existedUser = await _SY_UserService.GetByUsername_notId(model.Username, model.Id);

            if (existedUser != null)
            {
                ModelState.AddModelError("", "Tài khoản đã tồn tại");
                return(View(model));
            }

            //Có đổi mật khẩu
            if (!string.IsNullOrWhiteSpace(model.Password))
            {
                if (string.IsNullOrWhiteSpace(model.OldPassword))
                {
                    ModelState.AddModelError("", "Vui lòng nhập mật khẩu cũ");
                    return(View(model));
                }

                if (model.Password != model.RePassword)
                {
                    ModelState.AddModelError("", "Vui lòng nhập lại chính xác mật khẩu mới");
                    return(View(model));
                }

                //Tiến hành check mật khẩu cũ
                var oldpass = CryptoHelper.DecryptPass_User(oldObj.Password, oldObj.PasswordSalat);

                if (oldpass != model.OldPassword)
                {
                    ModelState.AddModelError("", "Mật khẩu cũ không chính xác");
                    return(View(model));
                }

                //Tạo mk mới
                oldObj.PasswordSalat = Guid.NewGuid().ToString();
                oldObj.Password      = CryptoHelper.EncryptPass_User(model.Password, oldObj.PasswordSalat);
            }

            //Có upload file ảnh lên
            if (FileAvatar != null)
            {
                var filePath = _hostingEnvironment.WebRootPath + "/uploads";
                var res      = UploadHelper.UploadFile(FileAvatar, filePath).Result;

                if (res.isSuccess == false)
                {
                    return(View(model));
                }

                model.Avatar  = "/uploads/" + FileAvatar.FileName;
                oldObj.Avatar = "/uploads/" + FileAvatar.FileName;
            }

            oldObj.Username = model.Username;
            oldObj.Name     = model.Name;
            oldObj.Phone    = model.Phone;

            var result = await _SY_UserService.Update(oldObj);

            if (result.isSuccess)
            {
                TempData["Success"] = "Cập nhật thành công";
                return(RedirectToAction("AccountInfo", "SY_User"));
            }
            else
            {
                ModelState.AddModelError("", result.Message);
                return(View(model));
            }
        }
        public async Task <IActionResult> Update(SY_User_Submit model)
        {
            model.Data_Role = await _SY_RoleService.GetAllActiveOrder();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var oldObj = await _SY_UserService.GetById(model.Id);

            if (oldObj == null)
            {
                ModelState.AddModelError("", "Bản ghi không tồn tại");
                return(View(model));
            }

            //
            var existed = await _SY_UserService.GetByUsername_notId(model.Username, model.Id);

            if (existed != null)
            {
                ModelState.AddModelError("Username", "Tài khoản tồn tại");
                return(View(model));
            }

            oldObj.Active   = model.Active;
            oldObj.Name     = model.Name;
            oldObj.Username = model.Username;
            oldObj.isAdmin  = model.isAdmin;
            oldObj.Phone    = model.Phone;

            //Kiểm tra mật khẩu mới
            if (!string.IsNullOrWhiteSpace(model.Password))
            {
                if (model.Password != model.RePassword)
                {
                    ModelState.AddModelError("RePassword", "Mật khẩu không khớp");
                    return(View(model));
                }

                //Sinh mã salat mới
                oldObj.PasswordSalat = Guid.NewGuid().ToString();

                //
                oldObj.Password = CryptoHelper.EncryptPass_User(model.Password, oldObj.PasswordSalat);
            }

            //
            await _SY_RoleService.DeleteMap(oldObj.Id);

            if (!string.IsNullOrWhiteSpace(model.RoleIds))
            {
                var ks = model.RoleIds.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                model.Roles = new List <string>();
                foreach (var item in ks)
                {
                    model.Roles.Add(item);
                }

                foreach (var item in model.Roles)
                {
                    var t = new SY_Map_User_Role()
                    {
                        Id     = Guid.NewGuid().ToString(),
                        RoleId = item,
                        UserId = oldObj.Id
                    };

                    await _SY_RoleService.CreateMap(t);
                }
            }

            var result = await _SY_UserService.Update(oldObj);

            if (result.isSuccess)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError("", result.Message);
                return(View(model));
            }
        }
        public async Task <IActionResult> Create(SY_User_Submit model, bool SaveAndCountinue = false)
        {
            model.Data_Role = await _SY_RoleService.GetAllActiveOrder();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //
            var existed = await _SY_UserService.GetByUsername(model.Username);

            if (existed != null)
            {
                ModelState.AddModelError("Username", "Tài khoản tồn tại");
                return(View(model));
            }

            if (string.IsNullOrWhiteSpace(model.Password))
            {
                model.Password = "******";
            }
            else
            {
                if (model.Password != model.RePassword)
                {
                    ModelState.AddModelError("RePassword", "Mật khẩu không khớp");
                    return(View(model));
                }
            }

            var obj = new SY_User()
            {
                Active        = model.Active,
                Id            = Guid.NewGuid().ToString(),
                Password      = model.Password,
                PasswordSalat = Guid.NewGuid().ToString(),
                Name          = model.Name,
                Username      = model.Username,
                isAdmin       = model.isAdmin,
                Phone         = model.Phone
            };

            if (!string.IsNullOrWhiteSpace(model.RoleIds))
            {
                var ks = model.RoleIds.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                model.Roles = new List <string>();
                foreach (var item in ks)
                {
                    model.Roles.Add(item);
                }

                foreach (var item in model.Roles)
                {
                    var t = new SY_Map_User_Role()
                    {
                        Id     = Guid.NewGuid().ToString(),
                        RoleId = item,
                        UserId = obj.Id
                    };

                    await _SY_RoleService.CreateMap(t);
                }
            }

            //Mã hóa pass
            obj.Password = CryptoHelper.EncryptPass_User(obj.Password, obj.PasswordSalat);

            //Thực hiện thêm mới
            var result = await _SY_UserService.Create(obj);

            if (result.isSuccess)
            {
                if (SaveAndCountinue)
                {
                    TempData["Success"] = "Thêm mới thành công";
                    return(RedirectToAction("Create"));
                }

                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError("", result.Message);
                return(View(obj));
            }
        }