Exemple #1
0
        public string UdelejRequestGitHub(string url, Dictionary <string, string> parametry = null)
        {
            var       txt = System.IO.File.ReadAllText(Path.GetDirectoryName(Path.GetDirectoryName(Directory.GetCurrentDirectory())) + "\\config.json");
            Nastaveni n   = JsonConvert.DeserializeObject <Nastaveni>(txt);
            // github api si nekdy doplni nejakej parametr sam, potrebuju zjistit, jestli uz nejakej parametr existuje, abych mohl navazat
            string         znak    = url.Contains("?") ? "&" : "?";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + znak + "access_token=" + n.githubToken + "&" + PrevedSlovnikParametruNaString(parametry));

            request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.Reload);
            request.ContentType = "application/vnd.github.v3+json";
            request.Method      = "GET";
            request.UserAgent   = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0";
            //request.Headers["Time-Zone"] = "Europe/Prague";
            try
            {
                WebResponse  response           = request.GetResponse();
                Stream       dataStream         = response.GetResponseStream();
                StreamReader reader             = new StreamReader(dataStream);
                string       responseFromServer = reader.ReadToEnd();
                reader.Close();
                response.Close();
                return(responseFromServer);
            }catch (Exception ex)
            {
                // RETHROW - nejde udelat request
                new Logger(ex.Message).Loguj();
                throw new Exception("Chyba! Nesprávný request, zkontrolujte vstupní parametry");
            }
        }
Exemple #2
0
        /// <summary>
        /// nastaveni datamineru pro repozitar, uzivatele a accesstoken
        /// </summary>
        /// <param name="repozitar"></param>
        /// <param name="uzivatel"></param>
        /// <param name="access_token"></param>
        /// <returns>T/F - podarilo se nastavit</returns>
        public bool NastavDataMiner(string repozitar, string uzivatel, string access_token)
        {
            Nastaveni n = new Nastaveni()
            {
                Repozitar = repozitar, Uzivatel = uzivatel, githubToken = access_token
            };
            var    txt   = JsonConvert.SerializeObject(n);
            string cesta = Path.GetDirectoryName(Path.GetDirectoryName(Directory.GetCurrentDirectory())) + "\\config.json";

            try
            {
                if (System.IO.File.Exists(cesta))
                {
                    System.IO.File.WriteAllText(cesta, txt);
                }
                else
                {
                    System.IO.File.WriteAllText(cesta, txt);
                    //using (FileStream fs = System.IO.File.Create(path))
                    //{
                    //    Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
                    //    // Add some information to the file.
                    //    fs.Write(info, 0, info.Length);
                    //}
                }
                return(true);
            } catch (Exception)
            {
                return(false);
            }
        }
Exemple #3
0
        public void OdesliEmail(string zprava)
        {
            try
            {
                Nastaveni n = null;
                try
                {
                    var txt = System.IO.File.ReadAllText(Path.GetDirectoryName(Path.GetDirectoryName(Directory.GetCurrentDirectory())) + "\\configa.json");
                    n = JsonConvert.DeserializeObject <Nastaveni>(txt);
                }
                catch (Exception ex)
                {
                    Logger lg = new Logger(ex.Message);
                    lg.ZapisLog(lg.VytvorZaznam());
                }

                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");

                mail.From = new MailAddress(n.Email_Jmeno);
                mail.To.Add(n.Email_Jmeno);
                mail.Subject = "BUG/CHYBA/FAIL";
                mail.Body    = "Moji mili developeri, to jsem ja, vas softicek a prave jsem se posral. Potrebuju prebalit. Tady je zaznam - " + zprava;

                SmtpServer.Port        = 587;
                SmtpServer.Credentials = new System.Net.NetworkCredential(n.Email_Jmeno, n.Email_Heslo);
                SmtpServer.EnableSsl   = true;

                SmtpServer.Send(mail);
            }
            catch (Exception)
            {
                //throw;
            }
        }
Exemple #4
0
 public DataMiner()
 {
     AdresaServer = "http://api.github.com";
     try
     {
         var       txt = System.IO.File.ReadAllText(Path.GetDirectoryName(Path.GetDirectoryName(Directory.GetCurrentDirectory())) + "\\config.json");
         Nastaveni n   = JsonConvert.DeserializeObject <Nastaveni>(txt);
         Repozitar = n.Repozitar;
         Uzivatel  = n.Uzivatel;
     }catch (Exception ex)
     {
         new Logger(ex.Message).Loguj();
         // RETHROW - nepodarilo se nacist nastaveni z configu - bud chybi config, nebo tam neni nastaveni
         throw new Exception("Chyba! Nepodařilo se získat nastavení z konfiguračního souboru");
     }
 }
Exemple #5
0
        private void NactiConfig()
        {
            string config_path = Path.GetDirectoryName(Path.GetDirectoryName(Directory.GetCurrentDirectory())) + "\\config.json";

            if (System.IO.File.Exists(config_path))
            {
                var       txt = System.IO.File.ReadAllText(config_path);
                Nastaveni n   = JsonConvert.DeserializeObject <Nastaveni>(txt);
                Url   = "https://github.com/" + n.Uzivatel + "/" + n.Repozitar;
                Token = n.githubToken;
            }
            else
            {
                Url   = "https://github.com/Uzivatel/Repozitar";
                Token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
            }
        }