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(); } }
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(); }
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(); } }
public BotContext(FillServantEarning bot, CivilServant servant) { Bot = bot; TerminateSignal = new ManualResetEvent(false); Result = null; IsFinished = false; IsStarted = false; Servant = servant; }
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); }
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); }
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(); }