Example #1
0
        static void WorkingWithInterfaces()
        {
            var human = new Employee
            {
                Name    = "Елена",
                Company = "Rubius"
            };

            var anotherHuman = new CivilServant()
            {
                Name   = "Владимир",
                Office = "Новый"
            };

            var humans = new List <IHuman>
            {
                human,
                anotherHuman
            };

            foreach (var h in humans)
            {
                Console.WriteLine(h.Name);
                h.Move();
                h.Run();
            }
        }
Example #2
0
        static void OverrideVsNew()
        {
            Person p1 = new Employee
            {
                Company = "Rubius",
                Name    = "Саша"
            };

            p1.Display();

            var p2 = new CivilServant()
            {
                Office = "Department",
                Name   = "Елена"
            };

            p2.Display();

            //IHuman human = new CivilServant()
            //{
            //    Name = "Виктор"
            //};

            //human.Move();
        }
Example #3
0
        static void Persons()
        {
            var p1 = new Employee()
            {
                Company = "Rubius",
                Name    = "Саша"
            };

            p1.Display();


            var p2 = new CivilServant()
            {
                Office = "Department",
                Name   = "Елена"
            };

            p2.Display();

            var persons = new List <Person>
            {
                p1, // вызовется виртуальный метод
                p2  // вызовется метод базового класса
            };

            foreach (var p in persons)
            {
                p.Display();
            }
        }
Example #4
0
 public BotContext(FillServantEarning bot, CivilServant servant)
 {
     Bot             = bot;
     TerminateSignal = new ManualResetEvent(false);
     Result          = null;
     IsFinished      = false;
     IsStarted       = false;
     Servant         = servant;
 }
Example #5
0
        public List <CivilServant> GetServantList()
        {
            var    f = File.OpenText("c:\\parsal\\cs.csv");
            String line;
            var    models = new List <CivilServant>();

            while ((line = f.ReadLine()) != null)
            {
                var model = CivilServant.ParseCsv(line);
                models.Add(model);
            }
            return(models);
        }
Example #6
0
        public CivilServant Execute(CivilServant servant)
        {
            var beginYear = servant.RecruitedAt.Year;
            var endYear   = servant.DismissedAt.HasValue ? servant.DismissedAt.Value.Year : 2015;

            for (var year = beginYear; year <= endYear; year++)
            {
                var s    = GetPdfText(year.ToString(), servant.FormatID());
                var indO = s.IndexOf("TOTAL DE VENCIMENTOS ") + "TOTAL DE VENCIMENTOS ".Length;
                if (indO > 0)
                {
                    var indF    = s.IndexOf("\n", indO);
                    var vencs   = s.Substring(indO, indF - indO);
                    var earning = new YearEarning();
                    earning.Year         = year;
                    earning.MonthEarning = vencs.Split(' ').Take(12).Select(el => Double.Parse(el)).ToList();
                    servant.Earnings.Add(earning);
                }
            }
            servant.Earnings.OrderBy(el => el.Year);
            return(servant);
        }
