public List<string> GetSpecialCases(int number)
        {
            Log4netWrapper.Debug("Special Cases Sequence started for : " + number);

            List<string> strList = new List<string>();

            for (int i = 0; i <= number; i++)
            {
                if (IsMultipleofThreeAndFive(i))
                {
                    strList.Add("Z");
                }
                else if (IsMultipleofFive(i))
                {
                    strList.Add("E");
                }
                else if (IsMultipleofThree(i))
                {
                    strList.Add("C");
                }
                else
                {
                    strList.Add(i.ToString());
                }
            }

            Log4netWrapper.Debug("Special Cases Sequence finished for : " + number);

            return strList;
        }
        public string GetWebResponse(string p_URL)
        {
            try
            {
                //If URL is empty then don't proceed and throw exception
                if (string.IsNullOrEmpty(p_URL))
                {
                    throw new ArgumentNullException(Constants.ExceptionParams.URL, Constants.ErrorMessages.HttpManager_URL_MSG);
                }

                HttpWebRequest l_Request = (HttpWebRequest)WebRequest.Create(p_URL);

                using (HttpWebResponse l_Response = (HttpWebResponse)l_Request.GetResponse())
                {
                    using (Stream l_Stream = l_Response.GetResponseStream())
                    {
                        using (StreamReader l_Reader = new StreamReader(l_Stream))
                        {
                            return(l_Reader.ReadToEnd());
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Log4netWrapper.Error(e);
                throw e;
            }
        }
示例#3
0
        public ActionResult Parser(string siteURL, string keyword)
        {
            try
            {
                //Storing params to ViewBag to send them back for the view
                ViewBag.keyword = keyword;
                ViewBag.siteURL = siteURL;

                //If params are empty then return 0
                if (string.IsNullOrEmpty(siteURL) || string.IsNullOrEmpty(keyword))
                {
                    ViewBag.Results = "0";
                }
                else
                {
                    // Calling parser method for processing
                    List <SearchRecord> searchRecords = _Parser.FindTopPosition(siteURL, keyword, Constants.SEARCHPARAMS.MAX_TOP_POSTIONS);

                    //If get records then concat the positions else return 0
                    if (searchRecords != null && searchRecords.Count > 0)
                    {
                        string l_Results = string.Empty;

                        foreach (SearchRecord record in searchRecords)
                        {
                            l_Results = string.IsNullOrEmpty(l_Results) ? record.Position.ToString() : (l_Results + "," + record.Position);
                        }

                        ViewBag.Results = l_Results;
                    }
                    else
                    {
                        ViewBag.Results = "0";
                    }
                }
            }
            catch (Exception e)
            {
                /*
                 * In case of exception like network issue
                 *  Log exception
                 *  Return 0
                 *  Return Error Message
                 * NOTE Currently return system error messages
                 */

                Log4netWrapper.Error(e);

                ViewBag.Results = "0";
                ViewBag.Message = e.Message;
            }

            return(View());
        }
示例#4
0
        public void LogSomething()
        {
            Log4netSetup.Setup();
            Log4netWrapper log = new Log4netWrapper();

            try
            {
                this.Exception();
            }
            catch (Exception ex)
            {
                log.Error("Test exception.", ex);
            }
        }
        public List<int> GetAllNumbers(int number)
        {
            Log4netWrapper.Debug("Even Number Sequence started for : " + number);

            List<int> numList = new List<int>();

            for (int i = 0; i <= number; i++)
            {
                numList.Add(i);
                Log4netWrapper.Debug("Even Number Sequence for : " + number + " - " + i);
            }

            Log4netWrapper.Debug("Odd Number Sequence finished for : " + number);

            return numList;
        }
示例#6
0
        public List <SearchRecord> FindTopPosition(string p_SiteURL, string p_Keyword, int p_MaxRecords)
        {
            string l_Url = ParserUrl(Constants.SEARCHPARAMS.GOOGLE_SEARCH_URL, p_Keyword, p_MaxRecords);

            Log4netWrapper.Debug("Complete google Search URL with params : " + l_Url);

            string l_WebResponse = _NetworkManager.GetWebResponse(l_Url);

            if (!string.IsNullOrEmpty(l_WebResponse))
            {
                Log4netWrapper.Debug("Web response found for : " + l_Url);

                return(ParseResults(l_WebResponse, p_SiteURL));
            }
            else
            {
                Log4netWrapper.Debug("Web response not found for : " + l_Url);
                return(null);
            }
        }
示例#7
0
        private List <SearchRecord> ParseResults(string p_WebResponse, string p_SiteURL)
        {
            int l_SitePosition = 1;
            List <SearchRecord> l_SearchRecords = new List <SearchRecord>();

            //Get DIV level tags from html
            foreach (Match l_GroupMatch in Regex.Matches(p_WebResponse, Constants.REGEX.DIV_REGEX))
            {
                if (l_GroupMatch != null && l_GroupMatch.Groups.Count > 0)
                {
                    //Get H3 level tags from html
                    foreach (Match l_ResultMatch in Regex.Matches(l_GroupMatch.Groups[Constants.RegexIndex.GROUP].Value, Constants.REGEX.H3_REGEX))
                    {
                        if (l_ResultMatch != null && l_ResultMatch.Groups.Count > 0)
                        {
                            //Get A level tags from html
                            MatchCollection l_LinktMatchs = Regex.Matches(l_ResultMatch.Groups[Constants.RegexIndex.GROUP].Value, Constants.REGEX.ATAG_REGEX);

                            if (l_LinktMatchs.Count > 0 && l_LinktMatchs[Constants.RegexIndex.VALUE].Groups.Count > 0)
                            {
                                if (l_LinktMatchs[Constants.RegexIndex.VALUE].Value.Contains(p_SiteURL))
                                {
                                    Log4netWrapper.Debug(string.Format("Site link [ {0} ] found in URL [ {1} ]", p_SiteURL, l_LinktMatchs[Constants.RegexIndex.VALUE].Value));

                                    SearchRecord l_MatchRecord = new SearchRecord();

                                    l_MatchRecord.URLDetails = l_LinktMatchs[Constants.RegexIndex.VALUE].Value;
                                    l_MatchRecord.Position   = l_SitePosition;

                                    l_SearchRecords.Add(l_MatchRecord);
                                }
                            }
                        }
                    }
                }

                l_SitePosition++;
            }

            return(l_SearchRecords);
        }
        public ActionResult NumericSequencer(string sequenceNumber)
        {
            try
            {
                //Storing params to ViewBag to send them back for the view
                ViewBag.sequenceNumber = sequenceNumber;

                //If param is null or empty then return default view
                if (string.IsNullOrEmpty(sequenceNumber))
                {
                    return(View());
                }

                //If params < 0 then show message
                if (int.Parse(sequenceNumber) < 0)
                {
                    ViewBag.Message = "Please enter whole number";
                    ViewBag.Results = "0";
                }
                else
                {
                    int sequenceNum = int.Parse(sequenceNumber);

                    NumericSequenceGen numericSequenceGen = new NumericSequenceGen();

                    ViewBag.OddNumbersequence     = numericSequenceGen.GetOddNumbers(sequenceNum);
                    ViewBag.EvenNumbersequence    = numericSequenceGen.GetEvenNumbers(sequenceNum);
                    ViewBag.AllNumbersequence     = numericSequenceGen.GetAllNumbers(sequenceNum);
                    ViewBag.SpecialNumbersequence = numericSequenceGen.GetSpecialCases(sequenceNum);
                }
            }
            catch (Exception e)
            {
                Log4netWrapper.Error(e);

                ViewBag.Results = "0";
                ViewBag.Message = e.Message;
            }

            return(View());
        }