public async Task <UpdateStatusViewModel> Create(PreclaimCreateRequest request) { var sessions = Core.Token; _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessions); var json = JsonConvert.SerializeObject(request); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await _client.PostAsync($"/api/preclaims", httpContent); var result = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <UpdateStatusViewModel>(result)); } return(null); }
private async void SaveDataToDatabase() { try { PeclaimChangeListRequest request = new PeclaimChangeListRequest(); int countSend = 0; int countSended = 0; int countrun = 0; int totalrun = 0; int totalInserted = 0; int totalUpdateSucc = 0; DateTime startTime = DateTime.Now; dataImport1.Clear(); //save if (totalPageIm % Core.countPerSave == 0) { countSend = dataImport.Count / Core.countPerSave; } else { countSend = dataImport.Count / Core.countPerSave + 1; } foreach (var item in dataImport) { //if(item.MONTH != 8) //{ // int a = 1; //} countrun++; totalrun++; #region create list PreclaimCreateRequest pre = new PreclaimCreateRequest(); pre.Asset_ID = item.Asset_ID; pre.ISRC = item.ISRC; pre.Comp_Asset_ID = item.Comp_Asset_ID; pre.C_Title = item.C_Title; pre.C_ISWC = item.C_ISWC; pre.C_Workcode = item.C_Workcode; pre.C_Writers = item.C_Writers; pre.Combined_Claim = item.Combined_Claim; pre.Mechanical = item.Mechanical; pre.Performance = item.Performance; //pre.MONTH = item.MONTH; pre.DtCREATED_AT = item.DtCREATED_AT; pre.DtUPDATED_AT = item.DtUPDATED_AT; //pre.Year = item.Year; request.Items.Add(pre); #endregion if (countrun == Core.countPerSave || totalrun == dataImport.Count) { //send request.Total = countrun; var changeData = await _preclaimController.ChangeList(request); #region get info from reponse if (changeData != null && changeData.Items != null) { //insert totalInserted += changeData.Items.Where ( p => p.Command == Utilities.Common.CommandType.Add && p.Status == Utilities.Common.UpdateStatus.Successfull ).Count(); //update totalUpdateSucc += changeData.Items.Where ( p => p.Command == Utilities.Common.CommandType.Update && p.Status == Utilities.Common.UpdateStatus.Successfull ).Count(); List <UpdateStatusViewModel> uvmL = changeData.Items.Where ( p => p.Command == Utilities.Common.CommandType.Update && p.Status == Utilities.Common.UpdateStatus.Failure //test ).ToList(); foreach (var uvm in uvmL) { PreclaimViewModel x = dataImport.Where(p => p.Asset_ID == uvm.Asset_id).FirstOrDefault(); if (x != null) { dataImport1.Add(x); } } dataImport1 = dataImport1.OrderBy(p => p.SerialNo).ToList(); } #endregion //clear request.Items.Clear(); countrun = 0; //cap nhat phan tram countSended++; mainStatus.Invoke(new MethodInvoker(delegate { float values = (float)countSended / (float)countSend * 100; progressBarImport.Value = (int)values; progressBarImport.ToolTipText = progressBarImport.Value.ToString(); })); } } //view int totalFailure = 0; if (dataImport1 != null && dataImport1.Count > 0) { totalFailure = dataImport1.Count; if (totalFailure % limitIm1 == 0) { totalPageIm1 = totalFailure / limitIm1; } else { totalPageIm1 = totalFailure / limitIm1 + 1; } lbTotalPage1.Invoke(new MethodInvoker(delegate { lbTotalPage1.Text = totalPageIm1.ToString(); })); GotoPage1(currentPageIm1, totalPageIm1); mainStatus.Invoke(new MethodInvoker(delegate { lbInfo.Text = $"Total records saveing be failure: {totalFailure}"; })); } else { dataImport1 = new List <PreclaimViewModel>(); currentDataImView1 = new List <PreclaimViewModel>(); dgvImportFailure.Invoke(new MethodInvoker(delegate { dgvImportFailure.DataSource = currentDataImView1; })); mainStatus.Invoke(new MethodInvoker(delegate { lbInfo.Text = "Saving is successfull!"; })); } mainStatus.Invoke(new MethodInvoker(delegate { progressBarImport.Value = 100; progressBarImport.ToolTipText = progressBarImport.Value.ToString(); })); DateTime endTime = DateTime.Now; lbInfoImport1.Invoke(new MethodInvoker(delegate { lbInfoImport1.Text = $"Time load(second(s)): {(endTime - startTime).TotalSeconds.ToString("##0.##")}, "; lbInfoImport1.Text += $"total add new(s): {totalInserted}, total Update(s): {totalUpdateSucc}, "; lbInfoImport1.Text += $"total Failure: {totalFailure}"; })); } catch (Exception) { mainStatus.Invoke(new MethodInvoker(delegate { lbInfo.Text = "send request to server be error"; })); } }
public async Task <UpdateStatusViewModel> Create(PreclaimCreateRequest request) { var result = await _apiClient.Create(request); return(result); }