Example #1
0
        /// <summary>
        /// put new regulation document into system resource and extract toc 
        /// </summary>
        /// <param name="filepath"></param>
        /// <returns></returns>
        public Dictionary<string, List<TermContainer>> AddRegToSysResource(string filepath)
        {
            string fname = filepath.Substring(filepath.LastIndexOf("\\") + 1, filepath.LastIndexOf(".") - filepath.LastIndexOf("\\") - 1);
            putNewRegTocInINIFile(fname);

            ApplicationClass regWord = new ApplicationClass();
            Document regDoc = new Document();
            HandleDocument handleDocument = new HandleDocument();
  
            regDoc = handleDocument.openDocument(filepath, regWord);
            
            Table table = regDoc.Tables[1];
            int rows = table.Rows.Count;
            Dictionary<string, List<TermContainer>> dic = new Dictionary<string, List<TermContainer>>();
            
            string key = "";
            string section = "";
            for(int i = 1;i<= rows;i++)
            {                 
                string text = getTableCellText(table, i, 1);               
                if (isLevel1Cell(text))
                {
                    section = "";
                    key = text; 
                    dic.Add(text, new List<TermContainer>());             
                }
                else 
                {
                    if (isLevelSection(text))
                    {                  
                        section = text;
                    }
                    else
                    {
                        TermContainer term = getTableCellContainer(section,table, i);
                        dic[key].Add(term);
                    }
                }
            }

            string path = System.Environment.CurrentDirectory;
            string name = path + "\\resources\\"+regDoc.Name;
            object saveAsName = path + "\\resources\\" + regDoc.Name;
            
            object unknow = Type.Missing;

            if (!File.Exists(name))
            {
                regDoc.SaveAs(ref saveAsName, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow);
            }
            else
            {
                //shifou ti huan
                File.Delete(name);
                regDoc.SaveAs(ref saveAsName, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow);
            }
            quit(regWord, regDoc);
            return dic;
        }
        private void cmdViewContracts_Click(object sender, EventArgs e)
        {
            string sotien;
            string benvay;
            string identi, ngaycap, noicap, soDT, Diachi, BankAccount, BankName;
            string makh, ngayhd, kyhan, laisuat, mahd;
            string sqlStr, strDate;
            int maloaiKH, length, i;
            double loinhuan;
            string strLoinhuan;
            object sourcefile;
            object destfile;
            DateTime ngaydaohan;
            TimeSpan ngaychiulai;
            OleDbDataReader oleReader;
            ApplicationClass word = new ApplicationClass();
            Document doc = new Document();

            if (cbxDonvitinh.Text == "Ngay")
                ngaydaohan = cbxDateContracts.Value.AddDays(int.Parse(cbxKyhan.Text));
            else if (cbxDonvitinh.Text == "Thang")
                ngaydaohan = cbxDateContracts.Value.AddMonths(int.Parse(cbxKyhan.Text));
            else ngaydaohan = cbxDateContracts.Value.AddYears(int.Parse(cbxKyhan.Text));
            ngaychiulai = ngaydaohan.Subtract(cbxDateContracts.Value);
            System.Diagnostics.Process Proc = new System.Diagnostics.Process();
            makh = cbxMaKH.Text;
            ngayhd = cbxDateContracts.Value.ToShortDateString();
            kyhan = cbxKyhan.Text;
            laisuat = cbxLaisuat.Text;
            sotien = txtTongtien.Text;
            length = sotien.Length;
            benvay = "";
            Diachi = "";
            soDT = "";
            ngaycap = "";
            identi = "";
            BankAccount = "";
            BankName = "";
            mahd = txtMaHD.Text.Replace("\\", "");
            mahd = mahd.Replace("/", "_");
            mahd = mahd.Replace(":", "_");
            mahd = mahd.Replace(" ", "_");
            mahd = mahd.Replace("*", "");
            mahd = mahd.Replace("<", "");
            mahd = mahd.Replace("|", "");
            mahd = mahd.Replace(">", "");
            strDate = cbxDateContracts.Value.ToShortDateString().Replace("/", "_");
            i = 1;
            loinhuan = Tinhloi(ngaychiulai, sotien, laisuat);
            strLoinhuan = loinhuan.ToString();
            while (3*i < length)
            {
                sotien = sotien.Insert(length - 3*i, ".");
                i++;
            }

            length = strLoinhuan.Length;
            i = 1;
            while (3 * i < length)
            {
                strLoinhuan = strLoinhuan.Insert(length - 3 * i, ".");
                i++;
            }

            sqlStr = "SELECT [TenKH], [DinhDanh], FORMAT([Ngaycap], 'dd/mm/yyyy') AS Ngaycap, [Noicap], [SoDT], [Diachi], [TaikhoanNH], [TenNH], [MaLoaiKH] FROM [KHACHHANG] WHERE [MaKH] = '" + makh + "'";
            maloaiKH = 0;
            try
            {
                oleReader = contractDb.genDataReader(sqlStr);
                if (oleReader.Read())
                {
                    benvay = oleReader["TenKH"].ToString();
                    identi = oleReader["Dinhdanh"].ToString();
                    ngaycap = oleReader["Ngaycap"].ToString();
                    noicap = oleReader["Noicap"].ToString();
                    soDT = oleReader["SoDT"].ToString();
                    Diachi = oleReader["Diachi"].ToString();
                    BankAccount = oleReader["TaikhoanNH"].ToString();
                    BankName = oleReader["TenNH"].ToString();
                    maloaiKH = int.Parse(oleReader["MaLoaiKH"].ToString());
                    benvay = benvay.Replace(" ", "");
                }
            }
            catch (Exception ex)
            {
                return;
            }

            //Ghi hop dong ra file
            if (cbxLoaiHD.Text == "Cho vay")
            {
                if (maloaiKH == 1)
                    //Khach hang doanh nghiep
                    //sourcefile = @"E:\Project\SVN\quanlydongtien\Source\Quanlydongtien\Quanlydongtien\bin\Temp\Hopdong\Khachhangdoanhnghiep.doc";
                    sourcefile = @dirWork + "\\Temp\\Hopdong\\Chovay\\Khachhangdoanhnghiep.doc";
                else
                    //Khach hang ca nhan
                    sourcefile = @dirWork + "\\Temp\\Hopdong\\Chovay\\Khachhangcanhan.doc";
            }
            else
            {
                if (maloaiKH == 1)
                    sourcefile = @dirWork + @"\Temp\Hopdong\Huydong\Khachhangdoanhnghiep.doc";
                else sourcefile = @dirWork + @"\Temp\Hopdong\Huydong\Khachhangcanhan.doc";
            }

            if (cbxLoaiHD.Text == "Cho vay")
                destfile = @dirWork + @"\Contracts\Chovay\" + mahd + "_" + strDate + ".doc";
            else destfile = @dirWork + @"\Contracts\Huydong\" + mahd + "_" + strDate + ".doc"; ;
            object missing = Type.Missing;

            try
            {
                doc = word.Documents.Open(ref sourcefile, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
                doc.Activate();
                if (!Utilities.Replace_String_In_Word_File(ref doc, "#TEN KHACH HANG#", benvay))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                    return;
                    //doc.SaveAs(ref destfile, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Dia chi khach hang#", Diachi))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Dien thoai#", soDT))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Tong so tien#", sotien))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Laisuat#", laisuat))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Thoihan#", kyhan))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Donvi#", cbxDonvitinh.Text))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Ngayhopdong#", cbxDateContracts.Value.ToShortDateString()))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Ngaydaohan#", ngaydaohan.ToShortDateString()))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Phiuythacvon#", txtPhiUT.Text))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Account Numver#", BankAccount))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Bank Name#", BankName))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                if (!Utilities.Replace_String_In_Word_File(ref doc, "#Loinhuan#", strLoinhuan))
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    word.Application.Quit(ref missing, ref missing, ref missing);
                }

                doc.SaveAs(ref destfile, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
                doc.Close(ref missing, ref missing, ref missing);
                word.Application.Quit(ref missing, ref missing, ref missing);
                Proc.StartInfo.FileName = @"WINWORD.EXE";
                Proc.StartInfo.Arguments = destfile.ToString();
                Proc.Start();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                doc.Close(ref missing, ref missing, ref missing);
                word.Application.Quit(ref missing, ref missing, ref missing);
            }
        }