Пример #1
0
        public void Update(CropCycle cropCycle)
        {
            CropName   = cropCycle.CropTypeName;
            BoxName    = cropCycle.Location.Name;
            IconLetter = CropName.Substring(0, 1);
            CropViewModel.Update(cropCycle);

            IsAlerted = cropCycle.Location.Devices.SelectMany(s => s.Sensors).Any(s => s.Alarmed);

            _cropViewModel.Update(cropCycle);
        }
Пример #2
0
        static private void CreateTableFromSoil(Soil MySoil, DataTable Data, string ChildPath, ref int Row)
        {
            int NumLayers = MySoil.Thickness.Length;

            DataTableUtility.AddValue(Data, "Name", ChildPath, Row, NumLayers);
            DataTableUtility.AddValue(Data, "State", MySoil.State, Row, NumLayers);
            DataTableUtility.AddValue(Data, "Region", MySoil.Region, Row, NumLayers);
            DataTableUtility.AddValue(Data, "NearestTown", MySoil.NearestTown, Row, NumLayers);
            DataTableUtility.AddValue(Data, "Site", MySoil.Site, Row, NumLayers);
            DataTableUtility.AddValue(Data, "APSoilNumber", MySoil.ApsoilNumber, Row, NumLayers);
            DataTableUtility.AddValue(Data, "Classification", MySoil.Classification, Row, NumLayers);
            DataTableUtility.AddValue(Data, "Latitude(WGS84)", MySoil.Latitude, Row, NumLayers);
            DataTableUtility.AddValue(Data, "Longitude(WGS84)", MySoil.Longitude, Row, NumLayers);
            DataTableUtility.AddValue(Data, "LocationAccuracy", MySoil.LocationAccuracy, Row, NumLayers);
            DataTableUtility.AddValue(Data, "DataSource", MySoil.DataSource, Row, NumLayers);
            DataTableUtility.AddValue(Data, "Comments", MySoil.Comment, Row, NumLayers);
            DataTableUtility.AddValue(Data, "NaturalVegetation", MySoil.NaturalVegetation, Row, NumLayers);

            DataTableUtility.AddColumn(Data, "Thickness", MySoil.Thickness, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "BD", MySoil.BD, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "Rocks", MySoil.Rocks, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "Texture", MySoil.Texture, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "SAT", MySoil.SAT, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "DUL", MySoil.DUL, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "LL15", MySoil.LL15, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "Airdry", MySoil.Airdry, Row, NumLayers);

            string[] CropOrder = { "wheat",    "barley",    "oats",    "canola",          "chickpea", "cotton",
                                   "sorghum",  "lentil",    "lupin",   "fieldpea",        "mungbean", "sunflower",
                                   "fababean", "lucerne",   "maize",   "perennial grass", "cowpea",   "navybean",
                                   "peanut",   "pigeonpea", "soybean", "stylo",           "sugar",    "lablab",
                                   "millet",   "triticale", "weed",    "medic" };
            for (int i = 0; i != 7; i++)
            {
                AddCropColumn(Data, CropOrder[i], MySoil, Row, NumLayers);
            }

            DataTableUtility.AddValue(Data, "SummerU", MySoil.SummerU, Row, NumLayers);
            DataTableUtility.AddValue(Data, "SummerCona", MySoil.SummerCona, Row, NumLayers);
            DataTableUtility.AddValue(Data, "WinterU", MySoil.WinterU, Row, NumLayers);
            DataTableUtility.AddValue(Data, "WinterCona", MySoil.WinterCona, Row, NumLayers);
            DataTableUtility.AddValue(Data, "SummerDate", "=\"" + MySoil.SummerDate + "\"", Row, NumLayers);
            DataTableUtility.AddValue(Data, "WinterDate", "=\"" + MySoil.WinterDate + "\"", Row, NumLayers);
            DataTableUtility.AddValue(Data, "U", MySoil.U, Row, NumLayers);
            DataTableUtility.AddValue(Data, "Cona", MySoil.Cona, Row, NumLayers);
            DataTableUtility.AddValue(Data, "Salb", MySoil.Salb, Row, NumLayers);
            DataTableUtility.AddValue(Data, "DiffusConst", MySoil.DiffusConst, Row, NumLayers);
            DataTableUtility.AddValue(Data, "DiffusSlope", MySoil.DiffusSlope, Row, NumLayers);
            DataTableUtility.AddValue(Data, "CN2Bare", MySoil.CN2Bare, Row, NumLayers);
            DataTableUtility.AddValue(Data, "CNRed", MySoil.CNRed, Row, NumLayers);
            DataTableUtility.AddValue(Data, "CNCov", MySoil.CNCov, Row, NumLayers);
            DataTableUtility.AddValue(Data, "RootCN", MySoil.RootCN, Row, NumLayers);
            DataTableUtility.AddValue(Data, "RootWT", MySoil.RootWT, Row, NumLayers);
            DataTableUtility.AddValue(Data, "SoilCN", MySoil.SoilCN, Row, NumLayers);
            DataTableUtility.AddValue(Data, "EnrACoeff", MySoil.EnrACoeff, Row, NumLayers);
            DataTableUtility.AddValue(Data, "EnrBCoeff", MySoil.EnrBCoeff, Row, NumLayers);

            DataTableUtility.AddColumn(Data, "SWCON", MySoil.SWCON, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "MWCON", MySoil.MWCON, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "FBIOM", MySoil.FBIOM, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "FINERT", MySoil.FINERT, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "KS", MySoil.KS, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "OC", MySoil.OC, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "EC", MySoil.EC, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "PH", MySoil.PH, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "CL", MySoil.CL, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "Boron", MySoil.Boron, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "CEC", MySoil.CEC, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "Ca", MySoil.Ca, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "Mg", MySoil.Mg, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "Na", MySoil.Na, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "K", MySoil.K, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "ESP", MySoil.ESP, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "Mn", MySoil.Mn, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "Al", MySoil.Al, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "ParticleSizeSand", MySoil.ParticleSizeSand, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "ParticleSizeSilt", MySoil.ParticleSizeSilt, Row, NumLayers);
            DataTableUtility.AddColumn(Data, "ParticleSizeClay", MySoil.ParticleSizeClay, Row, NumLayers);

            for (int i = 7; i != CropOrder.Length; i++)
            {
                AddCropColumn(Data, CropOrder[i], MySoil, Row, NumLayers);
            }

            // Add other crops not in our list above.
            foreach (string CropName in MySoil.CropsMeasured)
            {
                if (Array.IndexOf(CropOrder, CropName.ToLower()) == -1)
                {
                    AddCropColumn(Data, CropName, MySoil, Row, NumLayers);
                }
            }

            Row += NumLayers;
        }