private static void GetFilesAndFormsFromResponse(WebResponse response, StatusDownloadFilesAndForms loghandler) { var httpResponse = response.GetResponseStream(); using (var streamReader = new StreamReader(httpResponse)) { var result = streamReader.ReadToEnd(); var receivedData = JsonConvert.DeserializeObject <CampaignAppUpdateRequestResult>(result); if (receivedData.success) { if (receivedData.defaultForm != null) { DBLocalDataStore.GetInstance().AddLocalFormDefinitions(new[] { receivedData.defaultForm }, receivedData.defaultForm.uuid); } else { DBLocalDataStore.GetInstance().AddLocalFormDefinitions(receivedData.forms); } DBLocalDataStore.GetInstance().ClearAllFiles(); DBLocalDataStore.GetInstance().ClearAllFolders(); DBLocalDataStore.GetInstance().AddLocalFolders(receivedData.folders); DBAppInfo appInfo = new DBAppInfo(); appInfo.appType = (receivedData.appType != null) ? receivedData.appType.ToLower() : null; appInfo.campaignReference = receivedData.campaignReference; appInfo.welcomeImageURL = (receivedData.welcomeScreenImage != null) ? receivedData.welcomeScreenImage.downloadUrl : null; appInfo.finishedImageURL = (receivedData.finishedScreenImage != null) ? receivedData.finishedScreenImage.downloadUrl : null; appInfo.welcomeImageFileType = (receivedData.welcomeScreenImage != null) ? receivedData.welcomeScreenImage.fileType : null; appInfo.finishedImageFileType = (receivedData.finishedScreenImage != null) ? receivedData.finishedScreenImage.fileType : null; appInfo.welcomeImageLocalPath = null; appInfo.finishedImageLocalPath = null; appInfo.welcomeImageMD5 = (receivedData.welcomeScreenImage != null) ? receivedData.welcomeScreenImage.md5 : null; appInfo.finishedImageMD5 = (receivedData.finishedScreenImage != null) ? receivedData.finishedScreenImage.md5 : null; DBLocalDataStore.GetInstance().SetAppInfo(appInfo); if (receivedData.folders.Length == 0) { DBLocalDataStore.GetInstance().ShowLocalFiles(true); } else { DBLocalDataStore.GetInstance().ShowLocalFiles(false); } loghandler(true, "Files and forms updated from server", appInfo.appType.ToLower().Equals("kiosk")); } else { loghandler(false, receivedData.error, false); } } }
public static async Task <DBlocalContact> contactLookup(string contactUID) { Console.Error.WriteLine("Lookup started at: {0:HH:mm:ss.ffff}", DateTime.Now); DBAppInfo appInfo = DBLocalDataStore.GetInstance().GetAppInfo(); var user = DBLocalDataStore.GetInstance().GetLocalUserInfo(); LookupContext lookup = new LookupContext(contactUID); lookup.context = new RequestData(); var output = lookup.context; output.password = user.password; output.username = user.username; output.profile = DBLocalDataStore.GetInstance().GetSelectProfile().shortName; output.tags = new string[] { user.tags }; output.campaignReference = appInfo.campaignReference; var jsonUser = JsonConvert.SerializeObject(lookup); var httpWebRequest = (HttpWebRequest)WebRequest.Create(ServerURLs.contactLookupURL); try { //throw new Exception("TEST EXCEPTION"); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; httpWebRequest.Timeout = 30000; httpWebRequest.KeepAlive = false; using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(jsonUser); } var response = await httpWebRequest.GetResponseAsync(); return(NetworkRequests.getContactFromLookup(response)); } catch (Exception ex) { Console.Error.WriteLine(ex.Message); throw; } finally { Console.Error.WriteLine("Lookup finished at: {0:HH:mm:ss.ffff}", DateTime.Now); httpWebRequest.Abort(); } }
public static async Task GetContacts(StatusDownload loghandler) { SyncContext scr = new SyncContext(); DBAppInfo appInfo = DBLocalDataStore.GetInstance().GetAppInfo(); var user = DBLocalDataStore.GetInstance().GetLocalUserInfo(); scr.context = new RequestData(); var output = scr.context; output.password = user.password; output.username = user.username; output.profile = DBLocalDataStore.GetInstance().GetSelectProfile().shortName; output.tags = new string[] { user.tags }; output.campaignReference = appInfo.campaignReference; var jsonUser = JsonConvert.SerializeObject(scr); var httpWebRequest = (HttpWebRequest)WebRequest.Create(ServerURLs.contactsURLNew); try { //throw new Exception("TEST EXCEPTION"); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; httpWebRequest.Timeout = 30000; httpWebRequest.KeepAlive = false; using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(jsonUser); } var response = await httpWebRequest.GetResponseAsync(); NetworkRequests.GetContactsFromResponse(response, loghandler); } catch (Exception ex) { Console.Error.WriteLine(ex.Message); throw; } finally { httpWebRequest.Abort(); } }