public async Task <UpdateStatusViewModelList> ChangeList(MonopolyChangeListRequest 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/monopolys/ChangeList", httpContent); var result = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <UpdateStatusViewModelList>(result)); } return(null); }
public async Task <UpdateStatusViewModelList> ChangeList(MonopolyChangeListRequest request) { var result = await _apiClient.ChangeList(request); return(result); }
private async void SaveDataToDatabase() { try { currentDataImView1 = new List <MonopolyViewModel>(); dataImport1 = new List <MonopolyViewModel>(); dgvImportFailure.Invoke(new MethodInvoker(delegate { dgvImportFailure.DataSource = currentDataImView1; })); MonopolyChangeListRequest request = new MonopolyChangeListRequest(); request.Group = group; 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) { countrun++; totalrun++; #region create WorkTrackingCreateRequest MonopolyCreateRequest updateObj = new MonopolyCreateRequest(); updateObj.Group = item.Group; updateObj.CodeOld = item.CodeOld; updateObj.CodeNew = item.CodeNew; updateObj.Name = item.Name; updateObj.Name2 = item.Name2; updateObj.NameType = item.NameType; updateObj.Own = item.Own; updateObj.Own2 = item.Own2; updateObj.NoteMono = item.NoteMono; updateObj.StartTime = item.StartTime; updateObj.EndTime = item.EndTime; updateObj.UpdateTime = item.UpdateTime; updateObj.ReceiveTime = item.ReceiveTime; updateObj.Note2 = item.Note2; //thời điểm nhận thông tin updateObj.Note3 = item.Note3; //Ghi chú nhận tác phẩm updateObj.Tone = item.Tone; updateObj.Web = item.Web; updateObj.Performances = item.Performances; updateObj.PerformancesHCM = item.PerformancesHCM; updateObj.Cddvd = item.Cddvd; updateObj.Kok = item.Kok; updateObj.Broadcasting = item.Broadcasting; updateObj.Entertaiment = item.Entertaiment; updateObj.Film = item.Film; updateObj.Advertisement = item.Advertisement; updateObj.PubMusicBook = item.PubMusicBook; updateObj.Youtube = item.Youtube; updateObj.Other = item.Other; updateObj.IsExpired = item.IsExpired; request.Items.Add(updateObj); #endregion if (countrun == Core.countPerSave || totalrun == dataImport.Count) { //send request.Total = countrun; var changeData = await _Controller.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 ).ToList(); foreach (var uvm in uvmL) { MonopolyViewModel x = dataImport.Where(p => p.CodeNew == uvm.WorkCode).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 { 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"; })); } }