public async Task<bool> UpdateAllTiles() { TaskingObject to = new TaskingObject(); UnityDataAccess uda = new UnityDataAccess(); if (string.IsNullOrEmpty(objUnityData.Token)) objUnityData.Token = await uda.GetToken(objUnityData.UnitySvcUser,objUnityData.UnitySvcPwd,objUnityData.UnityAppName); return await to.ProcessTaskTileUpdates(objUnityData.UnityAppUser); }
public async Task<bool> Logon(CancellationToken ct) { string jsonresultUserAuth = ""; string sAppUser = ""; CredentialPickerOptions co = new CredentialPickerOptions(); co.Message = "Please enter your logid and password."; co.AuthenticationProtocol = AuthenticationProtocol.Basic; co.AlwaysDisplayDialog = true; co.Caption = "Allscripts Wand"; co.TargetName = this.ToString(); co.CallerSavesCredential = false; co.CredentialSaveOption = CredentialSaveOption.Hidden; CredentialPickerResults credPickerResults = await CredentialPicker.PickAsync(co).AsTask(ct); if (credPickerResults.ErrorCode == 0) { if (string.IsNullOrEmpty(objUnityData.UnityURL)) { MessageDialog md = new MessageDialog("Unity URL not set. please set this in the Settings charm and try again."); await md.ShowAsync(); // m_sURL = "http://10.160.146.32/unity/unityservice.svc/json/"; // UnityData.UnityURL = m_sURL; return false; } UnityDataAccess uda = new UnityDataAccess(); //todo remove dztest harcodes, make appname for metro string sToken = await uda.GetToken(objUnityData.UnitySvcUser, objUnityData.UnitySvcPwd, objUnityData.UnityAppUser); //set once for the app. if (!string.IsNullOrEmpty(sToken)) objUnityData.Token = sToken; //todo make this xml string accurate with device names. string sXML = "<context><identifier>3baf035536659932886622bc99820eb5d6980bee</identifier><model>test</model>" + "<deviceName>testdev</deviceName><systemName>metro</systemName><systemVersion>4.3.5</systemVersion>" + "<appVersion>1.0</appVersion></context>"; //use jmedici demo if no creds are supplied. if (string.IsNullOrEmpty(credPickerResults.CredentialUserName)) { string spwd = "password01"; jsonresultUserAuth = await uda.Magic("getuserauthentication", "jmedici", objUnityData.UnityAppName, "", sToken, spwd, "", "1.0", sXML, "", string.Empty, null); sAppUser = "******"; } else { jsonresultUserAuth = await uda.Magic("getuserauthentication", credPickerResults.CredentialUserName.ToString(), objUnityData.UnityAppName, "", sToken, credPickerResults.CredentialPassword.ToString(), "", "1.0", sXML, "", string.Empty, null); sAppUser = credPickerResults.CredentialUserName.ToString(); } // JArray obj = Newtonsoft.Json.Linq.JArray.Parse(jsonresultUserAuth); JObject jo = JObject.Parse(obj[0].ToString()); //todo handle invalid and locked out users. string sValidUser = ((string)jo["getuserauthenticationinfo"][0]["ValidUser"]); string sLockOut = ((string)jo["getuserauthenticationinfo"][0]["Lockout"]); string sError = ((string)jo["getuserauthenticationinfo"][0]["ErrorMessage"]); if (!string.IsNullOrEmpty(sError)) { MessageDialog md = new MessageDialog("login error :" + sError); await md.ShowAsync(); // await Logon(ct); return false; } else { objUnityData.UnityAppUser = sAppUser ; return true; } } else { return false; } }