public async Task <User> Create(User user)
        {
            if (!await UserValidator.Create(user))
            {
                return(user);
            }

            using (UnitOfWork.Begin())
            {
                try
                {
                    user.Id = Guid.NewGuid();
                    await UnitOfWork.UserRepository.Create(user);

                    await UnitOfWork.Commit();

                    return(await Get(new UserFilter
                    {
                        Username = user.Username,
                        Password = user.Password
                    }));
                }
                catch (Exception e)
                {
                    await UnitOfWork.Rollback();

                    user.AddError(nameof(UserService), nameof(Create), CommonEnum.ErrorCode.SystemError);
                    return(user);
                }
            }
        }