public frmWorkTrackingUpdate(WorkTrackingController Controller, UpdataType view, WorkTrackingViewModel currenObjec)
 {
     InitializeComponent();
     this._Controller  = Controller;
     this._updataType  = view;
     this.currenObject = currenObjec;
 }
示例#2
0
 private void dgvMain_MouseDoubleClick(object sender, MouseEventArgs e)
 {
     try
     {
         if (data == null || data.IsSuccessed == false || data.ResultObj == null || data.ResultObj.Items.Count == 0)
         {
             return;
         }
         if (dgvMain.Rows.Count > 0)
         {
             string id = (string)dgvMain.CurrentRow.Cells["Id"].Value;
             CurrenObject = data.ResultObj.Items.Where(s => s.Id == id).FirstOrDefault();
             if (CurrenObject == null)
             {
                 MessageBox.Show("Eror: recode is null");
                 return;
             }
             frmWorkTrackingUpdate frm = new frmWorkTrackingUpdate(controller, UpdataType.View, CurrenObject);
             frm.ShowDialog();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
        private void LoadFrom()
        {
            if (_updataType == UpdataType.Edit || _updataType == UpdataType.View)
            {
                if (_updataType == UpdataType.Edit)
                {
                    this.Text = "Update Tracking Work";
                }
                else
                {
                    this.Text = "View Tracking Work";
                }
                if (currenObject == null)
                {
                    return;
                }
                #region Common
                txtWK_INT_NO.Text = currenObject.WK_INT_NO.ToString();
                txtTTL_ENG.Text   = currenObject.TTL_ENG;
                txtISWC_NO.Text   = currenObject.ISWC_NO;
                txtISRC.Text      = currenObject.ISRC;
                txtWRITER.Text    = currenObject.WRITER;
                txtARTIST.Text    = currenObject.ARTIST;
                txtSOC_NAME.Text  = currenObject.SOC_NAME;
                if (currenObject.TimeCreate != null)
                {
                    dtTimeCreate.Value = (DateTime)currenObject.TimeCreate;
                }
                else
                {
                    dtTimeCreate.Visible = false;
                    lbTimeCreate.Visible = false;
                }
                if (currenObject.TimeUpdate != null)
                {
                    dtTimeUpdate.Value = (DateTime)currenObject.TimeUpdate;
                }
                else
                {
                    dtTimeUpdate.Visible = false;
                    lbTimeUpdate.Visible = false;
                }
                if (currenObject.Type == 0)
                {
                    cboType.SelectedIndex = 0;
                }
                else
                {
                    cboType.SelectedIndex = 1;
                }
                #endregion

                #region enable
                if (_updataType == UpdataType.View)
                {
                    #region Common
                    txtWK_INT_NO.ReadOnly = true;
                    txtTTL_ENG.ReadOnly   = true;
                    txtISWC_NO.ReadOnly   = true;
                    txtISRC.ReadOnly      = true;
                    txtWRITER.ReadOnly    = true;
                    txtARTIST.ReadOnly    = true;
                    txtSOC_NAME.ReadOnly  = true;

                    btnOk.Enabled        = false;
                    dtTimeCreate.Enabled = false;
                    dtTimeUpdate.Enabled = false;
                    cboType.Enabled      = false;
                    #endregion
                }
                else
                {
                    txtWK_INT_NO.ReadOnly = true;
                }
                #endregion
            }
            else if (_updataType == UpdataType.Add)
            {
                this.Text    = "Add Tracking Work";
                currenObject = new WorkTrackingViewModel();
            }
        }
        private async void SaveDataToDatabase()
        {
            try
            {
                currentDataImView1 = new List <WorkTrackingViewModel>();
                dataImport1        = new List <WorkTrackingViewModel>();
                dgvImportFailure.Invoke(new MethodInvoker(delegate
                {
                    dgvImportFailure.DataSource = currentDataImView1;
                }));

                WorkTrackingChangeListRequest request = new WorkTrackingChangeListRequest();
                request.Year  = year;
                request.Month = month;
                request.Type  = type;
                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
                    WorkTrackingCreateRequest pre = new WorkTrackingCreateRequest();
                    pre.WK_INT_NO = item.WK_INT_NO;
                    pre.TTL_ENG   = item.TTL_ENG;
                    pre.ISWC_NO   = item.ISWC_NO;
                    pre.ISRC      = item.ISRC;
                    pre.WRITER    = item.WRITER;
                    pre.ARTIST    = item.ARTIST;
                    pre.SOC_NAME  = item.SOC_NAME;

                    pre.Type  = item.Type;
                    pre.MONTH = item.MONTH;
                    pre.Year  = item.Year;
                    request.Items.Add(pre);
                    #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)
                            {
                                WorkTrackingViewModel x = dataImport.Where(p => p.WK_INT_NO == 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";
                }));
            }
        }
        private void LoadDataFreClaimJsonfile()
        {
            try
            {
                currentDataImView = new List <WorkTrackingViewModel>();
                dataImport        = new List <WorkTrackingViewModel>();

                dgvImport.Invoke(new MethodInvoker(delegate
                {
                    dgvImport.DataSource = currentDataImView;
                }));

                countImportFromFile = 0;
                DateTime startTime = DateTime.Now;
                totalPageIm = 0;

                DirectionNarrowDisable();
                #region Read file
                string[] files   = Directory.GetFiles(path);
                int      serical = 0;
                foreach (var item in files)
                {
                    string[] list_name = item.Split('\\');
                    string   name      = "";
                    if (list_name.Length > 0)
                    {
                        name = list_name.Last();
                    }
                    string data = JsonHelper.LoadJson(item);
                    WorkRetrievalViewModel source = JsonHelper.JsonToWorkRetrieval(data);

                    for (int i = 0; i < source._object.retrevalList.Count; i++)
                    {
                        serical++;
                        WorkTrackingViewModel preVM = new WorkTrackingViewModel();
                        preVM.SerialNo  = serical;
                        preVM.WK_INT_NO = source._object.retrevalList[i].wkIntNo == null? string.Empty: VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(source._object.retrevalList[i].wkIntNo.ToUpper()));
                        preVM.TTL_ENG   = source._object.retrevalList[i].engTitle == null ? string.Empty : VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(source._object.retrevalList[i].engTitle.ToUpper()));
                        preVM.ISWC_NO   = source._object.retrevalList[i].iswcNo == null ? string.Empty : VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(source._object.retrevalList[i].iswcNo.ToUpper()));
                        preVM.ISRC      = source._object.retrevalList[i].isrcNo == null ? string.Empty : VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(source._object.retrevalList[i].isrcNo.ToUpper()));
                        preVM.WRITER    = source._object.retrevalList[i].composer == null ? string.Empty : VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(source._object.retrevalList[i].composer.ToUpper()));
                        for (int j = 0; j < source._object.retrevalList[i].artiste.Length; j++)
                        {
                            if (preVM.ARTIST.Length > 0)
                            {
                                preVM.ARTIST += ",";
                            }
                            preVM.ARTIST += source._object.retrevalList[i].artiste[j];
                        }
                        preVM.ARTIST = VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(preVM.ARTIST));
                        // preVM.SOC_NAME = dataxxx2._object.retrevalList[i].wkIntNo;
                        preVM.Type  = type;
                        preVM.Year  = year;
                        preVM.MONTH = month;

                        #region bo tac gia tieng viet
                        //VIET HO HUU VIỆTHỒ HỮU
                        //NGUYEN THI SONG NGUYEN = NGUYENXETHISONG NGUYỄN
                        //NGUYEN THI SONG NGUYEN = NGUYENTHISONG NGUYEN
                        if (preVM.WRITER.Length > 0)
                        {
                            //if (preVM.WRITER.Trim() == "VIET HO HUU VIỆTHỒ HỮU")
                            //{
                            //    int a = 1;
                            //}
                            //preVM.WRITER = VnHelper.ConvertToUnSign(preVM.WRITER);
                            string[] ilistWriter  = preVM.WRITER.Trim().Split(',');
                            string[] arrayIwriter = null;
                            string   s1           = "";
                            string   s2           = "";
                            bool     isCorrect    = false;
                            int      pos          = 0;
                            preVM.WRITER = "";
                            string iWriterSub = "";
                            foreach (var iWriter in ilistWriter)
                            {
                                isCorrect    = false;
                                arrayIwriter = iWriter.Trim().Split(' ');
                                if (arrayIwriter.Length > 1)
                                {
                                    string ho = arrayIwriter[arrayIwriter.Length - 1];
                                    pos        = iWriter.LastIndexOf(ho);
                                    iWriterSub = iWriter.Substring(0, pos);
                                    pos        = iWriterSub.LastIndexOf(ho);
                                    if (pos > 0)
                                    {
                                        s1 = iWriter.Substring(0, pos + ho.Length);
                                        s2 = iWriter.Substring(pos + ho.Length, iWriter.Length - (pos + ho.Length));
                                        if (s1.Replace(" ", "") == s2.Replace(" ", ""))
                                        {
                                            isCorrect = true;
                                        }
                                    }
                                }

                                if (isCorrect)
                                {
                                    preVM.WRITER += $",{s1}";
                                }
                                else
                                {
                                    preVM.WRITER += $",{iWriter}";
                                }
                            }
                            if (preVM.WRITER.Length > 1)
                            {
                                preVM.WRITER = preVM.WRITER.Substring(1, preVM.WRITER.Length - 1);
                            }
                        }
                        #endregion

                        dataImport.Add(preVM);
                    }
                }
                #endregion
                if (dataImport != null && dataImport.Count > 0)
                {
                    countImportFromFile = dataImport.Count;
                    if (countImportFromFile % limitIm == 0)
                    {
                        totalPageIm = countImportFromFile / limitIm;
                    }
                    else
                    {
                        totalPageIm = countImportFromFile / limitIm + 1;
                    }
                    lbTotalPage.Invoke(new MethodInvoker(delegate
                    {
                        lbTotalPage.Text = totalPageIm.ToString();
                    }));
                    GotoPage(currentPageIm, totalPageIm);

                    mainStatus.Invoke(new MethodInvoker(delegate
                    {
                        lbInfo.Text = $"Total records load: {countImportFromFile}";
                    }));
                }
                else
                {
                    mainStatus.Invoke(new MethodInvoker(delegate
                    {
                        lbInfo.Text = "Load data from json file be error!";
                    }));
                }
                DateTime endTime = DateTime.Now;
                lbInfoImport.Invoke(new MethodInvoker(delegate
                {
                    lbInfoImport.Text  = $"Time load(second(s)): {(endTime - startTime).TotalSeconds.ToString("##0.##")}, ";
                    lbInfoImport.Text += $"total record(s): {countImportFromFile}, total page(s): {totalPageIm}, ";
                    lbInfoImport.Text += $"total records/page: {limitIm}";
                }));
            }
            catch (Exception)
            {
                pcloader.Invoke(new MethodInvoker(delegate
                {
                    pcloader.Visible = false;
                }));
            }
        }