Example #7
0
        private void button1_Click(object sender, EventArgs e)
        {
            //faz requisição http

            var currentPage = 0;

            var f = File.CreateText("c:\\m\\cs.csv");

            while (true)
            {
                var CivilServants = new List <CivilServant>();
                currentPage++;
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www1.fgmaiss.com.br/contabil/cgi-bin/pesqgrid.php");
                request.Host            = "www1.fgmaiss.com.br";
                request.CookieContainer = new CookieContainer();
                request.CookieContainer.Add(new Cookie("8jpo2jrlp3005q3lj3qsbf5hq7PESQGRIDfindGrid", "")
                {
                    Domain = request.Host
                });
                request.CookieContainer.Add(new Cookie("PHPSESSID", Cookie)
                {
                    Domain = request.Host
                });
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
                ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); };

                var postData = "";
                if (currentPage == 1)
                {
                    postData = "findGrid=&idpagex=1&lv=find&lm=0&tc=0&mt=0&obj=X3h4ZnVu&qrw=U0VMRUNUICBmdW5jb2RpZ28sIGZ1bm5vbWUgfHwgJyAtIE1BVFJJQ1VMQTogJyB8fCBmdW5tYXRyaWMgfHwgJyAtIENQRjogJyB8fCBmdW5jcGYgfHwgJyAtIERULkFETTogJyB8fCBUT19DSEFSKGZ1bmR0YWRtLCdkZC9NTS95eXl5JykgfHwgQ0FTRSBXSEVOIE5PVCBudWwoZnVuZHRkZW0pIFRIRU4gJyAtIERULkRFTTogJyB8fCBUT19DSEFSKG52bChmdW5kdGRlbSwnMDAwMS0wMS0wMScpLCdkZC9NTS95eXl5JykgRUxTRSAnJyBFTkQgRlJPTSBjdGJmbGguZmxoZnVuIFdIRVJFIHByZmNvZGlnbyA9ICcyOS4xMzguMzc3LzAwMDEtOTMnIEFORCBldGRjb2RpZ28gPSAnMDEnIEFORCBmdW5jb2RpZ298fGZ1bm5vbWUgfHwgJyAtIE1BVFJJQ1VMQTogJyB8fCBmdW5tYXRyaWMgfHwgJyAtIENQRjogJyB8fCBmdW5jcGYgfHwgJyAtIERULkFETTogJyB8fCBUT19DSEFSKGZ1bmR0YWRtLCdkZC9NTS95eXl5JykgfHwgQ0FTRSBXSEVOIE5PVCBudWwoZnVuZHRkZW0pIFRIRU4gJyAtIERULkRFTTogJyB8fCBUT19DSEFSKG52bChmdW5kdGRlbSwnMDAwMS0wMS0wMScpLCdkZC9NTS95eXl5JykgRUxTRSAnJyBFTkQgTElLRSAnJSUnIE9SREVSIEJZIGZ1bm5vbWUsIGZ1bm1hdHJpYw%3D%3D&tit=PESQUISA+DE+SERVIDORES&IDDFGCTBETD=01&IDDFGCTBEXE=2015&IDDPWEBCNPJ=29.138.377%2F0001-93&IDDPWEBMOD=&IDDPWEBFINMOD=&seta=%3C%3C";
                }
                else
                {
                    postData = "findGrid=&idpagex=" + (currentPage - 1).ToString() + "&lv=find&lm=" + (20 * (currentPage - 2)).ToString() + "&tc=0&mt=0&obj=X3h4ZnVu&qrw=U0VMRUNUICBmdW5jb2RpZ28sIGZ1bm5vbWUgfHwgJyAtIE1BVFJJQ1VMQTogJyB8fCBmdW5tYXRyaWMgfHwgJyAtIENQRjogJyB8fCBmdW5jcGYgfHwgJyAtIERULkFETTogJyB8fCBUT19DSEFSKGZ1bmR0YWRtLCdkZC9NTS95eXl5JykgfHwgQ0FTRSBXSEVOIE5PVCBudWwoZnVuZHRkZW0pIFRIRU4gJyAtIERULkRFTTogJyB8fCBUT19DSEFSKG52bChmdW5kdGRlbSwnMDAwMS0wMS0wMScpLCdkZC9NTS95eXl5JykgRUxTRSAnJyBFTkQgRlJPTSBjdGJmbGguZmxoZnVuIFdIRVJFIHByZmNvZGlnbyA9ICcyOS4xMzguMzc3LzAwMDEtOTMnIEFORCBldGRjb2RpZ28gPSAnMDEnIEFORCBmdW5jb2RpZ298fGZ1bm5vbWUgfHwgJyAtIE1BVFJJQ1VMQTogJyB8fCBmdW5tYXRyaWMgfHwgJyAtIENQRjogJyB8fCBmdW5jcGYgfHwgJyAtIERULkFETTogJyB8fCBUT19DSEFSKGZ1bmR0YWRtLCdkZC9NTS95eXl5JykgfHwgQ0FTRSBXSEVOIE5PVCBudWwoZnVuZHRkZW0pIFRIRU4gJyAtIERULkRFTTogJyB8fCBUT19DSEFSKG52bChmdW5kdGRlbSwnMDAwMS0wMS0wMScpLCdkZC9NTS95eXl5JykgRUxTRSAnJyBFTkQgTElLRSAnJSUnIE9SREVSIEJZIGZ1bm5vbWUsIGZ1bm1hdHJpYw%3D%3D&tit=PESQUISA+DE+SERVIDORES&IDDFGCTBETD=01&IDDFGCTBEXE=2015&IDDPWEBCNPJ=29.138.377%2F0001-93&IDDPWEBMOD=&IDDPWEBFINMOD=&seta=%3E%3E";
                }

                var data = Encoding.ASCII.GetBytes(postData);

                request.Method        = "POST";
                request.ContentType   = "application/x-www-form-urlencoded";
                request.ContentLength = data.Length;

                using (var stream = request.GetRequestStream())
                {
                    stream.Write(data, 0, data.Length);
                }


                var response = request.GetResponse();

                //copia conteúdo da responsta http para uma string
                var responseStream = response.GetResponseStream();
                var memStream      = new MemoryStream();
                responseStream.CopyTo(memStream);
                var responseText = System.Text.Encoding.Default.GetString(memStream.ToArray());

                var currentIndex = responseText.IndexOf("<tr class=ld_tr");
                if (currentIndex == -1)
                {
                    break;
                }

                while (currentIndex > 0)
                {
                    var currentCS = new CivilServant();
                    var s         = GetBetween(responseText, ">", "</tr>", currentIndex);
                    currentCS.ID           = Int64.Parse(GetBetween(s, "','", "','", s.IndexOf("xxfun")));
                    currentCS.Name         = GetBetween(s, currentCS.ID.ToString() + "','", " -", 0);
                    currentCS.Registration = Int64.Parse(GetBetween(s, "MATRICULA: ", " -", 0));
                    currentCS.CPF          = Int64.Parse(GetBetween(s, "CPF: ", " - ", 0).Replace(".", "").Replace("-", ""));
                    currentCS.RecruitedAt  = DateTime.Parse(s.Substring(s.IndexOf(".ADM: ") + 6, 10), new System.Globalization.CultureInfo("fr-FR", true));
                    if (s.IndexOf("DT.DEM") > 0)
                    {
                        currentCS.DismissedAt = DateTime.Parse(s.Substring(s.IndexOf(".DEM: ") + 6, 10), new System.Globalization.CultureInfo("fr-FR", true));
                    }
                    CivilServants.Add(currentCS);
                    currentIndex = responseText.IndexOf("<tr class=ld_tr", currentIndex + 10);
                }
                CivilServants.ForEach(el => f.WriteLine(el.ToCsv()));
                f.Flush();
            }



            f.Close();
        }