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 GetFilesAndForms(StatusDownloadFilesAndForms loghandler) { RequestData requestData = new RequestData(); var user = DBLocalDataStore.GetInstance().GetLocalUserInfo(); requestData.password = user.password; requestData.username = user.username; requestData.profile = DBLocalDataStore.GetInstance().GetSelectProfile().shortName; requestData.tags = new string[] { user.tags }; var jsonUser = JsonConvert.SerializeObject(requestData); var httpWebRequest = (HttpWebRequest)WebRequest.Create(ServerURLs.filesAndFormsURL); try { httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; httpWebRequest.ServicePoint.ConnectionLimit = 3; httpWebRequest.Timeout = 30000; httpWebRequest.KeepAlive = false; using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(jsonUser); } var response = await httpWebRequest.GetResponseAsync(); NetworkRequests.GetFilesAndFormsFromResponse(response, loghandler); } catch (Exception ex) { Console.Error.WriteLine(ex.Message); throw; } finally { httpWebRequest.Abort(); } }