public void Post(string id, [FromBody] Model.UserData value) { if (value == null || string.IsNullOrWhiteSpace(value.Id)) { return; } var userDataDictionary = stateManager.GetOrAddAsync <IReliableDictionary <string, Model.UserData> >( ReliableObjectNames.UserDataDictionary) .GetAwaiter() .GetResult(); using (var txn = stateManager.CreateTransaction()) { userDataDictionary.SetAsync( txn, value.Id, value) .GetAwaiter() .GetResult(); txn.CommitAsync() .GetAwaiter() .GetResult(); } ReliableCollectionHelper.AddPinToForecastCollection( stateManager, value.Pin); }
public ActionResult <Model.UserData> Get(string id) { var userData = new Model.UserData(); userData.Id = id; var userDataDictionary = stateManager.GetOrAddAsync <IReliableDictionary <string, Model.UserData> >( ReliableObjectNames.UserDataDictionary) .GetAwaiter() .GetResult(); using (var txn = stateManager.CreateTransaction()) { var userinfo = userDataDictionary.TryGetValueAsync( txn, id) .GetAwaiter() .GetResult(); if (userinfo.HasValue) { userData.Pin = userinfo.Value.Pin; userData.DeviceList = userinfo.Value.DeviceList; userData.ForecastDataJson = ReliableCollectionHelper.FetchForecastDataJsonObj( stateManager, userData.Pin); } else { // TODO: Return 404 error. userData.ForecastDataJson = "Unkown"; Telemetry.Client.TrackTrace($"User with Id {id} does not exist."); } } return(userData); }