Esempio n. 1
0
        public void parseXml(Stream stream)
        {
            DateTime now = DateTime.Now;

            houses = new List <HouseName>();
            plants = new List <PlantName>();
            dates  = new Dictionary <int, DateTemp>();

            stream.Position = 0;
            XDocument xml = XDocument.Load(stream);

            foreach (XElement el in xml.Root.Element("houses").Elements("house"))
            {
                var house = new HouseName {
                    name = el.Attribute("Name").Value
                };
                houses.Add(house);
                foreach (XElement element in el.Elements())
                {
                    DateTemp dateTemp = new DateTemp {
                        dateTime    = getDate(element),
                        temperature = getDouble(element, "Weather")
                    };
                    TimeSpan span = (dateTemp.dateTime - DateTemp.zeroCountDateTime);
                    dateTemp.daysNumber = span.Days;
                    HouseDetail houseDetail = new HouseDetail {
                        localDateTemp    = now,
                        userName         = getUserName(),
                        daysNumber       = dateTemp.daysNumber,
                        consumptionHouse = getDouble(element, "Consumption")
                    };
                    if (!dates.ContainsKey(span.Days))
                    {
                        dates.Add(span.Days, dateTemp);
                    }
                    house.listHouseDetails.Add(houseDetail);
                }
            }

            foreach (XElement el in xml.Root.Elements("plants").Elements())
            {
                PlantName plant = new PlantName {
                    name = el.Attribute("Name").Value
                };
                plants.Add(plant);
                foreach (XElement element in el.Elements())
                {
                    TimeSpan    span        = getDate(element) - DateTemp.zeroCountDateTime;
                    PlantDetail plantDetail = new PlantDetail {
                        localDateTemp    = now,
                        userName         = getUserName(),
                        daysNumber       = span.Days,
                        price            = getDouble(element, "Price"),
                        consumptionPlant = getDouble(element, "Consumption")
                    };
                    plant.listPlantDetails.Add(plantDetail);
                }
            }
            saveToDb();
        }
Esempio n. 2
0
        public static void initial(AppDbContent content)
        {
            if (!content.houseNames.Any())
            {
                content.houseNames.AddRange(getHouseNames.Select(h => h.Value));
            }
            if (!content.plantNames.Any())
            {
                content.plantNames.AddRange(getPlantNames.Select(p => p.Value));
            }

            DateTemp dateTemp = new DateTemp {
                daysNumber  = 16435,
                dateTime    = DateTime.ParseExact("2014-12-31T00:00:00", "yyyy-MM-ddTHH:mm:ss", System.Globalization.CultureInfo.InvariantCulture),
                temperature = -9
            };

            if (!content.dateTemps.Any())
            {
                content.dateTemps.AddRange(dateTemp);
            }

            if (!content.houseDetails.Any())
            {
                content.houseDetails.AddRange(
                    new HouseDetail {
                    daysNumber = 16435,
                    houseName  = getHouseNames["Жилой дом 1"],
                    //localDateTemp = dateTemp,
                    consumptionHouse = 16144
                });
            }
            if (!content.plantDetails.Any())
            {
                content.plantDetails.AddRange(
                    new PlantDetail {
                    daysNumber = 16435,
                    plantName  = getPlantNames["Кирпичный завод 1"],
                    //localDateTemp = dateTemp,
                    price            = 1983.3,
                    consumptionPlant = 1990545.2
                });
            }

            content.SaveChanges();
        }