public async Task <UpdateStatusViewModelList> ChangeList(WorkChangeListRequest 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/works/ChangeList", httpContent); var result = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <UpdateStatusViewModelList>(result)); } return(null); }
private async void SysnData() { try { if (dataMaster == null || dataMaster.Items == null || dataMaster.Items.Count == 0) { return; } isSync = true; int totalSuccess = 0; int total = 0; for (int i = 0; i < dataMaster.Items.Count; i++) { total += dataMaster.Items[i].Items.Count(); } if (total == 0) { statusMain.Invoke(new MethodInvoker(delegate { lbInfo.Text = $"Proccessing sync is finish"; lbOperation.Text = "Data is empty, so not sync to work"; })); isSync = false; return; } statusMain.Invoke(new MethodInvoker(delegate { lbOperation.Text = "Sync..."; })); DateTime TheFiestTime = DateTime.Now; statusMain.Invoke(new MethodInvoker(delegate { progressBarImport.Value = 0; lbPercent.Text = "0%"; })); statusMain.Invoke(new MethodInvoker(delegate { lbInfo.Text = $"Proccessing sync..."; })); btnSysToWork.Invoke(new MethodInvoker(delegate { btnSysToWork.Enabled = false; })); btnMatch.Invoke(new MethodInvoker(delegate { btnMatch.Enabled = false; })); btnLoadMasterList.Invoke(new MethodInvoker(delegate { btnLoadMasterList.Enabled = false; })); //btnLoadDetails.Invoke(new MethodInvoker(delegate //{ // btnLoadDetails.Enabled = false; //})); btnExportExcel.Invoke(new MethodInvoker(delegate { btnExportExcel.Enabled = false; })); DateTime startTime = DateTime.Now; for (int i = 0; i < dataMaster.Items.Count; i++) { WorkChangeListRequest request = new WorkChangeListRequest(); string codeWriter = VnHelper.ConvertToUnSign(dataMaster.Items[i].IntNo.ToUpper()); string nameWriter = VnHelper.ConvertToUnSign(dataMaster.Items[i].Member.ToUpper()); foreach (var item in dataMaster.Items[i].Items) { if (!request.Items.Where(p => p.WK_INT_NO == item.WorkIntNo.ToUpper()).Any()) { WorkCreateRequest itmUpdate = new WorkCreateRequest(); itmUpdate.WK_INT_NO = VnHelper.ConvertToUnSign(item.WorkIntNo.ToUpper()); itmUpdate.TTL_ENG = VnHelper.ConvertToUnSign(item.Title.Trim().ToUpper()); //vi other title giong voi title nen khong can them //itmUpdate.OtherTitles.Add(new Shared.Mis.Works.OtherTitle //{ // No = 1, // Title = itmUpdate.TTL_ENG //}) ; itmUpdate.InterestedParties.Add(new Shared.Mis.Works.InterestedParty { No = 1, IP_INT_NO = codeWriter, IP_NAME = nameWriter, IP_WK_ROLE = item.Role, //TODO 2020-10-02 //WK_STATUS = "COMPLETE", PER_OWN_SHR = item.Share, PER_COL_SHR = item.Share, MEC_OWN_SHR = item.Share, MEC_COL_SHR = item.Share, SP_SHR = item.Share, TOTAL_MEC_SHR = item.Share, SYN_OWN_SHR = item.Share, SYN_COL_SHR = item.Share, Society = "",//rong se khong cap nhat CountUpdate = 1, LastUpdateAt = DateTime.Now, LastChoiseAt = DateTime.Now, IP_NUMBER = dataMaster.Items[i].IPINameNo, IP_NAME_LOCAL = "", //rong se khong cap nhat IP_NAMETYPE = "", //rong se khong cap nhat }); itmUpdate.WRITER = nameWriter; itmUpdate.ARTIST = string.Empty; itmUpdate.SOC_NAME = string.Empty; itmUpdate.WK_STATUS = "COMPLETE"; request.Items.Add(itmUpdate); } } //request.Items var data = await controller.ChangeList(request); statusMain.Invoke(new MethodInvoker(delegate { float values = (float)(i + 1) / (float)dataMaster.Items.Count * 100; progressBarImport.Value = (int)values; lbPercent.Text = $"{((int)values).ToString()}%"; })); totalSuccess += data.Items.Where(p => p.Status == Utilities.Common.UpdateStatus.Successfull).ToList().Count; statusMain.Invoke(new MethodInvoker(delegate { lbOperation.Text = $"Sync..., total sync success/total: {totalSuccess}/{total}"; })); } #region update Ui when finish btnSysToWork.Invoke(new MethodInvoker(delegate { btnSysToWork.Enabled = true; })); btnMatch.Invoke(new MethodInvoker(delegate { btnMatch.Enabled = true; })); btnLoadMasterList.Invoke(new MethodInvoker(delegate { btnLoadMasterList.Enabled = true; })); //btnLoadDetails.Invoke(new MethodInvoker(delegate //{ // btnLoadDetails.Enabled = true; //})); btnExportExcel.Invoke(new MethodInvoker(delegate { btnExportExcel.Enabled = true; })); statusMain.Invoke(new MethodInvoker(delegate { lbInfo.Text = $"sync tracking work to work be finish, total time {(DateTime.Now - TheFiestTime).TotalSeconds}(s)"; lbInfo.Text += $", total sync success/total: {totalSuccess}/{total}"; })); statusMain.Invoke(new MethodInvoker(delegate { lbOperation.Text = "Sync is finish"; })); #endregion isSync = false; } catch (Exception) { isSync = false; if (btnMatch != null && !btnMatch.IsDisposed) { btnMatch.Invoke(new MethodInvoker(delegate { btnMatch.Enabled = true; })); } if (btnLoadMasterList != null && !btnLoadMasterList.IsDisposed) { btnLoadMasterList.Invoke(new MethodInvoker(delegate { btnLoadMasterList.Enabled = true; })); } //if (btnLoadDetails != null && !btnLoadDetails.IsDisposed) //{ // btnLoadDetails.Invoke(new MethodInvoker(delegate // { // btnLoadDetails.Enabled = true; // })); //} if (btnExportExcel != null && !btnExportExcel.IsDisposed) { btnExportExcel.Invoke(new MethodInvoker(delegate { btnExportExcel.Enabled = true; })); } if (btnSysToWork != null && !btnSysToWork.IsDisposed) { btnSysToWork.Invoke(new MethodInvoker(delegate { btnSysToWork.Enabled = true; })); } if (lbOperation != null && !lbInfo.IsDisposed) { statusMain.Invoke(new MethodInvoker(delegate { lbOperation.Text = $"Sync tracking work to work be failure"; })); } } }
public async Task <UpdateStatusViewModelList> ChangeList(WorkChangeListRequest request) { var result = await _apiClient.ChangeList(request); return(result); }
private async void SysnData() { try { if (dataLoad == null || dataLoad.Count == 0) { return; } int totalSuccess = 0; int total = dataLoad.Count; if (total == 0) { statusMain.Invoke(new MethodInvoker(delegate { lbInfo.Text = $"Proccessing sync is finish"; lbOperation.Text = "Data is empty, so not sync to work"; })); return; } statusMain.Invoke(new MethodInvoker(delegate { lbOperation.Text = "Sync..."; })); DateTime TheFiestTime = DateTime.Now; statusMain.Invoke(new MethodInvoker(delegate { progressBarImport.Value = 0; lbPercent.Text = "0%"; })); statusMain.Invoke(new MethodInvoker(delegate { lbInfo.Text = $"Proccessing sync..."; })); btnSysToWork.Invoke(new MethodInvoker(delegate { btnSysToWork.Enabled = false; })); statusMain.Invoke(new MethodInvoker(delegate { btnLoad.Enabled = false; })); DateTime startTime = DateTime.Now; WorkChangeListRequest request = new WorkChangeListRequest(); string status; string[] writer; string[] writer1; string[] writer2; for (int i = 0; i < dataLoad.Count; i++) { if (reportType == 2) { #region Add if (!request.Items.Where(p => p.WK_INT_NO == dataLoad[i].WK_INT_NO.ToUpper()).Any()) { WorkCreateRequest itmUpdate = new WorkCreateRequest(); itmUpdate.WK_INT_NO = VnHelper.ConvertToUnSign(dataLoad[i].WK_INT_NO.ToUpper()); itmUpdate.TTL_ENG = VnHelper.ConvertToUnSign(dataLoad[i].TTL_ENG.Trim().ToUpper()); itmUpdate.TTL_LOCAL = dataLoad[i].TTL_LOCAL.Trim().ToUpper(); itmUpdate.WK_STATUS = dataLoad[i].STATUS; #region Tac gia itmUpdate.InterestedParties.Add(new Shared.Mis.Works.InterestedParty { No = itmUpdate.InterestedParties.Count + 1, IP_INT_NO = dataLoad[i].InternalNo, IP_NAME = dataLoad[i].WRITER, IP_WK_ROLE = dataLoad[i].WK_ROLE, PER_OWN_SHR = dataLoad[i].PER_OWN_SHR, PER_COL_SHR = dataLoad[i].PER_OWN_SHR, MEC_OWN_SHR = dataLoad[i].MEC_COL_SHR, MEC_COL_SHR = dataLoad[i].MEC_COL_SHR, SP_SHR = dataLoad[i].PER_OWN_SHR, TOTAL_MEC_SHR = dataLoad[i].MEC_COL_SHR, SYN_OWN_SHR = 0, SYN_COL_SHR = 0, Society = dataLoad[i].Society, CountUpdate = 1, LastUpdateAt = DateTime.Now, LastChoiseAt = DateTime.Now, IP_NUMBER = dataLoad[i].IpNumber, IP_NAME_LOCAL = dataLoad[i].WRITER_LOCAL, IP_NAMETYPE = dataLoad[i].IP_NAME_TYPE, }); #endregion itmUpdate.WRITER = dataLoad[i].WRITER; itmUpdate.WRITER_LOCAL = dataLoad[i].WRITER_LOCAL; itmUpdate.ARTIST = dataLoad[i].ARTIST; itmUpdate.SOC_NAME = dataLoad[i].SOC_NAME; itmUpdate.ISWC_NO = dataLoad[i].ISWC_NO; itmUpdate.ISRC = dataLoad[i].ISRC; request.Items.Add(itmUpdate); } else { var item = request.Items.Where(p => p.WK_INT_NO == dataLoad[i].WK_INT_NO).FirstOrDefault(); if (item != null) { #region tac gia if (!item.InterestedParties.Where(p => p.IP_INT_NO == dataLoad[i].WK_INT_NO).Any()) { item.InterestedParties.Add(new Shared.Mis.Works.InterestedParty { No = item.InterestedParties.Count + 1, IP_INT_NO = dataLoad[i].InternalNo, IP_NAME = dataLoad[i].WRITER, IP_WK_ROLE = dataLoad[i].WK_ROLE, //TODO 2020-10-02 //WK_STATUS = dataLoad[i].STATUS, PER_OWN_SHR = dataLoad[i].PER_OWN_SHR, PER_COL_SHR = dataLoad[i].PER_OWN_SHR, MEC_OWN_SHR = dataLoad[i].MEC_COL_SHR, MEC_COL_SHR = dataLoad[i].MEC_COL_SHR, SP_SHR = dataLoad[i].PER_OWN_SHR, TOTAL_MEC_SHR = dataLoad[i].MEC_COL_SHR, SYN_OWN_SHR = 0, SYN_COL_SHR = 0, Society = dataLoad[i].Society, CountUpdate = 1, LastUpdateAt = DateTime.Now, LastChoiseAt = DateTime.Now, IP_NUMBER = dataLoad[i].IpNumber, IP_NAME_LOCAL = dataLoad[i].WRITER_LOCAL, IP_NAMETYPE = dataLoad[i].IP_NAME_TYPE, }); if (item.WRITER != string.Empty) { item.WRITER += ","; } item.WRITER += dataLoad[i].WRITER; if (item.WRITER_LOCAL != string.Empty) { item.WRITER_LOCAL += ","; } item.WRITER_LOCAL += dataLoad[i].WRITER_LOCAL; } else { //int a = 1; } #endregion #region Other title if ((item.TTL_ENG != dataLoad[i].TTL_ENG) && (!item.OtherTitles.Where(p => p.Title == dataLoad[i].TTL_ENG).Any())) { item.OtherTitles.Add(new Shared.Mis.Works.OtherTitle { No = item.OtherTitles.Count + 1, Title = dataLoad[i].TTL_ENG, TTL_LOCAL = dataLoad[i].TTL_LOCAL, }); } else { //int a = 1; } #endregion } } #endregion } else { #region Add if (!request.Items.Where(p => p.WK_INT_NO == dataLoad[i].WK_INT_NO.ToUpper()).Any()) { WorkCreateRequest itmUpdate = new WorkCreateRequest(); itmUpdate.WK_INT_NO = VnHelper.ConvertToUnSign(dataLoad[i].WK_INT_NO.ToUpper()); itmUpdate.TTL_ENG = VnHelper.ConvertToUnSign(dataLoad[i].TTL_ENG.Trim().ToUpper()); itmUpdate.TTL_LOCAL = dataLoad[i].TTL_LOCAL.Trim().ToUpper(); itmUpdate.WK_STATUS = dataLoad[i].STATUS; if (dataLoad[i].WK_INT_NO == "17615461") { //int a = 1; } //HUNSAKER JASON BRADLEY,MARCKS WILLIAM DANIEL,WILCOX JAMES STEVEN,WOOD JEREMY M writer = dataLoad[i].WRITER.Split(','); //nhac writer1 = dataLoad[i].WRITER2.Split(','); //loi writer2 = dataLoad[i].WRITER3.Split(','); string role = string.Empty; for (int k = 0; k < writer.Length; k++) { #region role if (dataLoad[i].WRITER2.Length > 0 || dataLoad[i].WRITER3.Length > 0) { //loi trong=> CA if (dataLoad[i].WRITER3.Length == 0) { role = "CA"; } //nam trong loi else if (writer2.Contains(writer[k].Trim())) { role = "A"; } else { //nhac role = "C"; } } #endregion #region Tac gia if (writer[k] != string.Empty) { itmUpdate.InterestedParties.Add(new Shared.Mis.Works.InterestedParty { No = itmUpdate.InterestedParties.Count + 1, //CHo nay neu danh sach co ma thi phai xu ly khac IP_INT_NO = dataLoad[i].InternalNo, IP_NAME = writer[k].Trim(), IP_WK_ROLE = role, PER_OWN_SHR = 0, PER_COL_SHR = 0, MEC_OWN_SHR = 0, MEC_COL_SHR = 0, SP_SHR = 0, TOTAL_MEC_SHR = 0, SYN_OWN_SHR = 0, SYN_COL_SHR = 0, Society = dataLoad[i].Society, CountUpdate = 1, LastUpdateAt = DateTime.Now, LastChoiseAt = DateTime.Now, IP_NUMBER = dataLoad[i].IpNumber, IP_NAME_LOCAL = dataLoad[i].WRITER_LOCAL, IP_NAMETYPE = dataLoad[i].IP_NAME_TYPE, }); } #endregion } itmUpdate.WRITER = dataLoad[i].WRITER; itmUpdate.WRITER_LOCAL = dataLoad[i].WRITER_LOCAL; itmUpdate.ARTIST = dataLoad[i].ARTIST; itmUpdate.SOC_NAME = dataLoad[i].SOC_NAME; itmUpdate.ISWC_NO = dataLoad[i].ISWC_NO; itmUpdate.ISRC = dataLoad[i].ISRC; request.Items.Add(itmUpdate); } else { int a = 1; var item = request.Items.Where(p => p.WK_INT_NO == dataLoad[i].WK_INT_NO).FirstOrDefault(); writer = dataLoad[i].WRITER.Split(','); //nhac writer1 = dataLoad[i].WRITER2.Split(','); //loi writer2 = dataLoad[i].WRITER3.Split(','); string role = string.Empty; for (int k = 0; k < writer.Length; k++) { #region role if (dataLoad[i].WRITER2.Length > 0 || dataLoad[i].WRITER3.Length > 0) { //loi trong=> CA if (dataLoad[i].WRITER3.Length == 0) { role = "CA"; } //nam trong loi else if (writer2.Contains(writer[k].Trim())) { role = "A"; } else { //nhac role = "C"; } } #endregion if (item != null) { #region tac gia if (!item.InterestedParties.Where(p => p.IP_INT_NO == dataLoad[i].WK_INT_NO).Any()) { item.InterestedParties.Add(new Shared.Mis.Works.InterestedParty { No = item.InterestedParties.Count + 1, //cho nay co ma thi phai xu ly khac IP_INT_NO = dataLoad[i].InternalNo, IP_NAME = writer[k].Trim(), IP_WK_ROLE = dataLoad[i].WK_ROLE, //TODO 2020-10-02 //WK_STATUS = dataLoad[i].STATUS, PER_OWN_SHR = dataLoad[i].PER_OWN_SHR, PER_COL_SHR = dataLoad[i].PER_OWN_SHR, MEC_OWN_SHR = dataLoad[i].MEC_COL_SHR, MEC_COL_SHR = dataLoad[i].MEC_COL_SHR, SP_SHR = dataLoad[i].PER_OWN_SHR, TOTAL_MEC_SHR = dataLoad[i].MEC_COL_SHR, SYN_OWN_SHR = 0, SYN_COL_SHR = 0, //cho nay co ma, chac chan socity se khac Society = dataLoad[i].Society, CountUpdate = 1, LastUpdateAt = DateTime.Now, LastChoiseAt = DateTime.Now, IP_NUMBER = dataLoad[i].IpNumber, IP_NAME_LOCAL = dataLoad[i].WRITER_LOCAL, IP_NAMETYPE = dataLoad[i].IP_NAME_TYPE, }); if (item.WRITER != string.Empty) { item.WRITER += ","; } item.WRITER += dataLoad[i].WRITER; if (item.WRITER_LOCAL != string.Empty) { item.WRITER_LOCAL += ","; } item.WRITER_LOCAL += dataLoad[i].WRITER_LOCAL; } else { //int a = 1; } #endregion #region Other title if ((item.TTL_ENG != dataLoad[i].TTL_ENG) && (!item.OtherTitles.Where(p => p.Title == dataLoad[i].TTL_ENG).Any())) { item.OtherTitles.Add(new Shared.Mis.Works.OtherTitle { No = item.OtherTitles.Count + 1, Title = dataLoad[i].TTL_ENG, TTL_LOCAL = dataLoad[i].TTL_LOCAL, }); } else { //int a = 1; } #endregion } } } #endregion } #region Update if (request.Items.Count >= Core.LimitRequestUpdate || i == dataLoad.Count - 1) { UpdateStatusViewModelList reponse = null; //request.Items reponse = await controller.ChangeList(request); if (reponse == null) { reponse = new UpdateStatusViewModelList { Items = new List <UpdateStatusViewModel>() }; } request.Items.Clear(); #region UI statusMain.Invoke(new MethodInvoker(delegate { float values = (float)(i + 1) / (float)dataLoad.Count * 100; progressBarImport.Value = (int)values; lbPercent.Text = $"{((int)values).ToString()}%"; })); totalSuccess += reponse.Items.Where(p => p.Status == Utilities.Common.UpdateStatus.Successfull).ToList().Count; statusMain.Invoke(new MethodInvoker(delegate { lbOperation.Text = $"Sync..., total sync success/total: {totalSuccess}/{total}"; })); #endregion } #endregion } #region update Ui when finish if (request.Items.Count > 0) { //int a = 1; } btnSysToWork.Invoke(new MethodInvoker(delegate { btnSysToWork.Enabled = true; })); statusMain.Invoke(new MethodInvoker(delegate { btnLoad.Enabled = true; })); statusMain.Invoke(new MethodInvoker(delegate { lbInfo.Text = $"sync tracking work to work be finish, total time {(DateTime.Now - TheFiestTime).TotalSeconds}(s)"; lbInfo.Text += $", total sync success/total: {totalSuccess}/{total}"; })); statusMain.Invoke(new MethodInvoker(delegate { lbOperation.Text = "Sync is finish"; })); #endregion } catch (Exception) { if (statusMain != null && !statusMain.IsDisposed) { statusMain.Invoke(new MethodInvoker(delegate { btnLoad.Enabled = true; })); } if (btnSysToWork != null && !btnSysToWork.IsDisposed) { btnSysToWork.Invoke(new MethodInvoker(delegate { btnSysToWork.Enabled = true; })); } if (lbOperation != null && !lbInfo.IsDisposed) { statusMain.Invoke(new MethodInvoker(delegate { lbOperation.Text = $"Sync tracking work to work be failure"; })); } } }