Exemple #1
0
        private void LoadCompetitors()
        {
            using (var connection = new SqlConnection(Constants.ConnectionString))
            {
                connection.Open();
                string        sqlSelect = "select ManufacturerArticle, copmetitorLink, copmpetitorEncoding, [PriceWithVat] from dbo.CompetitorsLinks";
                SqlCommand    command   = new SqlCommand(sqlSelect, connection);
                SqlDataReader reader    = command.ExecuteReader();

                while (reader.Read())
                {
                    string article    = reader.GetValue(0).ToString();
                    string url        = reader.GetValue(1).ToString();
                    string encoding   = reader.GetValue(2).ToString();
                    bool   isVatPrice = reader.GetValue(3).ToString() == "True";

                    var foundArticle = CompetitorArticles.Where(p => p.ManufacturerArticle == article).FirstOrDefault();
                    if (foundArticle == null)
                    {
                        foundArticle = new CompetitorArticle();
                        foundArticle.ManufacturerArticle = article;
                        foundArticle.CompetitorLinksList = new List <CompetitorData>();
                    }
                    foundArticle.CompetitorLinksList.Add(new CompetitorData {
                        Link = url, Encoding = encoding, IsVatPrice = isVatPrice
                    });
                    CompetitorArticles.Add(foundArticle);
                }
            }
        }
Exemple #2
0
        private decimal GetMinCompetitorVatPrice(CompetitorArticle competitorArticle, decimal vatRate)
        {
            decimal minCompetitorPrice = -1;

            foreach (var competitorData in competitorArticle.CompetitorLinksList)
            {
                var competitorPrice = GetCompetitorVatPrice(competitorData.Link, GetEncoding(competitorData.Encoding), competitorData.IsVatPrice, vatRate);
                if (competitorPrice > -1 &&
                    (minCompetitorPrice == -1 || minCompetitorPrice > competitorPrice))
                {
                    minCompetitorPrice = competitorPrice;
                }
            }
            return(minCompetitorPrice);
        }