示例#1
0
        public bool WriteLinks(IList <string> links)
        {
            try
            {
                var dao  = new LinksDao();
                var path = @"links.csv";
                if (!System.IO.File.Exists(path))
                {
                    // Create a file to write to.
                    System.IO.File.WriteAllLines(path, links);
                }
                else
                {
                    System.IO.File.AppendAllLines(path, links);
                }

                foreach (var link in links)
                {
                    dao.Add(new Link(link));
                }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
示例#2
0
        public IList <string> ReadLinksFromDB()
        {
            var            dao   = new LinksDao();
            IList <string> links = dao.GetUnreadedLinks();

            return(links);
        }
        public static List <Links> getLinksFromDB()
        {
            String username = Security.getUsername();

            LinksDao dataLayer = new LinksDao();

            List <Links> userLinks = dataLayer.getUserLinks(username);

            SessionVariableManager.setLinks(userLinks);
            return(userLinks);
        }
    //get nav links from db
    private void getNavLinks()
    {
        String username = Security.getUserName();


        List <UserLink> links = LinksDao.getUserLinks(username);

        foreach (UserLink link in links)
        {
            writeNavLink(link);
        }
    }
示例#5
0
    //this method checks that a user has access to the current url. If not, redirects to the index.aspx page
    public static void checkUrl()
    {
        String username = Security.getUserName();

        //get the current url
        char[] remove     = { '/' }; //used to remove leading / from path to math values stored in db
        String currentUrl = HttpContext.Current.Request.CurrentExecutionFilePath.TrimStart(remove);

        //get allowed links
        List <UserLink> links = LinksDao.getUserLinks(username);
        //check if this link is in list
        int allowed = links.FindIndex(f => f.getPath() == currentUrl);

        //kick user if trying to access unallowed link
        if (allowed < 0)
        {
            HttpContext.Current.Response.Redirect("~/index.aspx");
        }
    }
示例#6
0
        static void Main(string[] args)
        {
            while (true)
            {
                IReaderController     reader           = new ReaderController();
                IWebScannerController scaner           = new WebScannerController();
                IWriterController     writerController = new WriterController();

                var db = new MainContext();

                var savedLinks = reader.ReadLinksFromDB(); // reader.ReadLinks();
                var linkDao    = new LinksDao();
                foreach (var savedLink in savedLinks)
                {
                    Console.WriteLine(savedLink);

                    var links = scaner.FindLinks(savedLink, savedLink);


                    writerController.WriteLinks(links);

                    //TODO - Read new links

                    //TODO Mails
                    var mails = scaner.FindMails(savedLink, savedLink);
                    writerController.WriteEmails(mails);

                    foreach (var link in links)
                    {
                        mails = scaner.FindMails(link, "");
                        writerController.WriteEmails(mails);
                    }


                    ////TODO H1
                    var h1Texts = scaner.FindH1(savedLink, savedLink);
                    writerController.WriteH1(h1Texts, savedLink);

                    //foreach (var link in links)
                    //{
                    //    h1Texts = scaner.FindH1(link, "");
                    //    writerController.WriteH1(mails);
                    //}

                    //Save Link as Scanned
                    var scannedLink = new Link(savedLink, true);
                    linkDao.SetScanned(scannedLink, true);
                }


                //var links = scaner.FindLinks("https://www.xo.gr/dir-az/A/Antallaktika-Aftokiniton-Eidi-kai-Axesouar/", "https://www.xo.gr");


                //writerController.WriteLinks(links);

                ////TODO - Read new links

                ////TODO Mails
                //var mails = scaner.FindMails("https://www.xo.gr/dir-az/A/Antallaktika-Aftokiniton-Eidi-kai-Axesouar/", "https://www.xo.gr");
                //writerController.WriteEmails(mails);

                //foreach(var link in links)
                //{
                //    mails = scaner.FindMails(link, "");
                //    writerController.WriteEmails(mails);
                //}
            }
        }