public async Task <UpdateStatusViewModel> Create(MonopolyCreateRequest 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", httpContent);

            var result = await response.Content.ReadAsStringAsync();

            if (response.IsSuccessStatusCode)
            {
                return(JsonConvert.DeserializeObject <UpdateStatusViewModel>(result));
            }
            return(null);
        }
Exemplo n.º 2
0
        public async Task <UpdateStatusViewModel> Create(MonopolyCreateRequest request)
        {
            var result = await _apiClient.Create(request);

            return(result);
        }
Exemplo n.º 3
0
        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";
                }));
            }
        }