Closed jessyjr97 closed 5 years ago
$userId = isset($_SESSION['TempCustomerId']) ? GetCustomerUserId($_SESSION['TempCustomerId']) : $_SESSION['userid'];
function GetCustomerUserId($customerId) { $customer = array( 'customerId' => $customerId); return CallAPI('GET','Users/GetUserByCustomerId', $customer); }
var customer = Service.Context.Users.FirstOrDefault(c => c.customerId == customerId) if(customer != null) return Ok(customer.Id);
return NoContent();
Ce qui sera utilisé es tle customerId et non le userID. Puisqu'un customer peut exister sans avoir de user de relié, il faut seulement avoir le customerID dans les call à l'api pour éviter que les infos ne soient pas existantes.
Dans la fonction HasDoneTheSurvey() et MedicalSurveyUpdate(), les variables $userId et $_SESSION['TempCustomerId'], utilisées de nombreuses fois un peu partout dans le code peuvent être assignées un customerId ou encore un userId.
Un utilisateur standard va normalement être assigné un userId, mais un employé peut souvent envoyer un URI comprenant un customerId, qui sera assigné dans la variable $userId.
$userId est utilisé dans des fonctions utilisant un customerId et dans d'autres fonctions utilisant un customerId, donc plusieurs fonctions auront des résultat inattendus.
Extraits de code: HasDoneTheSurvey()
$userId = isset($_GET['idCustomer']) ? $_GET['idCustomer'] : $_SESSION['userid'];
$_SESSION['TempCustomerId'] = $userId;
MedicalSurveyUpdate()$userId = isset($_SESSION['TempCustomerId']) ? $_SESSION['TempCustomerId'] : $_SESSION['userid'];