Example #1
0
        public static bool PRAP_NewClaimSearch(SHDocVw.InternetExplorer wb, SHDocVw.ShellWindows shells, string Dcn)
        {
            if (wb != null)
            {
                mshtml.HTMLDocument iePrapDoc = wb.Document;

                mshtml.HTMLInputElement prapDCNinput = null;

                iePrapDoc.getElementById("advancedSearch").click();

                while (IELib.IEGet(shells, "Advanced Search") == null)
                {
                }

                wb = IELib.IEGet(shells, "Advanced Search");
                IELib.IeWait(wb);
                iePrapDoc = wb.Document;

                int timeOutCounter = 0;
                while (prapDCNinput == null)
                {
                    prapDCNinput = iePrapDoc.getElementsByName("documentControlNumber").item(0);
                    timeOutCounter++;
                    if (timeOutCounter == 50)
                    {
                        PRAP_Functions.PRAP_CloseWindows(shells); return(false);
                    }
                }

                try { prapDCNinput.value = "0201" + Dcn; } catch (Exception) { PRAP_Functions.PRAP_CloseWindows(shells); return(false); }

                try { iePrapDoc.getElementById("searchButn").click(); } catch (Exception) { PRAP_Functions.PRAP_CloseWindows(shells); return(false); }

                while (IELib.IEGet(shells, "Search Results") == null)
                {
                }

                wb        = IELib.IEGet(shells, "Search Results");
                iePrapDoc = wb.Document;
                foreach (mshtml.IHTMLElement a in iePrapDoc.getElementsByTagName("a"))
                {
                    if (a.innerText == "0201" + Dcn)
                    {
                        a.click();
                    }
                }

                while (IELib.IEGet(shells, "Claim Inquiry Details") == null)
                {
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #2
0
        public static mshtml.IHTMLElement getElementByName(
            this mshtml.HTMLDocument document,
            string name
            )
        {
            var elements = document.getElementsByName(name);

            if (elements.length > 0)
            {
                return((mshtml.IHTMLElement)elements.item(index: 0));
            }

            return(null);
        }
        private void webBrowser1_LoadCompleted(object sender, NavigationEventArgs e)
        {
            if (i == 0)
            {
                mshtml.HTMLDocument document = (mshtml.HTMLDocument)webBrowser1.Document;
                var elems = document.getElementsByName("commit");
                foreach (mshtml.IHTMLElement button in elems)
                {
                    mshtml.IHTMLElement k = button;
                    k.click();
                    i = 1;
                }
                webBrowser1.Navigate("https://www.supremenewyork.com/checkout");
            }
            else if (i == 1)
            {
                mshtml.HTMLDocument      document2 = (mshtml.HTMLDocument)webBrowser1.Document;
                mshtml.IHTMLInputElement input     = (mshtml.IHTMLInputElement)document2.getElementById("order_billing_name");
                input.value = name_textbox.Text;

                input       = (mshtml.IHTMLInputElement)document2.getElementById("order_email");
                input.value = email_textbox.Text;

                input       = (mshtml.IHTMLInputElement)document2.getElementById("order_tel");
                input.value = tel_textbox.Text;

                input       = (mshtml.IHTMLInputElement)document2.getElementById("bo");
                input.value = add1_textbox.Text;

                input       = (mshtml.IHTMLInputElement)document2.getElementById("oba3");
                input.value = add2_textbox.Text;

                input       = (mshtml.IHTMLInputElement)document2.getElementById("order_billing_zip");
                input.value = zip_textbox.Text;

                input       = (mshtml.IHTMLInputElement)document2.getElementById("order_billing_city");
                input.value = city_textbox.Text;

                input       = (mshtml.IHTMLInputElement)document2.getElementById("cnb");
                input.value = number_textbox.Text;

                input       = (mshtml.IHTMLInputElement)document2.getElementById("vval");
                input.value = cvv_textbox.Text;

                mshtml.IHTMLSelectElement select = (mshtml.IHTMLSelectElement)document2.getElementById("order_billing_state");
                select.value = state_combobox.Text;

                select = (mshtml.IHTMLSelectElement)document2.getElementById("credit_card_type");
                if (type_combobox.Text == "Visa")
                {
                    select.value = "visa";
                }
                if (type_combobox.Text == "American Express")
                {
                    select.value = "american_express";
                }
                if (type_combobox.Text == "Master Card")
                {
                    select.value = "master";
                }

                select       = (mshtml.IHTMLSelectElement)document2.getElementById("credit_card_month");
                select.value = month_combobox.Text;

                select       = (mshtml.IHTMLSelectElement)document2.getElementById("credit_card_year");
                select.value = year_combobox.Text;

                var elems = document2.getElementsByName("order[terms]");
                foreach (mshtml.IHTMLElement button in elems)
                {
                    mshtml.IHTMLElement k = button;
                    k.click();
                }

                elems = document2.getElementsByName("commit");
                foreach (mshtml.IHTMLElement button in elems)
                {
                    mshtml.IHTMLElement k = button;
                    k.click();
                }

                i = 2;
            }
        }
Example #4
0
        //実行 MAIN
        public void DoAll()
        {
            //SavePdf("aaaa.csv")
            Pub_Com = new Com("納期指定発注" + DateTime.Now.ToString("yyyyMMddHHmmss"));

            if (Pub_Com.file_list_Nouki.Count == 0)
            {
                ProBar = 100;
                return;
            }

            lv1 = System.Convert.ToDecimal(90 / Pub_Com.file_list_Nouki.Count);
            lv2 = lv1 / 15;

            //一回目
            bool firsOpenKbn = true;

            object authHeader = "Authorization: Basic " +
                                Convert.ToBase64String(System.Text.UnicodeEncoding.UTF8.GetBytes(string.Format("{0}:{1}", Pub_Com.user, Pub_Com.password))) + "\\r\\n";

            //*** OnSiteパスワード入力画面
            Ie.Navigate(Pub_Com.url, null, null, null, authHeader);
            Ie.Silent  = true;
            Ie.Visible = IeVisible;

            ProBar = 5;
            //***ログイン
            DoStep1_Login();

            //CSV ファイルs 取込
            ProBar = 10;
            for (int fileIdx = 0; fileIdx <= Pub_Com.file_list_Nouki.Count - 1; fileIdx++)
            {
                string   csvFileName    = System.Convert.ToString(Pub_Com.file_list_Nouki[fileIdx].ToString().Trim());
                string[] csvNameSplitor = csvFileName.Split('-');

                string 事業所  = csvNameSplitor[0];
                string 得意先  = csvNameSplitor[1];
                string 店    = csvNameSplitor[2];
                string 現場名  = csvNameSplitor[3];
                string 備考   = csvNameSplitor[4];
                string 日付連番 = csvNameSplitor[5];


                //一回目ではなく 実行
                if (firsOpenKbn == false)
                {
                    Pub_Com.GetElementBy(ref Ie, "fraHead", "input", "value", "絞込検索").click();
                    Pub_Com.SleepAndWaitComplete(Ie);
                }

                firsOpenKbn = false;
                AddProBar(lv2);             //1
                Pub_Com.AddMsg("取込:" + Pub_Com.file_list_Nouki[fileIdx].ToString().Trim());


                //見積検索
                Pub_Com.AddMsg("見積検索");
                DoStep1_PoupuSentaku(事業所, 得意先, 店, 現場名, 備考, 日付連番, csvFileName);
                Pub_Com.SleepAndWaitComplete(Ie);
                AddProBar(lv2);             //2

                //納期日設定
                if (!DoStep2_Set())
                {
                    continue;
                }

                Pub_Com.SleepAndWaitComplete(Ie);
                Pub_Com.SleepAndWaitComplete(Ie);
                Pub_Com.SleepAndWaitComplete(Ie);


                //該当データがありません NEXT
                mshtml.HTMLWindow2 fraTmp = Pub_Com.GetFrameByName(ref Ie, "fraHyou");
                if (fraTmp != null)
                {
                    if (fraTmp.document.body.innerText.IndexOf("該当データがありません") >= 0)
                    {
                        continue;
                    }
                }


                //CSVファイル内容取込
                string[] csvDataLines = System.IO.File.ReadAllLines(Pub_Com.folder_Nouki + csvFileName);
                string   code         = "";
                string   nouki        = "";
                AddProBar(lv2);             //3

                mshtml.HTMLWindow2            fra  = Pub_Com.GetFrameWait(ref Ie, "fraMitBody");
                mshtml.HTMLDocument           Doc  = (mshtml.HTMLDocument)fra.document;
                mshtml.IHTMLElementCollection eles = Doc.getElementsByTagName("input");
                //Radio 明細Key
                mshtml.IHTMLElementCollection cbEles = Doc.getElementsByName("strMeisaiKey");
                //指定納期
                mshtml.IHTMLElementCollection nouhinDateEles = Doc.getElementsByName("strSiteiNouhinDate");

                int csvIdx         = 0;
                int sameCdSuu      = 0;
                int gamenSameCdSuu = 0;

                //CSV LINES
                for (int csvLinesIdx = 0; csvLinesIdx <= csvDataLines.Length - 1; csvLinesIdx++)
                {
                    if (!string.IsNullOrEmpty(csvDataLines[csvLinesIdx].Trim()))
                    {
                        //コード 納期
                        code  = System.Convert.ToString(csvDataLines[csvLinesIdx].Split(',')[1].Trim());
                        nouki = System.Convert.ToString((System.Convert.ToDateTime(csvDataLines[csvLinesIdx].Split(',')[2].Trim())).ToString("yyyy/MM/dd"));

                        sameCdSuu      = 0;
                        gamenSameCdSuu = 0;

                        for (csvIdx = 0; csvIdx <= csvLinesIdx; csvIdx++)
                        {
                            if (csvDataLines[csvIdx].Split(',')[1].Trim() == code)
                            {
                                sameCdSuu++;
                            }
                        }

                        for (int i = 0; i <= cbEles.length - 1; i++)
                        {
                            mshtml.IHTMLElement  cb    = (mshtml.IHTMLElement)(cbEles.item(i));
                            mshtml.IHTMLTableRow tr    = (mshtml.IHTMLTableRow)cb.parentElement.parentElement;
                            mshtml.HTMLTableCell td    = (mshtml.HTMLTableCell)(tr.cells.item(1));
                            mshtml.IHTMLTable    table = (mshtml.IHTMLTable)cb.parentElement.parentElement.parentElement.parentElement;

                            bool isHaveDate = false;

                            if (td.innerText == code)
                            {
                                gamenSameCdSuu++;

                                if (sameCdSuu == gamenSameCdSuu)
                                {
                                    mshtml.IHTMLSelectElement sel = (mshtml.IHTMLSelectElement)(nouhinDateEles.item(i));

                                    for (int j = 0; j <= sel.length - 1; j++)
                                    {
                                        mshtml.IHTMLOptionElement opEle = (mshtml.IHTMLOptionElement)(sel.item(j));

                                        if (opEle.value.IndexOf(nouki) > 0)
                                        {
                                            opEle.selected = true;
                                            isHaveDate     = true;
                                            break;
                                        }
                                    }
                                }
                                else
                                {
                                    continue;
                                }

                                if (!isHaveDate)
                                {
                                    MessageBox.Show("コード:[" + code + "] 納品希望日:[" + nouki + "]がありません");
                                    return;
                                }
                            }
                        }
                    }
                }
                AddProBar(lv2);             //4
                Pub_Com.GetElementBy(ref Ie, "fraMitBody", "select", "name", "strBukkenKbn").setAttribute("value", "01");
                Pub_Com.GetElementBy(ref Ie, "fraMitBody", "input", "value", "発 注").click();
                Pub_Com.SleepAndWaitComplete(Ie);
                Pub_Com.SleepAndWaitComplete(Ie);
                Pub_Com.SleepAndWaitComplete(Ie);
                AddProBar(lv2);             //5

                Pub_Com.GetElementBy(ref Ie, "fraMitBody", "input", "value", "発注結果照会へ").click();
                Pub_Com.SleepAndWaitComplete(Ie);
                AddProBar(lv2);             //6

                //PDF 印刷
                if (insatu)
                {
                    SHDocVw.InternetExplorerMedium childIe = default(SHDocVw.InternetExplorerMedium);
                    int RebackKaisu = -1;

Reback:

                    RebackKaisu++;
                    Com.Sleep5(1000);

                    //前回印刷画面 Close
                    ClosePrintPage();
                    Pub_Com.GetElementBy(ref Ie, "fraMitBody", "input", "value", "結果印刷").click();

                    int wait_print;
                    wait_print = int.Parse(Com.GetAppSetting("wait_print"));
                    AutoResetEvent myEvent = new AutoResetEvent(false);
                    myEvent.WaitOne(wait_print * 1000);
                    myEvent.Close();

                    try
                    {
                        //印刷画面取得する
                        childIe = GetPrintPage();
                    }
                    catch (Exception)
                    {
                    }

                    Com.Sleep5(1000);

                    //IE エラー判定する
                    if (GetErrCon() == false)
                    {
                        Com.Sleep5(1000);
                        if (RebackKaisu <= 1)
                        {
                            goto Reback;
                        }
                        else
                        {
                            if (MessageBox.Show("帳票Download エラーしました、終了ですか?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                            {
                                System.Environment.Exit(0);
                            }
                        }
                    }

                    string flName = Pub_Com.pdfPath + csvFileName;

                    try
                    {
                        bool rtv = GetFcwInfo(childIe, flName);
                        ClosePrintPage();
                        if (rtv == false)
                        {
                            if (RebackKaisu <= 1)
                            {
                                goto Reback;
                            }
                            else
                            {
                                if (MessageBox.Show("帳票Download エラーしました、終了ですか?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                                {
                                    System.Environment.Exit(0);
                                }
                            }
                        }
                    }
                    catch (Exception)
                    {
                        ClosePrintPage();
                        if (RebackKaisu <= 1)
                        {
                            goto Reback;
                        }
                        else
                        {
                            if (MessageBox.Show("帳票Download エラーしました、終了ですか?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                            {
                                System.Environment.Exit(0);
                            }
                        }
                    }
                }

                AddProBar(lv2);             //10
                Pub_Com.AddMsg("移動CSV:" + csvFileName + "→" + Pub_Com.folder_Nouki_kanryou);

                Com.MoveFile(Pub_Com.folder_Nouki + csvFileName, Pub_Com.folder_Nouki_kanryou + csvFileName);
                AddProBar(lv2);             //11

                Pub_Com.GetElementBy(ref Ie, "fraMitMenu", "a", "innertext", "[見積一覧を再表示]").click();
                Pub_Com.SleepAndWaitComplete(Ie);
            }


            ProBar = 100;
        }