Beispiel #1
0
        public string ConstructionPage()
        {
            string number = new WebElement().ByXPath("//span[@class='has-subheader']").Text;

            number = number.Remove(number.IndexOf('('), 1);
            number = number.Remove(number.IndexOf(')'), 1);
            number = number.Remove(number.IndexOf(' '), 1);
            number = number.Remove(number.IndexOf('-'), 1);
            number = number.Remove(number.IndexOf('-'), 1);
            Number = number;
            var    query       = @"select REPLACE_SIM_IND from ecr9_billing_account_ext where ban= (select customer_id from ecr9_subscriber where subscriber_no = '" + number + "')";
            var    simQ        = Executor.ExecuteSelect(query);
            string replace_ind = simQ[0, 0];

            ChangeSimBtnWE = new WebElement().ByXPath("//button[contains(@id,'simReplaceForm')]");
            if (replace_ind != "Y")
            {
                return("Запрещено изменение SIM: REPLACE_SIM_IND = " + replace_ind);
            }
            if (!ChangeSimBtnWE.Displayed)
            {
                return("Не отображены элементы интерфейса: кнопка замены Sim");
            }

            return("success");
        }
Beispiel #2
0
        public string SuccessChangeOfTariff(ref string nameTariff, ref string number, string ban, string db_Ans)
        {
            try
            {
                if (nameTariff == null)
                {
                    nameTariff = new WebElement().ByXPath("//div[contains(@id,'tariffsList')]//div[contains(@class,'service-item tariff-item')][1]//div[@class='info ']").Id;
                    WebElement tar = new WebElement().ByXPath("//div[contains(@class,'service-item tariff-item')][1]//button[contains(@id,'changeButton')]");
                    //Заявка №2 147 510 530 на изменение тарифа
                    if (tar.Displayed)
                    {
                        if (tar.Enabled)
                        {
                            SaveSF(ban, db_Ans, nameTariff);
                            tar.Click();
                            Thread.Sleep(10000);
                            WebElement relsocbutton = new WebElement().ByXPath("//button[contains(@id,'relatedSocsComponent')]");
                            if (relsocbutton.Displayed)
                            {
                                relsocbutton.Click();
                            }
                            string text =
                                new WebElement().ByXPath(
                                    "//div[contains(@class,'service-item tariff-item')][1]//div[contains(@class,'info')]//div[@class='message message-success']")
                                .Text;
                            if (text.Contains("Заявка") && text.Contains("на изменение тарифа") &&
                                text.Contains("принята, за статусом можно следить в") && text.Contains("истории заявок"))
                            {
                                number = text.Remove(0, text.IndexOf('№') + 1);
                                number = number.Remove(number.IndexOf(" на изменение"),
                                                       number.Length - number.IndexOf(" на изменение"));
                                while (number.IndexOf(' ') != -1)
                                {
                                    number = number.Remove(number.IndexOf(' '), 1);
                                }
                                return("success");
                            }
                            else
                            {
                                return("Текст не верен");
                            }
                        }
                        return("Кнопка заблокирована");
                    }
                    return("Кнопка не отображена");
                }
                else
                {
                    WebElement tar = new WebElement().ByXPath("//div[contains(@id," + nameTariff + ")]//ancestor::div[1]//button[contains(@id,'changeButton')]");
                    //Заявка №2 147 510 530 на изменение тарифа
                    if (tar.Displayed)
                    {
                        if (tar.Enabled)
                        {
                            SaveSF(ban, db_Ans, nameTariff);
                            tar.Click();


                            string text =
                                new WebElement().ByXPath(
                                    "//div[contains(@id," + nameTariff + ")]//ancestor::div[1]//div[contains(@class,'info')]//div[@class='message message-success']")
                                .Text;
                            if (text.Contains("Заявка") && text.Contains("на изменение тарифа") &&
                                text.Contains("принята, за статусом можно следить в") && text.Contains("истории заявок"))
                            {
                                number = text.Remove(0, text.IndexOf('№') + 1);
                                number = number.Remove(number.IndexOf(" на изменение"),
                                                       number.Length - number.IndexOf(" на изменение"));
                                while (number.IndexOf(' ') != -1)
                                {
                                    number = number.Remove(number.IndexOf(' '), 1);
                                }
                                return("success");
                            }
                            else
                            {
                                return("Текст не верен");
                            }
                        }
                        return("Кнопка заблокирована");
                    }
                    return("Кнопка не отображена");
                }
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
Beispiel #3
0
        public string SuccessDisconnectOfService(ref string nameService, ref string number, string db_Ans)
        {
            Thread.Sleep(5000);
            try
            {
                if (nameService == null)
                {
                    var    t     = "select logical_date from logical_date@" + db_Ans + @" where rownum<2";
                    var    tm    = Executor.ExecuteSelect(t);
                    string dateB = Convert.ToDateTime(tm[0, 0]).ToShortDateString();
                    var    d     = dateB.Split('.');
                    string date  = d[0] + "." + d[1] + "." + d[2].Remove(0, 2);

                    WebElement endDate   = new WebElement().ByXPath("//div[contains(@class,'service-item')][1]//span[contains(@id,'disconnectingSocDate')]//input");
                    WebElement btnCancel = new WebElement().ByXPath("//div[contains(@class,'service-item')][1]//a[contains(text(),'Не отключать')]");


                    if (!endDate.Displayed)
                    {
                        return("Не отображается поле ввода даты отключения");
                    }
                    if (endDate.Value != date)
                    {
                        return("Дата отключения по умолчанию некорректна");
                    }
                    if (!btnCancel.Displayed)
                    {
                        return("Не отображается псевдоссылка отмены подключения услуги");
                    }

                    WebElement btnChange = new WebElement().ByXPath("//div[contains(@class,'service-item')][1]//button[contains(@id,'dscntBtn')]");
                    if (btnChange.Displayed)
                    {
                        if (btnChange.Enabled)
                        {
                            btnChange.Click();
                        }
                        else
                        {
                            return("Кнопка подтверждения подключения заблокирована");
                        }
                    }
                    else
                    {
                        return("Кнопка подтверждения смены услуги не отображается");
                    }

                    nameService = new WebElement().ByXPath("//div[contains(@class,'service-item')][1]").Id;
                    string text =
                        new WebElement().ByXPath(
                            "//div[contains(@class,'service-item')][1]//div[@class='ui-outputpanel ui-widget disconnectorResults message']")
                        .Text;
                    // Запрос 2147677532 на отключение услуги "GPRS-пакет в международном роуминге 100 Мб" успешно отправлен. За статусом запроса следите вистории заявок
                    if (text.Contains("Запрос") && text.Contains("на отключение услуги") && text.Contains("успешно отправлен. За статусом запроса следите в") && text.Contains("истории заявок"))
                    {
                        number = text.Remove(0, text.IndexOf(' ') + 1);
                        number = number.Remove(number.IndexOf(" на отключение"), number.Length - number.IndexOf(" на отключение"));
                        while (number.IndexOf(' ') != -1)
                        {
                            number = number.Remove(number.IndexOf(' '), 1);
                        }
                        return("success");
                    }
                    else
                    {
                        return("Текст не верен");
                    }
                }

                return("success");
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
Beispiel #4
0
        public string CheckConnectedServices(string ban, string db_Ans, string db_Ms, string phoneNumber)
        {
            var    t     = "select logical_date from logical_date@" + db_Ans + @" where rownum<2";
            var    tm    = Executor.ExecuteSelect(t);
            string dateB = Convert.ToDateTime(tm[0, 0]).ToShortDateString();
            var    d     = dateB.Split('.');
            string date  = d[2] + d[1] + d[0];


            var q = @"SELECT   s.soc, we.entity_id
                        FROM ecr9_service_agreement  S
                        join price_plan pp on pp.external_price_plan = s.soc
                        join ecr9_price_plan_ext epp on pp.price_plan_id=epp.price_plan_id
                        join web_entity  we on trim(we.Ext_Entity_Code) = trim(s.soc)
                        WHERE
                        (TO_CHAR(TRUNC(S.EXPIRATION_DATE),'YYYYMMDD')>=" + date + @" or S.EXPIRATION_DATE is null)
                        and (NOTVIEW_ADD_IND='N'or NOTVIEW_ADD_IND is null)
                        and ADD_IND='Y'
                        and view_ind='Y'
                        and s.subscriber_no =  " + phoneNumber + @"
                        and s.service_type like 'O'
                        and we.template_id = 
                        (select template_id from web_templates where business_type='B2C' and pay_syst_type='POST' 
                        and entity_type='SOC')";

            var servicesQ = Executor.ExecuteSelect(q);


            int i = 0;

            while (i < servicesQ.Count)
            {
                string servicesDb = servicesQ[i, 0];
                while (servicesDb.IndexOf(' ') != -1)
                {
                    servicesDb = servicesDb.Remove(servicesDb.IndexOf(' '), 1);
                }
                string serviceDbId = servicesQ[i, 1];
                var    qp          = @"SELECT  * FROM " + db_Ms + ".WEB_ENTITY_PARAM WHERE param_id =  100000082 and entity_id = " + serviceDbId;
                var    serviceV    = Executor.ExecuteSelect(qp);
                if (serviceV.Count == 0)
                {
                    WebElement weServiceFam    = new WebElement().ByXPath("//a[contains(@onclick,'" + servicesDb + "')]");
                    WebElement weServiceTariff = new WebElement().ByXPath("//div[contains(@id,'" + servicesDb + "')]");
                    if (!weServiceFam.Displayed && !weServiceTariff.Displayed)
                    {
                        return("Не отображается услуга " + servicesDb);
                    }

                    var qnam = @"select param_value from web_entity we
                                 join web_entity_param wep on we.entity_id = wep.entity_id
                                 where we.entity_id = " + serviceDbId + @"  
                                 and wep.param_name_id = '100000001'";// or wep.param_name_id = '100000002' or wep.param_name_id = '100000003') ";
                    var anam = Executor.ExecuteSelect(qnam);

                    string nam = new WebElement().ByXPath("//div[contains(@id,'" + servicesDb + "')]//div[@class='ui-outputpanel ui-widget descr']").Text.Trim(' ');
                    while (nam.IndexOf(' ') != -1)
                    {
                        nam = nam.Remove(nam.IndexOf(' '), 1);
                    }
                    if (anam.Count != 0)
                    {
                        string namdb = anam[0, 0];
                        while (namdb.IndexOf(' ') != -1)
                        {
                            namdb = namdb.Remove(namdb.IndexOf(' '), 1);
                        }
                        if (nam != namdb)
                        {
                            return("Неверное описание услуги" + servicesDb);
                        }
                    }
                    var        qab = @"select param_value from web_entity we
                                 join web_entity_param wep on we.entity_id = wep.entity_id
                                 where we.entity_id = " + serviceDbId + @"  
                                 and wep.param_name_id = '100000002'";
                    var        ab  = Executor.ExecuteSelect(qab);
                    WebElement nab = new WebElement().ByXPath("//div[contains(@id,'" + servicesDb + "')]//span[contains(@class,'price')][1]");
                    if (ab.Count != 0)
                    {
                        if (nab.Text.Replace(" руб.", "") != ab[0, 0])
                        {
                            return("Неверная абоненская плата услуги" + servicesDb);
                        }
                        else
                        {
                            if (nab.Text.Replace(" руб.", "") != "0")
                            {
                                return("Неверная абоненская плата услуги" + servicesDb);
                            }
                        }
                    }
                    else
                    {
                        if (nab.Displayed)
                        {
                            return("Неверная стоимость подключения услуги" + servicesDb);
                        }
                    }
                    var        qcon = @"select param_value from web_entity we
                                 join web_entity_param wep on we.entity_id = wep.entity_id
                                 where we.entity_id = " + serviceDbId + @"  
                                 and wep.param_name_id = '100000003'";
                    var        acon = Executor.ExecuteSelect(qcon);
                    WebElement ncon = new WebElement().ByXPath("//div[contains(@id,'" + servicesDb + "')]//div[contains(@class,'ui-outputpanel ui-widget prices')]/div[2]");
                    if (acon.Count != 0)
                    {
                        if (ncon.Text.Replace(" руб. подключение", "") != acon[0, 0])
                        {
                            return("Неверная стоимость подключения услуги" + servicesDb);
                        }
                        else
                        {
                            if (ncon.Text.Replace(" руб. подключение", "") != "0")
                            {
                                return("Неверная стоимость подключения услуги" + servicesDb);
                            }
                        }
                    }
                    else
                    {
                        if (ncon.Displayed)
                        {
                            return("Неверная стоимость подключения услуги" + servicesDb);
                        }
                    }
                    if (!(new WebElement().ByXPath("//div[contains(@id,'" + servicesDb + "')]//a[@class='ui-commandlink ui-widget dynamic description-link']").Displayed))
                    {
                        return("Не отображается ссылка на подробное описание" + servicesDb);
                    }
                }
                i = i + 1;
            }
            return("success");
        }
Beispiel #5
0
        private string CheckServices(string ban, string db_Ans, string currentTariff, string db_Ms, string category)
        {
            var    t     = "select logical_date from logical_date@" + db_Ans + @" where rownum<2";
            var    tm    = Executor.ExecuteSelect(t);
            string dateB = Convert.ToDateTime(tm[0, 0]).ToShortDateString();
            var    d     = dateB.Split('.');
            string date  = d[2] + d[1] + d[0];

            string atB = "select account_type from ecr9_billing_account where ban = " + ban;
            var    qAt = Executor.ExecuteSelect(atB);
            string at  = qAt[0, 0];

            var    qs     = "select public_ind FROM ecr9_billing_account_ext where ban like " + ban;
            var    stat   = Executor.ExecuteSelect(qs);
            string status = "";

            if (stat.Count == 0)
            {
                status = "('N') or epp.NON_PUBLIC_IND is null";
            }
            else
            {
                if (stat[0, 0] == "U")
                {
                    status = "('N') or epp.NON_PUBLIC_IND is null";
                }

                if (stat[0, 0] == "A")
                {
                    status = "('N', 'Y') or epp.NON_PUBLIC_IND is null";
                }

                if (stat[0, 0] == "R")
                {
                    status = "('Y')";
                }
            }

            var q = @"SELECT s.soc, we.entity_id
                        FROM SOC@" + db_Ans + @"  S
                        LEFT JOIN MARKET_SOC_RESTRICT@" +
                    db_Ans + @"  MSR 
                        ON (S.MARKET_RESTRICT_IND = 'Y'
                        AND S.SOC = MSR.SOC
                        AND NVL(TO_CHAR(MSR.EXPIRATION_DATE,'YYYYMMDD'),'47001231')>=" +
                    date + @"
                        AND TO_CHAR(MSR.EFFECTIVE_DATE,'YYYYMMDD')<=" + date + @" )
                        JOIN SOC_ACC_RESTRICTION@" +
                    db_Ans + @"  SAR 
                        ON (S.SOC=SAR.SOC
                        AND SAR.ACCOUNT_TYPES='" + at + @" ')
                        JOIN SOC_RELATION@" +
                    db_Ans + @"  SR
                        ON (S.SOC=SR.SOC_DEST
                        AND trim(SR.SOC_SRC)='" + currentTariff + @"'
                        AND NVL(TO_CHAR(SR.EXPIRATION_DATE,'YYYYMMDD'),'47001231')>=" +
                    date + @" )
                        join price_plan pp on pp.external_price_plan = s.soc
                        join ecr9_price_plan_ext epp on pp.price_plan_id=epp.price_plan_id
                        join web_entity  we on trim(we.Ext_Entity_Code) = trim(s.soc)
                        join web_category_link  wcl on we.entity_id = wcl.entity_id 
                        join web_category wc on wc.category_id = wcl.category_id
                        WHERE SOC_STATUS='A'
                        AND NVL(TO_CHAR(TRUNC(S.EXPIRATION_DATE),'YYYYMMDD'),'47001231')>=" +
                    date + @"
                        and wc.category_name = '" + category + @"'
                        AND TO_CHAR(S.EFFECTIVE_DATE,'YYYYMMDD')<=" + date + @" 
                        AND (S.MARKET_RESTRICT_IND IS NULL OR S.MARKET_RESTRICT_IND ='N' OR MSR.MARKET_CODE= (select market_code  from ecr9_billing_account where ban =" + ban + @"))
                        AND NVL(TO_CHAR(TRUNC(S.SALE_EXP_DATE),'YYYYMMDD'),'47001231')>=" +
                    date + @" 
                        and (NOTVIEW_ADD_IND='N'or NOTVIEW_ADD_IND is null)
                        and ADD_IND='Y'
                        and view_ind='Y'
                        and we.template_id = 
                        (select template_id from web_templates where business_type='B2C' and pay_syst_type='POST' 
                        and entity_type='SOC') 
                        and (NON_PUBLIC_IND in " + status + @") 
                        AND TO_CHAR(S.SALE_EFF_DATE,'YYYYMMDD')<=" + date;

            var servicesQ = Executor.ExecuteSelect(q);


            int i = 0;

            while (i < servicesQ.Count)
            {
                string servicesDb = servicesQ[i, 0];
                while (servicesDb.IndexOf(' ') != -1)
                {
                    servicesDb = servicesDb.Remove(servicesDb.IndexOf(' '), 1);
                }
                string serviceDbId = servicesQ[i, 1];
                var    qp          = @"SELECT  * FROM " + db_Ms + ".WEB_ENTITY_PARAM WHERE param_id =  100000082 and entity_id = " + serviceDbId;
                var    serviceV    = Executor.ExecuteSelect(qp);
                if (serviceV.Count == 0)
                {
                    WebElement weServiceFam    = new WebElement().ByXPath("//a[contains(@onclick,'" + servicesDb + "')]");
                    WebElement weServiceTariff = new WebElement().ByXPath("//div[contains(@id,'" + servicesDb + "')]");
                    if (!weServiceFam.Displayed && !weServiceTariff.Displayed)
                    {
                        return("Не отображается услуга " + servicesDb);
                    }

                    var qnam = @"select param_value from web_entity we
                                 join web_entity_param wep on we.entity_id = wep.entity_id
                                 where we.entity_id = " + serviceDbId + @"  
                                 and wep.param_name_id = '100000001'";// or wep.param_name_id = '100000002' or wep.param_name_id = '100000003') ";
                    var anam = Executor.ExecuteSelect(qnam);

                    string nam = new WebElement().ByXPath("//div[contains(@id,'" + servicesDb + "')]//div[@class='ui-outputpanel ui-widget descr']").Text.Trim(' ');
                    while (nam.IndexOf(' ') != -1)
                    {
                        nam = nam.Remove(nam.IndexOf(' '), 1);
                    }
                    if (anam.Count != 0)
                    {
                        string namdb = anam[0, 0];

                        while (namdb.IndexOf(' ') != -1)
                        {
                            namdb = namdb.Remove(namdb.IndexOf(' '), 1);
                        }
                        if (nam != namdb)
                        {
                            return("Неверное описание услуги" + servicesDb);
                        }
                    }
                    var        qab = @"select param_value from web_entity we
                                 join web_entity_param wep on we.entity_id = wep.entity_id
                                 where we.entity_id = " + serviceDbId + @"  
                                 and wep.param_name_id = '100000002'";
                    var        ab  = Executor.ExecuteSelect(qab);
                    WebElement nab = new WebElement().ByXPath("//div[contains(@id,'" + servicesDb + "')]//span[contains(@class,'price')][1]");
                    string     s   = nab.Text.Replace(" руб.", "");
                    if (ab.Count != 0)
                    {
                        if (s != ab[0, 0])
                        {
                            return("Неверная абоненская плата услуги" + servicesDb);
                        }
                    }
                    else
                    {
                        if (nab.Displayed)
                        {
                            return("Неверная абоненская плата услуги" + servicesDb);
                        }
                    }
                    var        qcon = @"select param_value from web_entity we
                                 join web_entity_param wep on we.entity_id = wep.entity_id
                                 where we.entity_id = " + serviceDbId + @"  
                                 and wep.param_name_id = '100000003'";
                    var        acon = Executor.ExecuteSelect(qcon);
                    WebElement ncon = new WebElement().ByXPath("//div[contains(@id,'" + servicesDb + "')]//div[contains(@class,'ui-outputpanel ui-widget prices')]/div[2]");
                    if (acon.Count != 0)
                    {
                        if (ncon.Text.Replace(" руб. подключение", "") != acon[0, 0])
                        {
                            return("Неверная стоимость подключения услуги" + servicesDb);
                        }
                    }
                    else
                    {
                        if (ncon.Displayed)
                        {
                            return("Неверная стоимость подключения услуги" + servicesDb);
                        }
                    }
                    if (!(new WebElement().ByXPath("//div[contains(@id,'" + servicesDb + "')]//a[@class='ui-commandlink ui-widget dynamic description-link']").Displayed))
                    {
                        return("Не отображается ссылка на подробное описание" + servicesDb);
                    }
                }
                i = i + 1;
            }
            return("success");
        }
Beispiel #6
0
        public string SuccessChangeOfTariff(ref string nameTariff, ref string number)
        {
            try
            {
                number = "0";
                if (nameTariff == null)
                {
                    WebElement btnChange = new WebElement().ByXPath(
                        "//div[contains(@class,'service-item tariff-item')][1]//button[contains(@id,'changeButton')]");
                    if (btnChange.Displayed)
                    {
                        if (btnChange.Enabled)
                        {
                            btnChange.Click();
                        }
                        else
                        {
                            return("Кнопка подтверждения смены тарифа заблокирована");
                        }
                    }
                    else
                    {
                        return("Кнопка подтверждения смены тарифа не отображается");
                    }
                    Thread.Sleep(10000);
                    WebElement relsocbutton = new WebElement().ByXPath("//button[contains(@id,'relatedSocsComponent')]");
                    if (relsocbutton.Displayed)
                    {
                        relsocbutton.Click();
                    }

                    nameTariff = new WebElement().ByXPath("//div[contains(@class,'service-item tariff-item')][1]//div[@class='info ']").Id;
                    string text =
                        new WebElement().ByXPath(
                            "//div[contains(@class,'service-item tariff-item')][1]//div[@class='info ']//div[@class='message message-success']")
                        .Text;
                    if (text.Contains("Заявка") && text.Contains("на изменение тарифа") && text.Contains("принята, за статусом можно следить в") && text.Contains("истории заявок"))
                    {
                        number = text.Remove(0, text.IndexOf('№') + 1);
                        number = number.Remove(number.IndexOf(" на изменение"), number.Length - number.IndexOf(" на изменение"));
                        while (number.IndexOf(' ') != -1)
                        {
                            number = number.Remove(number.IndexOf(' '), 1);
                        }
                        return("success");
                    }
                    else
                    {
                        return("Текст не верен");
                    }
                }
                else
                {
                    WebElement btnChange = new WebElement().ByXPath(
                        "//div[contains(@id," + nameTariff + ")]//ancestor::div[1]//button[contains(@id,'changeButton')]");
                    if (btnChange.Displayed)
                    {
                        if (btnChange.Enabled)
                        {
                            btnChange.Click();
                        }
                        else
                        {
                            return("Кнопка подтверждения смены тарифа заблокирована");
                        }
                    }
                    else
                    {
                        return("Кнопка подтверждения смены тарифа не отображается");
                    }


                    string text =
                        new WebElement().ByXPath(
                            "//div[contains(@id," + nameTariff + ")]//ancestor::div[1]//div[@class='info ']//div[@class='message message-success']")
                        .Text;
                    if (text.Contains("Заявка") && text.Contains("на изменение тарифа") && text.Contains("принята, за статусом можно следить в") && text.Contains("истории заявок"))
                    {
                        number = text.Remove(0, text.IndexOf('№') + 1);
                        number = number.Remove(number.IndexOf(" на изменение"), number.Length - number.IndexOf(" на изменение"));
                        while (number.IndexOf(' ') != -1)
                        {
                            number = number.Remove(number.IndexOf(' '), 1);
                        }
                        return("success");
                    }
                    else
                    {
                        return("Текст не верен");
                    }
                }
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }