Пример #1
0
 private BusinessObject.CApplicationMessage InsertTransaction(CTransaction trans)
 {
     try
     {
         string requestParams = trans.GetRequestParams(" Function=\"Transaction_Asset\" Action=\"IMPORTTOOL\" ");
         //XmlDocument doc = new XmlDocument();
         //doc.LoadXml(requestParams);
         //CCoreService service = new CCoreService();
         requestParams = CXML.AddAuthenticate(requestParams);
         string result = CServiceReference.CoreService.ExecuteAction(CLIENT_KEY, FWS.VnAccounting.Service.Data.Utils.CXML.HtmlEnCode(requestParams));
         List <BusinessObject.CApplicationMessage> message = CObjectMapper.FromCSV <BusinessObject.CApplicationMessage>(result, 1);
         if (message[0].IsSuccessfull)
         {
             //trans.ID = int.Parse(message[0].Result.ToString());
             return(message[0]);
         }
         //MessageBox.Show(message[0].Description);
         return(message[0]);
     }
     catch (Exception ex)
     {
         return(new BusinessObject.CApplicationMessage()
         {
             Description = ex.Message
         });
     }
 }
Пример #2
0
        public BusinessObject.CApplicationMessage SaveTransaction(CTransaction trans, bool isTempSave = false)
        {
            //if (!CheckSaveStep()) return new BusinessObject.CApplicationMessage() { Description = "Không thể lưu ở trang này" };
            //CTransaction trans=new CTransaction();



            //if (trans == null) trans = new CTransaction();
            //trans.ClearInfo();
            //ExtractTransactionData(ref trans);
            if (isTempSave)
            {
                trans.Status = 1;
            }
            BusinessObject.CApplicationMessage result = InsertTransaction(trans);

            trans.Status = 0;
            return(result);
        }
Пример #3
0
        public void ExtractCCTT(ref CTransaction trans)
        {
            if (trans == null)
            {
                trans = new CTransaction();
            }
            string dom = browser.GetDocument();

            trans.RefType = 26;
            string note = browser.GetElementsByTagID("SearchOutPut");

            trans.Note = note;


            //<span id="ctl00_cphBody_order_results_searchcertdocumentnumber">1987733</span>
            string namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*order_results_searchcertdocumentnumber\"[^>]*>([^>]*)</span>[.]*";
            Regex  reg         = new Regex(namePartern, RegexOptions.IgnoreCase);

            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.RefNo = m.Groups[1].Value;
            }
            //< span id = "ctl00_cphBody_order_results_requestingparty" > Công Ty Luật Frasers </ span >
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*order_results_requestingparty\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.ContactName = m.Groups[1].Value;
            }

            //<span id="ctl00_cphBody_order_results_searchdatetime">11/04/2014 14:20</span>
            //ctl00_cphBody_order_results_searchdatetime
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*order_results_searchdatetime\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.RefDate = ParseDateTime(m.Groups[1].Value);
            }
            //<span id="ctl00_cphBody_show_results_title">GCN kết quả tra cứu thông tin</span>
        }
