private void ConvertToUnicode(List <PreclaimMatchingViewModel> dataLoad)
 {
     try
     {
         if (dataLoad == null || dataLoad.Count == 0)
         {
             return;
         }
         foreach (var item in dataLoad)
         {
             //if(item.SerialNo ==9997)
             //{
             //    int a = 1;
             //}
             if (item.TITLE != string.Empty)
             {
                 item.TITLE = ConvertAllToUnicode.ConvertFromComposite(item.TITLE);
             }
             if (item.ARTIST != string.Empty)
             {
                 item.ARTIST = ConvertAllToUnicode.ConvertFromComposite(item.ARTIST);
             }
             if (item.ALBUM != string.Empty)
             {
                 item.ALBUM = ConvertAllToUnicode.ConvertFromComposite(item.ALBUM);
             }
             if (item.LABEL != string.Empty)
             {
                 item.LABEL = ConvertAllToUnicode.ConvertFromComposite(item.LABEL);
             }
             if (item.COMP_TITLE != string.Empty)
             {
                 item.COMP_TITLE = ConvertAllToUnicode.ConvertFromComposite(item.COMP_TITLE);
             }
             if (item.COMP_WRITERS != string.Empty)
             {
                 item.COMP_WRITERS = ConvertAllToUnicode.ConvertFromComposite(item.COMP_WRITERS);
             }
         }
     }
     catch (Exception)
     {
     }
 }
        /// <summary>
        /// Nạp file json preclaim
        /// </summary>
        /// <param name="path"></param>
        /// <param name="year"></param>
        /// <param name="month"></param>
        /// <returns></returns>
        public static List <PreclaimViewModel> JsonToPreclaim(string path)
        {
            string        line;
            List <string> subJsonList = new List <string>();
            StreamReader  r           = new StreamReader(path);
            bool          isFirst     = false;
            string        subJson     = "";

            while ((line = r.ReadLine()) != null)
            {
                subJson += line;
                if (line.Trim() == "{")
                {
                    isFirst = true;
                }
                else if (line.Trim() == "}")
                {
                    if (isFirst)
                    {
                        subJsonList.Add(subJson);
                    }
                    isFirst = false;
                    subJson = "";
                }
            }
            List <PreclaimViewModel> objects = new List <PreclaimViewModel>();
            BsonDocument             doctem  = null;
            PreclaimJson             preJson = null;
            PreclaimViewModel        preVM   = null;
            int serial = 1;

            for (int i = 0; i < subJsonList.Count; i++)
            {
                doctem  = BsonSerializer.Deserialize <BsonDocument>(subJsonList[i]);
                preJson = BsonSerializer.Deserialize <PreclaimJson>(doctem);
                preVM   = new PreclaimViewModel
                {
                    SerialNo       = serial,
                    Asset_ID       = preJson.Asset_ID,
                    ISRC           = preJson.ISRC == null ? string.Empty: VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(preJson.ISRC.ToUpper())),
                    Comp_Asset_ID  = preJson.Comp_Asset_ID,
                    C_Title        = preJson.C_Title == null ? string.Empty : VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(preJson.C_Title.ToUpper())),
                    C_ISWC         = preJson.C_ISWC == null ? string.Empty : VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(preJson.C_ISWC.ToUpper())),
                    C_Workcode     = preJson.C_Workcode == null ? string.Empty : VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(preJson.C_Workcode.ToUpper())),
                    C_Writers      = preJson.C_Writers == null ? string.Empty : VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(preJson.C_Writers.ToUpper())),
                    Combined_Claim = preJson.Combined_Claim == null ? "0": VnHelper.ConvertToUnSign(preJson.Combined_Claim),
                    Mechanical     = preJson.Mechanical == null ? "0" : VnHelper.ConvertToUnSign(preJson.Mechanical),
                    Performance    = preJson.Performance == null ? "0" : VnHelper.ConvertToUnSign(preJson.Performance),
                    //MONTH = month,// preJson.MONTH,
                    //Year = year
                };
                //if (preJson.CREATED_AT != null)
                //{
                preVM.DtCREATED_AT = TimeTicks.ConvertTicksMongoToC(preJson.CREATED_AT);
                //}
                if (preJson.UPDATED_AT != null)
                {
                    preVM.DtUPDATED_AT = TimeTicks.ConvertTicksMongoToC((long)preJson.UPDATED_AT);
                }
                objects.Add(preVM);
                serial++;
            }
            return(objects);
        }
        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;
                }));
            }
        }
        private void LoadDtaFromExcel()
        {
            try
            {
                dataLoad = new List <ConvertyToUnsign>();
                dgvEditFileImport.Invoke(new MethodInvoker(delegate
                {
                    dgvEditFileImport.DataSource = new List <ConvertyToUnsign>();
                }));
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    lbOperation.Text = "Starting load data...";
                }));
                #region init
                ExcelHelper excelHelper = new ExcelHelper();
                #endregion
                //du lieu doc file
                dataLoad = excelHelper.ReadExcelConvertyToUnsign(tstxtPath.Text);
                //var orderByDescendingResult = (from s in ediFilesItems
                //                               //orderby s.seqNo ascending, s.NoOfPerf ascending
                //                               select s).ToList();
                #region 1.Loai bo dong trong
                if (dataLoad != null)
                {
                    for (int i = 0; i < dataLoad.Count; i++)
                    {
                        dataLoad[i].c1  = VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(dataLoad[i].c1.Trim().ToUpper()));
                        dataLoad[i].c2  = VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(dataLoad[i].c2.Trim().ToUpper()));
                        dataLoad[i].c3  = VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(dataLoad[i].c3.Trim().ToUpper()));
                        dataLoad[i].c4  = VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(dataLoad[i].c4.Trim().ToUpper()));
                        dataLoad[i].c5  = VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(dataLoad[i].c5.Trim().ToUpper()));
                        dataLoad[i].c6  = VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(dataLoad[i].c6.Trim().ToUpper()));
                        dataLoad[i].c7  = VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(dataLoad[i].c7.Trim().ToUpper()));
                        dataLoad[i].c8  = VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(dataLoad[i].c8.Trim().ToUpper()));
                        dataLoad[i].c9  = VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(dataLoad[i].c9.Trim().ToUpper()));
                        dataLoad[i].c10 = VnHelper.ConvertToUnSign(ConvertAllToUnicode.ConvertFromComposite(dataLoad[i].c10.Trim().ToUpper()));
                    }
                }
                #endregion

                #region Hien thi du lieu goc

                if (dataLoad != null)
                {
                    dgvEditFileImport.Invoke(new MethodInvoker(delegate
                    {
                        dgvEditFileImport.DataSource = dataLoad;
                    }));
                }
                else
                {
                    statusMain.Invoke(new MethodInvoker(delegate
                    {
                        lbInfo.Text = "Load data from Excel file be error!";
                    }));
                }
                #endregion
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    lbOperation.Text = "Load data is finish";
                }));
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }