Ejemplo n.º 1
0
 protected void AddRbFromHighToLow(byte startRBIndex, byte endRBIndex, List<RBData> rbDataList)
 {
     for (int i = startRBIndex; i >= endRBIndex; i--)
     {
         RBData item = new RBData((byte) i);
         rbDataList.Add(item);
     }
 }
Ejemplo n.º 2
0
 protected void AddRbFromLowToHigh(byte startRBIndex, byte endRBIndex, List<RBData> rbDataList)
 {
     for (byte i = startRBIndex; i <= endRBIndex; i = (byte) (i + 1))
     {
         RBData item = new RBData(i);
         rbDataList.Add(item);
     }
 }
Ejemplo n.º 3
0
        private bool ExcuteSQLNeedOnePoint(RBData data)
        {
            bool res = false;

            try
            {
                if (data.BaseValue == "")
                {
                    return(false);
                }

                string sql = "CheckPoint1 = '" + data.BaseValue
                             + "' AND Gearshift = '" + Manager.GetInstance().Car.Gearshift
                             + "' AND accorrun = " + Manager.GetInstance().Car.Power()
                             + " AND breaks = " + Manager.GetInstance().Car.BreakType
                             + " AND ValueType = " + ValueType
                             + " AND IsLine = " + Manager.GetInstance().Car.IsLine;
                DataRow[] bbData = Manager.GetInstance().CkvalueDataTbale.Select(sql);

                if (bbData.Length == 0)
                {
                    return(res);
                }

                string   v      = (string)bbData[0]["Nvalue"];
                string[] sArray = Regex.Split(v, "-", RegexOptions.IgnoreCase);
                data.MinValue = float.Parse(sArray[0]);

                if (sArray.Length > 1)
                {
                    data.MaxValue = float.Parse(sArray[1]);
                }
                else
                {
                    data.MaxValue = float.Parse(sArray[0]);
                }

                res = true;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            return(res);
        }
Ejemplo n.º 4
0
        private bool ExcuteSQL(RBData rbData, RBData bbData)
        {
            bool res = false;

            try
            {
                if (rbData.BaseValue == "" || bbData.BaseValue == "")
                {
                    TipValue = "";
                    return(false);
                }

                string sql = "CkPoint1 = '" + rbData.BaseValue
                             + "' AND CkPoint2 = '" + bbData.BaseValue
                             + "' AND Accorrun = " + Manager.GetInstance().Car.Power()
                             + " AND IsLine = " + Manager.GetInstance().Car.IsLine;
                DataRow[] rowData = Manager.GetInstance().BytDataTable.Select(sql);

                if (rowData.Length == 0)
                {
                    bool isYoumen = false;
                    Manager.ExcuteSQLNeedTwoPoint(bbData, rbData, 1, Manager.GetInstance().CkvalueDataTbale, ref isYoumen);

                    CanYouMen = isYoumen;
                    float value = rbData.MinValue - bbData.MinValue;
                    if (CanYouMen == true)
                    {
                        value = rbData.MinValue + Manager.GetInstance().Car.Speed *(rbData.MaxValue - rbData.MinValue) / 100;
                    }

                    TipValue = "Z" + value.ToString();
                    return(res);
                }

                TipValue = (string)rowData[0]["BH"];

                res = true;
            }
            catch (System.Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            return(res);
        }
Ejemplo n.º 5
0
        protected override IEnumerable <IBankovniPolozka> DoParse(DateTime?fromDate = null, DateTime?toDate = null)
        {
            List <IBankovniPolozka> polozky = new List <IBankovniPolozka>();

            if (!fromDate.HasValue)
            {
                fromDate = DateTime.Now.Date.AddYears(-1).AddDays(1);
            }

            if (!toDate.HasValue)
            {
                toDate = DateTime.Now.Date;
            }

            int page = 0;

            //https://www.rb.cz/o-nas/povinne-uverejnovane-informace/transparentni-ucty?p_p_id=Transparentaccountportlet_WAR_Transparentaccountportlet_INSTANCE_e6cf4781&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=nextTransactions&p_p_cacheability=cacheLevelPage&p_p_col_id=_DynamicNestedPortlet_INSTANCE_f5c4beca__column-1-1&p_p_col_count=1&idBankAccount=24389217&fromIndex=51&dateFrom=2016-3-1&dateTo=2018-3-9&q=
            //https://www.rb.cz/o-nas/povinne-uverejnovane-informace/transparentni-ucty?p_p_id=Transparentaccountportlet_WAR_Transparentaccountportlet_INSTANCE_e6cf4781&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=nextTransactions&p_p_cacheability=cacheLevelPage&p_p_col_id=_DynamicNestedPortlet_INSTANCE_f5c4beca__column-1-1&p_p_col_count=1&idBankAccount=24389217&fromIndex=0&dateFrom=2016-3-1&dateTo=2018-3-17&q=

            using (Devmasters.Net.Web.URLContent baseUrl = new Devmasters.Net.Web.URLContent(this.Ucet.Url))
            {
                baseUrl.IgnoreHttpErrors = true;
                var html = baseUrl.GetContent(Encoding.UTF8);

                var webReqInstance        = HlidacStatu.Util.ParseTools.GetRegexGroupValue(html.Text, "Transparentaccountportlet_INSTANCE_(?<inst>[a-z0-9]*)_", "inst");
                var dynamicInst           = HlidacStatu.Util.ParseTools.GetRegexGroupValue(html.Text, "p_p_id_DynamicNestedPortlet_INSTANCE_(?<inst>[a-z0-9]*)_", "inst");
                var internalIdBankAccount = HlidacStatu.Util.ParseTools.GetRegexGroupValue(html.Text, @"idBankAccount=(?<id>\d*)", "id");
                if (!string.IsNullOrEmpty(webReqInstance))
                {
                    bool   getSomeData = true;
                    string cisloUctu   = this.Ucet.CisloUctu.Split('/')[0];

                    do
                    {
                        string url = string.Format(@"https://www.rb.cz/o-nas/povinne-uverejnovane-informace/transparentni-ucty?" +
                                                   "p_p_id=Transparentaccountportlet_WAR_Transparentaccountportlet_INSTANCE_{0}&p_p_lifecycle=2&p_p_state=normal"
                                                   + "&p_p_mode=view&p_p_resource_id=nextTransactions&p_p_cacheability=cacheLevelPage"
                                                   + "&p_p_col_id=_DynamicNestedPortlet_INSTANCE_{1}__column-1-1&p_p_col_count=1"
                                                   + "&idBankAccount={2}&fromIndex={3}&dateFrom={4}&dateTo={5}&q="
                                                   , webReqInstance, dynamicInst, internalIdBankAccount, page * 20 + 1, fromDate.Value.ToString("yyyy-M-d"), toDate.Value.ToString("yyyy-M-d"));

                        using (Devmasters.Net.Web.URLContent net = new Devmasters.Net.Web.URLContent(url, html.Context))
                        {
                            net.IgnoreHttpErrors = true;
                            var json = net.GetContent().Text;

                            try
                            {
                                RBData data = Newtonsoft.Json.JsonConvert.DeserializeObject <RBData>(json);
                                page++;
                                if (data.transactions != null && data.transactions.Count() > 0)
                                {
                                    getSomeData = true;
                                    polozky.AddRange(
                                        data.transactions
                                        .Select(m => new SimpleBankovniPolozka()
                                    {
                                        Castka            = HlidacStatu.Util.ParseTools.ToDecimal(m.amount) ?? 0,
                                        CisloProtiuctu    = "",
                                        CisloUctu         = this.Ucet.CisloUctu,
                                        Datum             = HlidacStatu.Util.ParseTools.ToDateTime(m.datumDate, "dd.MM.yyyy").Value,
                                        KS                = m.constSymbol,
                                        NazevProtiuctu    = m.accountName,
                                        PopisTransakce    = m.type,
                                        SS                = m.specSymbol,
                                        VS                = m.varSymbol,
                                        ZdrojUrl          = baseUrl.Url,
                                        ZpravaProPrijemce = m.info,
                                    })
                                        );
                                }
                                else
                                {
                                    getSomeData = false;
                                }
                            }
                            catch (Exception e)
                            {
                                TULogger.Error("RB parser JSON error", e);
                                return(polozky);
                            }
                        }
                    } while (getSomeData);
                }
            }



            return(polozky);
        }