Пример #4
0
 public bool IsTransactionExists(CTransaction trans)
 {
     try
     {
         string requestParams = "<RequestParams Function=\"GetTransaction_Asset\" RefType=\"{0}\" RefNo=\"{1}\"/>";
         requestParams = string.Format(requestParams, trans.RefType, trans.RefNo);
         //CCoreService service = new CCoreService();
         string result = CServiceReference.CoreService.GetContextData(CLIENT_KEY, FWS.VnAccounting.Service.Data.Utils.CXML.HtmlEnCode(requestParams));
         List <CTransaction> message = CObjectMapper.FromCSV <CTransaction>(result, 1);
         if (message != null && message.Count > 0 && !string.IsNullOrEmpty(message[0].RefNo))
         {
             return(true);
         }
         return(false);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #5
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                uEntryPL041.ProcessAsset();

                if (!uEntryPL041.ValidateInput())
                {
                    ShowError(uEntryPL041.Message);
                    return;
                }
                if (uEntryPL041.UpdateTransaction())
                {
                    //this.RefNo = uEntryPL041.RefNo;
                    this.ObjectID = uEntryPL041.ObjectID;
                    Action        = "OK";
                    //IsSendMail = uEntryPL041.IsSendMail;
                    //IsSendMailKH = uEntryPL041.IsSendMailKH;
                    CurrentTransaction = uEntryPL041.CurrentTransaction;
                    this.DialogResult  = System.Windows.Forms.DialogResult.OK;
                    this.Close();
                }
                else
                {
                    if (!string.IsNullOrEmpty(uEntryPL041.Message))
                    {
                        ShowError(uEntryPL041.Message);
                    }
                    return;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #6
0
        public void InitControl(string RegisTransRefNo)
        {
            //Lay du lieu tu so don dang ky
            InitComboboxData();
            //InitGridColumn();
            CCoreService service    = new CCoreService();
            string       inputValue = string.Format("<RequestParams Function='GetTransaction_Asset' RefType='28' RegisTransRefNo='{0}' Context=\"{1}\" />", RegisTransRefNo, "TOOL_PRINT");

            //inputValue = string.Format("<RequestParams Function='GetTransaction_Asset' RefType='21' RefNo='{0}' />", RegisTransRefNo);
            //inputValue = inputValue + string.Format("<RequestParams Function='GetTransaction_Asset' RefType='21' RefNo='{0}' Context='AssetsList'/>", RegisTransRefNo);
            inputValue = inputValue + string.Format("<RequestParams Function='GetTransaction_Asset' RefType='21' RefNo='{0}' Context='WarranterList'/>", RegisTransRefNo);
            //inputValue = inputValue + string.Format("<RequestParams Function='GetTransaction_Asset' RefType='21' RefNo='{0}' Context='AssetOwnerList'/>", RegisTransRefNo);
            inputValue = inputValue + "<RequestParams Function='FilterParaData' ListFunction='VoucherActionType'/>";
            string datacsv             = service.GetContextData(CSession.CLIENT_KEY, inputValue);
            IList <CTransaction> trans = CObjectMapper.FromCSV <CTransaction>(datacsv, 1);

            List <Person> waranter = CObjectMapper.FromCSV <Person>(datacsv, 2);

            if (waranter == null)
            {
                waranter = new List <Person>();
            }

            IList <CParaData> actionlist = CObjectMapper.FromCSV <CParaData>(datacsv, 3);

            gridAcctionType = new List <CParaData>();
            gridAcctionType.Add(new CParaData()
            {
                Name = "...", ID = 0, Value = "0"
            });
            foreach (CParaData para in actionlist)
            {
                if (para.ID == 93 || para.ID == 95)
                {
                    gridAcctionType.Add(para);
                }
            }

            if (trans != null && trans.Count > 0)
            {
                //InitAssetOwnnerGridColumn();
                //InitWarranterGridColumn();
                //Neu RefNo = Empty thi lay RefNo moi tu va enable textbox cho phep edit RefNo
                //Khoa lai chuc nang Edit RefNo
                if (string.IsNullOrEmpty(trans[0].RefNo))
                {
                    inputValue = string.Format("<InputValue RefType='28' RefDate='{0}'/>", DateTime.Now.ToString("yyyy-MM-dd"));
                    CRefNo objRefNo = service.GetNextRefNo(inputValue);
                    trans[0].RefNo   = objRefNo.RefNo;
                    txtRefNo.Enabled = false;
                    pnDate.Enabled   = false;
                    isNew            = true;
                }
                else
                {
                    txtRefNo.Enabled = false;
                    pnDate.Enabled   = false;
                    isNew            = false;
                }
                txtRefNo.Text = trans[0].RefNo;

                SetRefDateTime(trans[0].RefDate);
                //txtRefDate.Value = trans[0].RefDate;


                txtRegisTransRefNo.Text = trans[0].RegisTransRefNo;
                //txtOldRefNo.Text = trans[0].OldRefNo;
                //txtAssetType.SelectedValue = trans[0].AssetType.ToString();
                //txtDirection.SelectedValue = trans[0].ObjectID.ToString();
                if (trans[0].WarranterID > 0)
                {
                    txtKHTX.SelectedValue = trans[0].WarranterID;
                    txtAddress.Text       = trans[0].WarranterAddress;
                }
                else if (trans[0].ID > 0)
                {
                    txtKHTX.Text    = trans[0].WarranterName;
                    txtAddress.Text = trans[0].WarranterAddress;
                }
                else
                {
                    if (waranter != null && waranter.Count > 0)
                    {
                        txtKHTX.Text    = waranter[0].ObjectName;
                        txtAddress.Text = waranter[0].ObjectAddress;
                    }
                }
                txtReason.Text = trans[0].Note;
                //txtVoucherActionType.SelectedValue = trans[0].Type.ToString();

                //txtObjectEmail.Text = trans[0].ObjectEmail;
                //txtWarranterEmail.Text = trans[0].WarranterEmail;
                //lbAttachName.Text = trans[0].FileNumber;
                CurrentTransaction = trans[0];
                //trans[0].Assets = assets;


                //SetAssetToGrid();
                //SetDefaultAssetName(grAsset);
                //SetDefaultAssetName(grAssetOther);
                //BindingSource Ownnersource = new BindingSource();
                //Ownnersource.DataSource = CurrentTransaction.AssetOwnnerList;
                //grAssetOwner.DataSource = Ownnersource;

                //BindingSource warrantersource = new BindingSource();
                //warrantersource.DataSource = CurrentTransaction.WarranterList;
                //grWarranter.DataSource = warrantersource;
            }
            //raise su kien de sua du lieu cot loai dang ky
            //txtVoucherActionType_SelectedIndexChanged(null, null);

            //Mac dinh check all
            if (ckSelectAssetHeader != null)
            {
                ckSelectAssetHeader.Checked = true;
                //ckSelectAssetHeader_CheckedChanged(null, null);
            }
        }
Пример #7
0
        public void ExtractTransactionData(ref CTransaction trans)
        {
            if (trans == null)
            {
                trans = new CTransaction();
            }
            string dom = browser.GetDocument();
            //Neu la don CCTT
            string namePartern = "[.]*<span id=\"ctl00_cphBody_show_results_title\">GCN kết quả tra cứu thông tin</span>[.]*";
            Regex  reg         = new Regex(namePartern, RegexOptions.IgnoreCase);

            int RefType = GetRefType();

            trans.RefType = RefType;
            if (RefType == 26)
            {
                ExtractCCTT(ref trans);
                return;
            }

            //========================

            //dom = "ABCDEF<span id=\"ucFilingDetailReview_ucFilerName_lblvalue\" class=\"FormControlNoEditLabel\">Ngân Hàng TMCP Xuất Nhập Khẩu Việt Nam Sở Giao Dịch I</span>aaafdsafe";
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*FilingDetailReview_ucFilerName_lblvalue\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.WarranterName = m.Groups[1].Value;
            }
            //<span id="ucFilingDetailReview_ucFilerAddress">66 Phó Đức Chính, phường Nguyễn Thái Bình,&nbsp;Quận 1, Hồ Chí Minh,&nbsp;Việt Nam</span>
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*FilingDetailReview_ucFilerAddress\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.WarranterAddress = m.Groups[1].Value;
            }
            //<span id="ucFilingDetailReview_ucNoticeType_lblvalue" class="FormControlNoEditLabel">Đăng ký giao dịch bảo đảm/Hợp đồng</span>
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*FilingDetailReview_ucNoticeType_lblvalue\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.TypeName = m.Groups[1].Value;
            }

            //<span id="ucFilingDetailReview_ucNoticeType_lblvalue" class="FormControlNoEditLabel">Đăng ký giao dịch bảo đảm/Hợp đồng</span>
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*FilingDetailReview_ucNoticeType_lblvalue\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.TypeName = m.Groups[1].Value;
            }

            //<span id="ucFilingDetailReview_ucFilingNumber_lblvalue" class="FormControlNoEditLabel">1146070105</span>
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*FilingDetailReview_ucFilingNumber_lblvalue\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.RefNo = m.Groups[1].Value;
            }

            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*FilingDetailReview_ucOriginalFilingNumber_lblvalue\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.OldRefNo = m.Groups[1].Value;
                trans.OrgRefNo = trans.OldRefNo;
            }
            //<span id="ucFilingDetailReview_ucOriginalFilingDate_lblvalue" class="FormControlNoEditLabel">13/11/2009 11:00</span>
            //<span id="ctl00_cphBody_FilingDetailReview_ucOriginalFilingDate_lblvalue" class="FormControlNoEditLabel">09/03/2012 16:23</span>
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*FilingDetailReview_ucOriginalFilingDate_lblvalue\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);

                DateTimeFormatInfo dateformat = new DateTimeFormatInfo();
                dateformat.SetAllDateTimePatterns(new string[] { "dd/MM/yyyy HH:mm", "dd/MM/yyyy", "dd MM yyyy" }, 'd');
                dateformat.SetAllDateTimePatterns(new string[] { "dd/MM/yyyy HH:mm", "dd/MM/yyyy", "dd MM yyyy" }, 'D');
                CultureInfo culture = new CultureInfo("vi-VN");

                trans.OldRefDate = DateTime.Parse(m.Groups[1].Value, dateformat);
            }

            //<span id="ucFilingDetailReview_ucFilingDate_lblvalue" class="FormControlNoEditLabel">01/07/2013 09:06</span>
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*FilingDetailReview_ucFilingDate_lblvalue\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                //DateTimeFormatInfo dateformat = new DateTimeFormatInfo();
                //dateformat.SetAllDateTimePatterns(new string[]{"dd/MM/yyyy HH:mm","dd/MM/yyyy","dd MM yyyy"},'d');
                //dateformat.SetAllDateTimePatterns(new string[] { "dd/MM/yyyy HH:mm", "dd/MM/yyyy", "dd MM yyyy" }, 'D');
                //CultureInfo culture = new CultureInfo("vi-VN");
                trans.RefDate = ParseDateTime(m.Groups[1].Value);
                //trans.RefDate = DateTime.Parse(m.Groups[1].Value, dateformat);
            }

            // ContractNo
            //ucFilingDetailReview_ucReferenceNumber_lblvalue
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*FilingDetailReview_ucReferenceNumber_lblvalue\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.ContractNo = m.Groups[1].Value;
            }

            // ContractType
            //<span id="ucFilingDetailReview_ucSecuredInterestType_lblvalue" class="FormControlNoEditLabel">Hợp đồng cho thuê tài chính</span>
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*FilingDetailReview_ucSecuredInterestType_lblvalue\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.ContractTypeName = m.Groups[1].Value;
            }

            //<span id="ucFilingDetailReview_ucFilingDate_lblvalue" class="FormControlNoEditLabel">01/07/2013 09:06</span>
            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*txtCollateral_lblvalue\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match m = reg.Match(dom);
                trans.Note = m.Groups[1].Value;
            }

            /*
             * <table class="GridView" cellspacing="0" rules="all" border="1" id="ucDebtorReview_gv" style="font-family:Khmer OS,Verdana;width:100%;border-collapse:collapse;">
             *          <tbody>
             * <tr class="GridViewHeader">
             *                  <th scope="col">Phân loại chủ thể</th>
             * <th scope="col">Số giấy tờ chứng minh tư cách pháp lý</th>
             * <th scope="col">Tên</th>
             * <th scope="col">Địa chỉ</th>
             *          </tr><tr class="GridViewRow">
             *                  <td>Tổ chức có đăng ký kinh doanh trong nước</td>
             * <td>Mã số thuế: 0307979603</td>
             * <td>Công Ty Cổ Phần Tân Thành đô City Ford</td>
             * <td>260 QL13, phường 26, Bình Thạnh,  Hồ Chí Minh, Việt Nam</td>
             *          </tr>
             *  </tbody></table>
             * */
            //<span id="ucFilingDetailReview_ucFilingDate_lblvalue" class="FormControlNoEditLabel">01/07/2013 09:06</span>
            //dom = "defg <t>abc</t><t id=\"a\">def</t> vfe";
            namePartern = "<table[^>]*id=\"[a-zA-Z0-9_]*DebtorReview_gv\"[^>]*>(((?!</table).)*)</table>";
            //namePartern = "<t id=\"a\">(((?!t).)*)</t>";
            reg = new Regex(namePartern, RegexOptions.IgnoreCase);

            dom = dom.Replace("\n", "");
            dom = dom.Replace("\r", "");
            if (reg.IsMatch(dom))
            {
                Match  m     = reg.Match(dom);
                string table = m.Groups[0].Value;
                table = PrepareHtmlToXml(table);
                //table = table.Replace("<br>", "&lt;br&gt;");
                //table = table.Replace("&nbsp;", "&#xA0;");
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(table);
                trans.AssetOwnnerList = new List <Person>();
                trans.AssetOwnerName  = "";
                XmlNodeList list = doc.SelectNodes("/table/tbody/tr");
                for (int i = 2; i <= list.Count; i++)
                {
                    string IdCardNo = doc.SelectSingleNode(string.Format("/table/tbody/tr[{0}]/td[2]", i)).InnerText;

                    if (IdCardNo.Contains(':'))
                    {
                        IdCardNo = IdCardNo.Split(':')[1].Trim();
                    }
                    else if (IdCardNo.Contains("Số hộ chiếu"))
                    {
                        if (IdCardNo.Contains("<br>"))
                        {
                            IdCardNo = IdCardNo.Substring(0, IdCardNo.IndexOf("<br>"));
                        }
                        IdCardNo = IdCardNo.Replace("Số hộ chiếu", "").Trim();
                    }
                    else
                    {
                        IdCardNo = "";
                    }

                    trans.AssetOwnnerList.Add(new Person()
                    {
                        ObjectName         = doc.SelectSingleNode(string.Format("/table/tbody/tr[{0}]/td[3]", i)).InnerText,
                        ObjectIDCardNumber = IdCardNo,
                        ObjectAddress      = doc.SelectSingleNode(string.Format("/table/tbody/tr[{0}]/td[4]", i)).InnerText
                    });

                    trans.AssetOwnerName += (string.IsNullOrEmpty(trans.AssetOwnerName) ? "" : " & ") + trans.AssetOwnnerList[i - 2].ObjectName;
                    trans.AssetIDCardNo   = IdCardNo;
                }
            }

            namePartern = "<table[^>]*id=\"[a-zA-Z0-9_]*SecuredPartyReview_gv\"[^>]*>(((?!</table).)*)</table>";
            //namePartern = "<t id=\"a\">(((?!t).)*)</t>";
            reg = new Regex(namePartern, RegexOptions.IgnoreCase);

            dom = dom.Replace("\n", "");
            dom = dom.Replace("\r", "");
            if (reg.IsMatch(dom))
            {
                Match  m     = reg.Match(dom);
                string table = m.Groups[0].Value;
                table = PrepareHtmlToXml(table);
                //table = table.Replace("<br>", "&lt;br&gt;");
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(table);
                trans.WarranterList = new List <Person>();
                XmlNodeList list = doc.SelectNodes("/table/tbody/tr");
                for (int i = 2; i <= list.Count; i++)
                {
                    trans.WarranterList.Add(new Person()
                    {
                        ObjectName    = doc.SelectSingleNode(string.Format("/table/tbody/tr[{0}]/td[1]", i)).InnerText,
                        ObjectAddress = doc.SelectSingleNode(string.Format("/table/tbody/tr[{0}]/td[2]", i)).InnerText
                    });
                }
            }
            else
            {
                //ctl00_cphBody_gvAuthorizingPartyReview_gv
                namePartern = "<table[^>]*id=\"[a-zA-Z0-9_]*gvAuthorizingPartyReview_gv\"[^>]*>(((?!</table).)*)</table>";
                reg         = new Regex(namePartern, RegexOptions.IgnoreCase);

                dom = dom.Replace("\n", "");
                dom = dom.Replace("\r", "");
                if (reg.IsMatch(dom))
                {
                    Match  m     = reg.Match(dom);
                    string table = m.Groups[0].Value;
                    table = PrepareHtmlToXml(table);
                    //table = table.Replace("<br>", "&lt;bt&gt;");
                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(table);
                    trans.WarranterList = new List <Person>();
                    XmlNodeList list = doc.SelectNodes("/table/tbody/tr");
                    for (int i = 2; i <= list.Count; i++)
                    {
                        trans.WarranterList.Add(new Person()
                        {
                            ObjectName    = doc.SelectSingleNode(string.Format("/table/tbody/tr[{0}]/td[1]", i)).InnerText,
                            ObjectAddress = doc.SelectSingleNode(string.Format("/table/tbody/tr[{0}]/td[2]", i)).InnerText
                        });
                    }
                }
            }

            // Neu trong danh sach Warranter  co ten = ten KH thi gan Ma KHTX cho warranter do
            if (trans.WarranterList != null)
            {
                bool isMatchWarranterCode = false;
                for (int i = 0; i < trans.WarranterList.Count; i++)
                {
                    if (trans.WarranterList[i].ObjectName.Trim().Equals(trans.WarranterName.Trim(), StringComparison.OrdinalIgnoreCase))
                    {
                        trans.WarranterList[i].ObjectCode = trans.WarranterCode;
                        isMatchWarranterCode = true;
                    }
                }
                if (!isMatchWarranterCode && trans.WarranterList != null && trans.WarranterList.Count > 0)
                {
                    trans.WarranterList[0].ObjectCode = trans.WarranterCode;
                }
            }

            namePartern = "<table[^>]*id=\"[a-zA-Z0-9_]*SerialNumberReview_gv\"[^>]*>(((?!</table).)*)</table>";
            //namePartern = "<t id=\"a\">(((?!t).)*)</t>";
            reg = new Regex(namePartern, RegexOptions.IgnoreCase);

            dom = dom.Replace("\n", "");
            dom = dom.Replace("\r", "");
            if (reg.IsMatch(dom))
            {
                Match  m     = reg.Match(dom);
                string table = m.Groups[0].Value;
                table = PrepareHtmlToXml(table);
                //table = table.Replace("<br>", "&lt;br&gt;");
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(table);
                trans.AssetLicenseNumber = doc.SelectSingleNode("/table/tbody/tr[2]/td[1]").InnerText;
                trans.Assets             = new List <Asset>();
                XmlNodeList list = doc.SelectNodes("/table/tbody/tr");

                for (int i = 2; i <= list.Count; i++)
                {
                    trans.Assets.Add(new Asset()
                    {
                        AssetLicenseNumber = doc.SelectSingleNode(string.Format("/table/tbody/tr[{0}]/td[1]", i)).InnerText
                    });
                }
            }

            namePartern = "[.]*<span id=\"[a-zA-Z0-9_]*lblPINBefore\"[^>]*>([^>]*)</span>[.]*";
            reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
            if (reg.IsMatch(dom))
            {
                Match    m    = reg.Match(dom);
                string   str  = m.Groups[1].Value;
                string[] arrs = str.Split(':');
                if (arrs.Length > 1)
                {
                    trans.AssetPersonalCode = arrs[1];
                }
            }
        }
