public User Save(User user) { try { if (_context.Users.EntityChange(user)) { if (_context.Users.Update(user) == 0) { return(user); } } else { var dbUser = _context.Users.Find(u => u.Email.ToLower() == user.Email.ToLower()); if (dbUser == null) { user.Id = Guid.NewGuid(); user.PasswordSalt = _passwordHelper.CreateSalt(); user.Password = _passwordHelper.CreatePasswordHash(user.Password, user.PasswordSalt); user.UserType = Enums.UserType.Unknow; return(_context.Users.Create(user)); } } } catch (Exception ex) { _logger.ErrorFormat("Exception: {0}", ex.ToString()); return(null); } return(null); }