private async void buttonLoadRecords_Click(object sender, EventArgs e) { ResetUi(); //Sync Approvals from Remote(Site) Server toolStripStatusLabel.Text = @"Checking for and synchronising Approvals if any. Please Wait..."; //DatabaseOpperations.SyncApprovals(); toolStripStatusLabel.Text = @"Loading data to be synchronised. Please Wait..."; //var totalRecords = DatabaseOpperations.GetTotalRecordCount(); var reasons = new List <FingerprintReason>(); var result = await Task.Run(() => { SyncBacklogInput input = new SyncBacklogInput { SyncMode = GetSyncMode(), FilterStart = dateTimePickerFrom.Value, FilterEnd = dateTimePickerTo.Value, EnrollmentId = textBoxRecordID.Text }; //Load data whose ApprovalStatus == pending for synchronisation using the filter option : 'input' return(DatabaseOpperations.GetSyncBacklog(new Project(), input, out reasons)); }); //Retrieve BaseData Result _BaseDatas = result; //Display Result Count on the Screen //labelTotalRecords.Text = totalRecords.ToString(); labelRecordInSyncQueue.Text = _BaseDatas.Any() ? _BaseDatas.Count().ToString() : "0"; toolStripStatusLabel.Text = @"Loading Completed"; DisableUI(true); }
private async Task <List <EnrollmentBackup> > InitExport() { try { ResetExportUi(); toolStripStatusLabel.Text = @"Loading data for Export. Please Wait..."; var result = await Task.Run(() => { var backupMode = GetBackUpMode(); if (backupMode == SyncMode.Specific) { if (string.IsNullOrEmpty(txtSingleBackup.Text)) { MessageBox.Show(@"Please provide the specific EnrolleeId for Export"); return(new List <EnrollmentBackup>()); } } var input = new SyncBacklogInput { SyncMode = GetBackUpMode(), FilterStart = backupStartDate.Value, FilterEnd = backupEndDate.Value, EnrollmentId = txtSingleBackup.Text }; //Load data for backup using the filter option : 'input' return(DatabaseOpperations.GenerateBackup(new Project(), input)); }); //Display Result Count on the Screen lblTotalExport.Text = result.Count.ToString(); toolStripStatusLabel.Text = @"Data Loading Completed"; return(result); } catch (Exception e) { MessageBox.Show(e.Message); return(new List <EnrollmentBackup>()); } }
private async Task <string> SyncEnrollmentDataForms(string destinationUrl, string projectCode) { try { if (!_BaseDatas.Any()) { MessageBox.Show(@"Please Click on the 'Sync Approvals and Load Records' button!"); return(string.Empty); } var subfolders = new List <string>(); var input = new SyncBacklogInput { SyncMode = GetBackUpMode(), FilterStart = backupStartDate.Value, FilterEnd = backupEndDate.Value, EnrollmentId = txtSingleBackup.Text }; if (input.SyncMode == SyncMode.Specific) { subfolders = new List <string> { Path.Combine(Settings.Default.SavedFilesDir, input.EnrollmentId) }; } if (input.SyncMode == SyncMode.Filtered || input.SyncMode == SyncMode.AllPending) { subfolders = new List <string>(); _BaseDatas.ForEach(b => { subfolders.Add(Path.Combine(Settings.Default.SavedFilesDir, b.EnrollmentId)); }); } if (!subfolders.Any()) { MessageBox.Show(@"There are no data forms to synchronise."); return(string.Empty); } var message = new HttpRequestMessage(); var content = new MultipartFormDataContent(); subfolders.ForEach(d => { var myFiles = Directory.GetFiles(d); if (myFiles.Any()) { var dirName = new DirectoryInfo(d).Name; if (!string.IsNullOrEmpty(dirName)) { var files = myFiles.Where(s => { var fileName = Path.GetFileName(s); return(fileName != null && fileName.Contains(dirName.Replace("-", "") + "_dataForm")); }).ToList(); if (files.Any()) { var filestream = new FileStream(files[0], FileMode.Open); var fName = Path.GetFileName(files[0]); content.Add(new StreamContent(filestream), dirName, fName); } } } }); if (!content.Any()) { MessageBox.Show(@"The data forms to be synchronised could not be retrieved."); return(string.Empty); } message.Method = HttpMethod.Post; message.Content = content; message.RequestUri = new Uri(destinationUrl + "?projectCode=" + projectCode); var client = new HttpClient(); string ty = null; await client.SendAsync(message).ContinueWith(task => { if (task.Result.IsSuccessStatusCode) { ty = task.Result.Content.ReadAsStringAsync().Result; } return(string.Empty); }); return(ty); } catch (Exception ex) { return(string.Empty); } }