Пример #8
0
        public void ExtractInfo(ref CTransaction trans)
        {
            if (CheckPage() == EPage.CUSTOMER)
            {
                trans = new CTransaction();

                // Neu la trang tu bien lai
                //<span id="ctl00_cphBody_SessionDtls_txtAccountBalance_lbl"
                bool   isFromReceipt = false;
                string dom           = browser.GetDocument();
                dom = dom.Replace("\n", "").Replace("\r", "");
                string namePartern = "[.]*<span id=\"ctl00_cphBody_SessionDtls_txtAccountBalance_lbl\"[.]*";
                Regex  reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
                if (reg.IsMatch(dom))
                {
                    isFromReceipt = true;
                }

                //Neu la trang Home
                //<tr id="ctl00_cphBody_trRegistrarClientBatch">
                bool isHomePage = false;
                namePartern = "[.]*<tr id=\"ctl00_cphBody_trRegistrarClientBatch\"[.]*";
                reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
                if (reg.IsMatch(dom))
                {
                    isHomePage = true;
                }

                //<span id="ctl00_cphBody_lblClientHomeIntro">Từ màn hình này, bạn có thể chuyển sang các màn hình được liệt kê dưới đây. Sau khi hoàn thành mỗi giao dịch, bạn sẽ được chuyển trở lại màn hình này để có thể lựa chọn các giao dịch tiếp theo hoặc Đăng xuất. Mỗi giao dịch và lệ phí, phí của giao dịch đó sẽ được đưa vào Chi tiết giao dịch phía dưới và cũng sẽ được hiển thị trong bản sao kê hàng tháng. <br>Số khách hàng của người dùng đang đăng nhập là : <b>100166152</b></span>
                if (!isFromReceipt && !isHomePage)
                {
                    namePartern = "[.]*<span id=\"ctl00_cphBody_lblClientHomeIntro\"[^>]*>[^<>]*<br>[^<>]*<b>([^>]*)</b>[^<>]*</span>[.]*";
                    reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
                    if (reg.IsMatch(dom))
                    {
                        Match m = reg.Match(dom);
                        trans.WarranterCode = m.Groups[1].Value;

                        //if (m.Groups[1].Value.Trim() != "100166152")
                        //{
                        //    trans.WarranterCode = m.Groups[1].Value;
                        //}
                        //else
                        //{
                        //    trans.WarranterCode = "";
                        //}
                    }
                }
                else
                {
                    trans.WarranterCode = "";
                }
                namePartern = "[.]*<td id=\"ctl00_PageHeader1_tdLoginInfo\"[^>]*>(((?!<font)(?!<td)(?!</td).)*)<font [^>]*>([^>]*)</font>(((?!</font)(?!<td)(?!</td).)*)</td>[.]*";
                reg         = new Regex(namePartern, RegexOptions.IgnoreCase);
                if (reg.IsMatch(dom))
                {
                    Match  m         = reg.Match(dom);
                    string loginInfo = m.Groups[3].Value;

                    trans.WebUserName = loginInfo.Split('|')[0].Replace("Người dùng", "").Trim();
                }
            }
        }
