コード例 #1
0
        public JsonResult GetFutureAndPast()
        {
            DateTime present       = DateTime.Now;
            DateTime EndDate       = DateTime.Now.AddDays(5);
            var      forecastCards = db.ForecastCards.Where(x =>
                                                            x.DateTime.Day != present.Day &&
                                                            x.DateTime >= present &&
                                                            x.DateTime <= EndDate)
                                     .ToList()
                                     .Select(card => new JsonCard(card))
                                     .ToList();

            EndDate = DateTime.Now.AddDays(-5);
            var historyCards = db.HistoryCards.Where(x =>
                                                     x.DateTime.Day != present.Day &&
                                                     x.DateTime <= present &&
                                                     x.DateTime > EndDate)
                               .ToList()
                               .Select(card => new JsonCard(card))
                               .ToList();
            PackageFutureAndPast package = LogicGetFutureAndPast.CreateEachDayCards(forecastCards, historyCards);

            Response.AppendHeader("Access-Control-Allow-Origin", "*");
            return(Json(package, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public void CheckPackageFutureAndPast(PackageFutureAndPast package, PackageFutureAndPast packageFutureAndPast)
        {
            int count = package.Future.Count;

            for (int i = 0; i < count; i++)
            {
                JsonCard cardFirst  = package.Future[i];
                JsonCard cardSecond = packageFutureAndPast.Future[i];
                Assert.AreEqual(cardFirst.Temperature, cardSecond.Temperature);
                Assert.AreEqual(cardFirst.Humidity, cardSecond.Humidity);
                Assert.AreEqual(cardFirst.Date, cardSecond.Date);
                Assert.AreEqual(cardFirst.WindDirection, cardSecond.WindDirection);
                Assert.AreEqual(cardFirst.Description, cardSecond.Description);
            }
            count = package.Past.Count;
            for (int i = 0; i < count; i++)
            {
                JsonCard cardFirst  = package.Past[i];
                JsonCard cardSecond = packageFutureAndPast.Past[i];
                Assert.AreEqual(cardFirst.Temperature, cardSecond.Temperature);
                Assert.AreEqual(cardFirst.Humidity, cardSecond.Humidity);
                Assert.AreEqual(cardFirst.Date, cardSecond.Date);
                Assert.AreEqual(cardFirst.WindDirection, cardSecond.WindDirection);
                Assert.AreEqual(cardFirst.Description, cardSecond.Description);
            }
        }
コード例 #3
0
        public static PackageFutureAndPast CreateEachDayCards(List <JsonCard> forecastCards, List <JsonCard> historyCards)
        {
            PackageFutureAndPast package             = new PackageFutureAndPast();
            int             countDays                = 5;
            DateTime        present                  = DateTime.Now;
            List <JsonCard> listOfFutureAndPastCards = new List <JsonCard>();

            listOfFutureAndPastCards = forecastCards.Concat(historyCards).ToList();
            for (var counter = 0; counter < countDays; counter++)
            {
                JsonCard card = CreateDayCard(listOfFutureAndPastCards.Where(x =>
                                                                             x.Date == (present.AddDays(counter + 1).Day + "." + present.Month))
                                              .ToList());
                if (card != null)
                {
                    package.Future.Add(card);
                }
                card = CreateDayCard(listOfFutureAndPastCards.Where(x =>
                                                                    x.Date == (present.AddDays(-counter - 1).Day + "." + present.Month))
                                     .ToList());
                if (card != null)
                {
                    package.Past.Add(card);
                }
            }
            return(package);
        }
コード例 #4
0
        public void CreateEachDayCards_CorrectData()
        {
            List <JsonCard> forecastCards = new List <JsonCard>();
            List <JsonCard> historyCards  = new List <JsonCard>();

            historyCards.Add(new JsonCard()
            {
                Date = "14.11", Temperature = 13, Humidity = 80f, Description = "-", WindDirection = "WE"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "14.11", Temperature = 13, Humidity = 75, Description = "-", WindDirection = "E"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "14.11", Temperature = 14, Humidity = 73f, Description = "-", WindDirection = "E"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "14.11", Temperature = 15, Humidity = 75f, Description = "-", WindDirection = "NE"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "14.11", Temperature = 15, Humidity = 75f, Description = "-", WindDirection = "NE"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "14.11", Temperature = 14, Humidity = 70f, Description = "-", WindDirection = "NE"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "14.11", Temperature = 13, Humidity = 84.33f, Description = "-", WindDirection = "WE"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "14.11", Temperature = 13, Humidity = 84.33f, Description = "-", WindDirection = "WE"
            });

            historyCards.Add(new JsonCard()
            {
                Date = "16.11", Temperature = 15, Humidity = 80f, Description = "-", WindDirection = "WE"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "16.11", Temperature = 14, Humidity = 75, Description = "-", WindDirection = "E"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "16.11", Temperature = 16, Humidity = 73f, Description = "-", WindDirection = "E"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "16.11", Temperature = 16, Humidity = 75f, Description = "-", WindDirection = "E"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "16.11", Temperature = 15, Humidity = 75f, Description = "-", WindDirection = "E"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "16.11", Temperature = 14, Humidity = 70f, Description = "-", WindDirection = "NE"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "16.11", Temperature = 13, Humidity = 84.33f, Description = "-", WindDirection = "WE"
            });
            historyCards.Add(new JsonCard()
            {
                Date = "16.11", Temperature = 13, Humidity = 82f, Description = "-", WindDirection = "WE"
            });
            PackageFutureAndPast package = new PackageFutureAndPast();

            package.Future.Add(new JsonCard()
            {
                Date = "16.11", Temperature = 14, Humidity = 77.08f, Description = "-", WindDirection = "NE"
            });
            package.Past.Add(new JsonCard()
            {
                Date = "14.11", Temperature = 13, Humidity = 76.79f, Description = "-", WindDirection = "E"
            });
            PackageFutureAndPast packageFutureAndPast = LogicGetFutureAndPast.CreateEachDayCards(forecastCards, historyCards);

            CheckCountPackage(package, packageFutureAndPast);
            CheckPackageFutureAndPast(package, packageFutureAndPast);
        }
コード例 #5
0
 public void CheckCountPackage(PackageFutureAndPast package, PackageFutureAndPast packageFutureAndPast)
 {
     Assert.AreEqual(package.Future.Count, packageFutureAndPast.Future.Count);
     Assert.AreEqual(package.Past.Count, packageFutureAndPast.Past.Count);
 }