private string Translate(string originalContent, object sender)
        {
            string        translateContent = originalContent;
            StringBuilder content          = new StringBuilder(translateContent);
            string        status           = "VANBAN:" + content.Length.ToString() + " characters -- ";
            long          curTick          = DateTime.Now.Ticks;

            GlobalCache.VietPhrase.AsEnumerable().ToList().ForEach(t =>
                                                                   translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));
            GlobalCache.Names.AsEnumerable().ToList().ForEach(t =>
                                                              translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));
            GlobalCache.ChinesePhienAmWords.AsEnumerable().ToList().ForEach(t =>
                                                                            translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));
            GlobalCache.ThanhNgu.AsEnumerable().ToList().ForEach(t =>
                                                                 translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));

            long endTick = DateTime.Now.Ticks - curTick;

            ((WorkingThread)sender).ReportProgress(0, status + "TRANSLATED:" + (endTick / 10000000).ToString() + "s");
            return(translateContent);
        }
        private string Translate(string p)
        {
            if (string.IsNullOrEmpty(p))
            {
                return("NULL path");
            }
            TextReader reader  = new StreamReader(p, Encoding.UTF8);
            string     content = reader.ReadToEnd();

            reader.Close();

            string translateContent = content;
            string status           = "VANBAN:" + content.Length.ToString() + " characters -- ";
            long   curTick          = DateTime.Now.Ticks;

            //translateContent = Regex.Replace(translateContent, GlobalCache.VietPhrasePattern,
            //                                 m => GlobalCache.VietPhrase[m.Value]+" ");
            GlobalCache.VietPhrase.AsEnumerable().ToList().ForEach(t =>
                                                                   translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));
            GlobalCache.Names.AsEnumerable().ToList().ForEach(t =>
                                                              translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));
            GlobalCache.ChinesePhienAmWords.AsEnumerable().ToList().ForEach(t =>
                                                                            translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));
            GlobalCache.ThanhNgu.AsEnumerable().ToList().ForEach(t =>
                                                                 translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));

            long endTick = DateTime.Now.Ticks - curTick;
            //TextWriter writer = new StreamWriter(p,false,Encoding.UTF8);
            FileStream   fileStream = new FileStream(p, FileMode.Truncate);
            StreamWriter writer     = new StreamWriter(fileStream, Encoding.UTF8);

            writer.Write(translateContent);
            writer.Flush();
            writer.Close();

            return(status);
        }
 public void TranslateChaptersTitle()
 {
     for (int i = 0; i < fictionObject.NewChapterNamesList.Count; i++)
     {
         string translateContent = fictionObject.NewChapterNamesList[i];
         GlobalCache.VietPhrase.AsEnumerable().ToList().ForEach(t =>
                                                                translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));
         GlobalCache.Names.AsEnumerable().ToList().ForEach(t =>
                                                           translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));
         GlobalCache.ChinesePhienAmWords.AsEnumerable().ToList().ForEach(t =>
                                                                         translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));
         GlobalCache.ThanhNgu.AsEnumerable().ToList().ForEach(t =>
                                                              translateContent = VBStrings.Replace(translateContent, t.Key, t.Value + " "));
         fictionObject.ChapterNamesList.Add(translateContent);
         chapterTranslateMap[i] = translateContent;
         fictionObject.NewChapterNamesList[i] = translateContent;
     }
     if (fictionObject.ChapterNamesList == null)
     {
         fictionObject.ChapterNamesList = new List <string>();
     }
     fictionObject.ChapterNamesList.AddRange(fictionObject.NewChapterNamesList);
     fictionObject.NewChapterNamesList.Clear();
 }
        //Insert vào Test_Info old run
        public static void InsertTestInfor(int testTypeId, string patientCode, DateTime testDate, ref string barcode,
                                           ref int testId)
        {
            //Lấy về mã BN làm XN
            object strpatientId =
                new Select(LPatientInfo.Columns.PatientId).From(LPatientInfo.Schema.Name).Where(LPatientInfo.Columns.Pid)
                .IsEqualTo(patientCode).ExecuteScalar();

            if (String.IsNullOrEmpty(strpatientId.ToString().Trim()))
            {
                strpatientId = -1;
            }
            int patientId = Convert.ToInt32(strpatientId);

            //Lấy về TestTypeOrder
            object strTestTypeOrder =
                new Select(TTestTypeList.Columns.IntOrder).From(TTestTypeList.Schema.Name).Where(
                    TTestTypeList.Columns.TestTypeId).IsEqualTo(testTypeId).ExecuteScalar();

            if (String.IsNullOrEmpty(strTestTypeOrder.ToString().Trim()))
            {
                strTestTypeOrder = 0;
            }
            int intTestTypeOrder = Convert.ToInt32(strTestTypeOrder);

            //Lấy về Barcode của XN được đăng ký:
            //object strBarcode =
            //    new Select(TTestInfo.Columns.Barcode).From(TTestInfo.Schema.Name).Where(TTestInfo.Columns.PatientId).
            //        IsEqualTo(patientId).ExecuteScalar();

            DateTime now     = DateTime.Now;
            var      mintick = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0, 000);
            var      maxtick = new DateTime(now.Year, now.Month, now.Day, 23, 59, 59);


            object strBarcode =
                new Select(TTestInfo.Columns.Barcode).From(TTestInfo.Schema.Name).Where(TTestInfo.Columns.PatientId).
                IsEqualTo(patientId).And(TTestInfo.Columns.TestDate).IsBetweenAnd(mintick, maxtick)
                .ExecuteScalar();

            try
            {
                if (String.IsNullOrEmpty(strBarcode.ToString().Trim()))
                {
                    if (LablinkServiceConfig.GetTestTypeBarcode().Equals("False"))
                    {
                        barcode = testDate.ToString("yyMMdd") + VB6.Right("0000" + (GetMaxBarcode(testDate) + 1), 4);
                    }
                    else
                    {
                        barcode = testDate.ToString("yyMMdd") + VB6.Right("00" + intTestTypeOrder, 2) +
                                  VB6.Right("0000" + (GetMaxBarcode(testDate) + 1), 4);
                    }
                }
                else
                {
                    if (LablinkServiceConfig.GetTestTypeBarcode().Equals("False"))
                    {
                        barcode = testDate.ToString("yyMMdd") + VB6.Right("0000" + strBarcode, 4);
                    }
                    else
                    {
                        barcode = testDate.ToString("yyMMdd") + VB6.Right("00" + intTestTypeOrder, 2) +
                                  VB6.Right("0000" + strBarcode, 4);
                    }
                }
            }
            catch (Exception ex)
            {
                if (LablinkServiceConfig.GetTestTypeBarcode().Equals("False"))
                {
                    barcode = testDate.ToString("yyMMdd") + VB6.Right("0000" + (GetMaxBarcode(testDate) + 1), 4);
                }
                else
                {
                    barcode = testDate.ToString("yyMMdd") + VB6.Right("00" + intTestTypeOrder, 2) +
                              VB6.Right("0000" + (GetMaxBarcode(testDate) + 1), 4);
                }
            }

            //Insert vao DB
            //code old
            SpInsertTestInfor(testTypeId, patientId, barcode, testDate, ref testId);
            // SpInsertTestInfor(testTypeId, patientId, barcode, testDate);
        }
        private void btn_Luu_Click(object sender, EventArgs e)
        {
            DateTime date_thangtruoc = Convert.ToDateTime(date_thangnam.EditValue);
            int      _thang, _nam;

            _thang = Convert.ToDateTime(date_thangtruoc.AddMonths(-1).ToString()).Month;
            string thang = VB.Right("00" + _thang.ToString(), 2);

            _nam = Convert.ToDateTime(date_thangtruoc.AddMonths(-1).ToString()).Year;
            string namthang = _nam + "-" + thang;
            var    dgr      = XtraMessageBox.Show("Bạn đang thực hiện chuyển số dư hàng hóa từ tháng " + date_thangtruoc.AddMonths(-1).ToString("MM/yyyy") + " sang tháng " + Convert.ToDateTime(date_thangnam.EditValue).ToString("MM/yyyy") + "", "Xác Nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dgr == DialogResult.Yes)
            {
                string _thangnam = Convert.ToDateTime(date_thangnam.EditValue).ToString("yyyy-MM-01");
                //Xóa dữ liệu năm chuyển đến
                Data.RunCMD($@"delete from tbl_tonkho where ngaythang='{Convert.ToDateTime(date_thangnam.EditValue).ToString("yyyy-MM-01")}'");
                Data.RunCMD($@"INSERT INTO tbl_tonkho (
                                                    ngaythang,
                                                    idmahang,
                                                    makho,
                                                    sodudauky,
                                                    tiendauky,
                                                    nguoitd,
                                                    thoigian
                                                ) SELECT
                                                    '{_thangnam}',
                                                    tbl_tonkho.idmahang,
                                                    tbl_tonkho.makho,
                                                    tbl_tonkho.sodudauky + ifnull(a.sodu, 0) + ifnull(b.slnhap, 0) - ifnull(c.slxuat, 0) AS soducuoiky,
                                                    ifnull(
                                                        tbl_tonkho.tiendauky + ifnull(a.tiendau, 0) + ifnull(b.tiennhap, 0) - round(
                                                            (
                                                                tbl_tonkho.tiendauky + ifnull(a.tiendau, 0) + ifnull(b.tiennhap, 0)
                                                            ) / (
                                                                tbl_tonkho.sodudauky + ifnull(a.sodu, 0) + ifnull(b.slnhap, 0)
                                                            ) * ifnull(c.slxuat, 0),
                                                            1
                                                        ),
                                                        0
                                                    ) AS tiencuoiky,
                                                    '{Data._strtendangnhap.ToUpper()}',
                                                    '{DateTime.Now}'
                                                FROM
                                                    tbl_tonkho
                                                INNER JOIN tbl_kho ON tbl_kho.makho = tbl_tonkho.makho
                                                INNER JOIN tbl_hanghoa ON tbl_hanghoa.id = tbl_tonkho.idmahang
                                                INNER JOIN tbl_nhomhang ON tbl_nhomhang.manhom = tbl_hanghoa.manhomhang
                                                INNER JOIN tbl_donvitinh ON tbl_donvitinh.madvt = tbl_hanghoa.madvt
                                                LEFT JOIN (
                                                    SELECT
                                                        idmahang,
                                                        makho,
                                                        sodu,
                                                        tiendau
                                                    FROM
                                                        tbl_sodudauky
                                                    WHERE
                                                        strftime('%Y-%m', ngaynhap) = '{namthang}'
                                                ) a ON a.idmahang = tbl_tonkho.idmahang
                                                AND a.makho = tbl_tonkho.makho
                                                LEFT JOIN (
                                                    SELECT
                                                        idmahang,
                                                        makho,
                                                        sum(soluong) AS slnhap,
                                                        sum(thanhtien) AS tiennhap
                                                    FROM
                                                        view_chitiet_phieunhap
                                                    WHERE
                                                        strftime('%Y-%m', ngaynhap) = '{namthang}'
                                                    GROUP BY
                                                        idmahang,
                                                        makho
                                                ) b ON b.idmahang = tbl_tonkho.idmahang
                                                AND b.makho = tbl_tonkho.makho
                                                LEFT JOIN (
                                                    SELECT
                                                        idmahang,
                                                        makho,
                                                        sum(soluong) AS slxuat,
                                                        sum(thanhtien) AS tienxuat
                                                    FROM
                                                        view_chitiet_phieuxuat
                                                    WHERE
                                                        strftime('%Y-%m', ngayxuat) = '{namthang}'
                                                    GROUP BY
                                                        idmahang,
                                                        makho
                                                ) c ON c.idmahang = tbl_tonkho.idmahang
                                                AND c.makho = tbl_tonkho.makho
                                                WHERE
                                                    strftime(
                                                        '%Y-%m',
                                                        tbl_tonkho.ngaythang
                                                    ) = '{namthang}'");
                //Gửi dữ liệu load form chính


                XtraMessageBox.Show("Đã chuyển số dư thành công.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Close();
            }
        }