Пример #9
0
        public void InitControl(string RefNo, int refType)
        {
            InitGridColumn();
            RefType = refType;
            if (RefType == 26)
            {
                return;
            }
            //Kiem tra don co bi Block khong
            string inputValue = string.Format("<RequestParams Function='Transaction_Asset' Action=\"CheckAssetBlock\" RefType=\"21\" RefNo='{0}'/>", RefNo);

            inputValue = CXML.AddAuthenticate(inputValue);
            string datacsv = CServiceReference.CoreService.ExecuteAction(CSession.CLIENT_KEY, CXML.HtmlEnCode(inputValue));
            IList <CApplicationMessage> mess = CObjectMapper.FromCSV <CApplicationMessage>(datacsv, 1);

            if (mess != null && mess.Count > 0)
            {
                if (string.IsNullOrEmpty(mess[0].Result.ToString()) || mess[0].Result.Equals("0"))
                {
                    MessageBox.Show(mess[0].Description);
                }
            }
            else
            {
                MessageBox.Show("Có lỗi khi kiểm tra phong tỏa tài sản.");
            }
            //Lay du lieu tu so don dang ky
            //CCoreService service = new CCoreService();
            inputValue = string.Format("<RequestParams Function='GetTransaction_Asset' RefType='21' RefNo='{0}' Status='0,1' />", RefNo);
            inputValue = inputValue + string.Format("<RequestParams Function='GetTransaction_Asset' RefType='21' RefNo='{0}' Context='WarranterList'/>", RefNo);
            inputValue = inputValue + string.Format("<RequestParams Function='GetTransaction_Asset' RefType='21' RefNo='{0}' Context='AssetOwnerList'/>", RefNo);

            datacsv = CServiceReference.CoreService.GetContextData(CSession.CLIENT_KEY, CXML.HtmlEnCode(inputValue));

            IList <CTransaction> trans       = CObjectMapper.FromCSV <CTransaction>(datacsv, 1);
            List <Person>        warranter   = CObjectMapper.FromCSV <Person>(datacsv, 2);
            List <Person>        assetownner = CObjectMapper.FromCSV <Person>(datacsv, 3);

            if (warranter == null)
            {
                warranter = new List <Person>();
            }
            if (assetownner == null)
            {
                assetownner = new List <Person>();
            }

            if (trans.Count > 0)
            {
                trans[0].ReceiveDateTime = trans[0].ReceiveDateTime <= new DateTime(1901, 01, 01) ? trans[0].RefDate : trans[0].ReceiveDateTime;
                txtRefNo.Text            = trans[0].RefNo;
                txtReceiveHour.Text      = trans[0].ReceiveDateTime.Hour.ToString();
                txtReceiveMin.Text       = trans[0].ReceiveDateTime.Minute.ToString();
                txtReceiveDay.Text       = trans[0].ReceiveDateTime.Day.ToString();
                txtReceiveMonth.Text     = trans[0].ReceiveDateTime.Month.ToString();
                txtReceiveYear.Text      = trans[0].ReceiveDateTime.Year.ToString();

                //txtReceiveDateTime.Value = trans[0].ReceiveDateTime<new DateTime(1901,01,01)?DateTime.Now:trans[0].ReceiveDateTime;
                txtNumPagesAttachment.Value = trans[0].NumPagesAttachment <= 0 ? 2 : trans[0].NumPagesAttachment;
                //txtIDNo.Text = trans[0].AssetIDCardNo;
                txtPersonalCode.Text               = trans[0].AssetPersonalCode;
                CurrentTransaction                 = trans[0];
                CurrentTransaction.WarranterList   = warranter;
                CurrentTransaction.AssetOwnnerList = assetownner;

                txtOrgRefNo.Text = trans[0].OldRefNo;
                txtNumber.Text   = trans[0].SoDonNhan;
                txtEmail.Text    = trans[0].SendGCNEmail;
                //gia lap
                //trans[0].FileNumber = "1024.pdf";

                lbAttachName.Text = trans[0].RefNo + ".pdf";
                CheckFileExists();

                BindingSource source = new BindingSource();
                source.DataSource      = CurrentTransaction.WarranterList;
                grWarranter.DataSource = source;

                BindingSource ownnersource = new BindingSource();
                ownnersource.DataSource  = CurrentTransaction.AssetOwnnerList;
                grAssetOwnner.DataSource = ownnersource;

                //Neu la don Xoa thi khong hien thi Ma ca nhan
                if (trans[0].Type == 95)
                {
                    pnPesonalCode.Visible = false;
                }
                else
                {
                    pnPesonalCode.Visible = true;
                }
            }
        }