protected override void CompleteBeforeSubmitPost(UserAccountViewModel entity, PostData <UserAccountViewModel> postData, bool isNew)
        {
            var currentId = Convert.ToInt32(SessionHelper.User.UserId);

            entity.CreateBy = currentId;
            entity.Password = _passwordHasher.HashPassword(null, entity.UserName.ToLower() + entity.Password);
        }
        protected override EntityUpdateFiledsInfo GetEntityUpdateFiledsInfo(UserAccountViewModel entity)
        {
            var preventItems = new List <string>();

            if (entity.Password == "$$default")
            {
                preventItems.Add("Password");
            }
            return(new EntityUpdateFiledsInfo(preventItems));
        }
        protected override async Task <string> ValidateBeforeSubmitPostAsync(UserAccountViewModel entity, PostData <UserAccountViewModel> postData, bool isNew)
        {
            var existUserId = await DomainService.ExistsUserName(entity.UserName, entity.Id);

            if (existUserId)
            {
                return("errors.DUPLICATE_USER_NAME");
            }
            if (entity.UserName?.ToLower() == "admin")
            {
                return("errors.ADMIN_IS_NOT_EDITABLE");
            }
            return(await base.ValidateBeforeSubmitPostAsync(entity, postData, isNew));
        }