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); } } }